Xavier de Pedro
2010-Sep-16 11:27 UTC
[R-es] funciones en R potencialmente peligrosas via web?
Hola: Para el desarrollo del nuevo PluginR de Tiki (para poder ejecutar scripts de R desde Tiki: en páginas Wiki, hojas de cálculo web, etc, http://dev.tiki.org/PluginR ), por ahora estamos usando la lista de funciones que se usaban en el proyecto r-php, y que fueran heredadas por la extensión R de MediaWiki. Como r-php se hizo hace algunos años (2006), me pregunto si alguien sabe si hay alguna funcion nueva que sea "potencialmente peligrosa" en los paquetes básicos de R de versiones recientes (2.10.x, por ejemplo), y los de XML (que usamos para procesar datos de un proyecto de investigación concreto donde ya estamos usando el PluginR). La lista actual de funciones "baneadas" por omisión en los scripts de R de los usuarios de la web es: (procesado de script bloqueado hasta que un admnistrador no valide que la llamada a ese comando en una página concreta es segura) $banned = array('.C', '.Call', '.Call.graphics', '.External', '.External.graphics', '.Fortran', '.readRDS', '.saveRDS', '.Script', '.Tcl', '.Tcl.args', '.Tcl.callback', '.Tk.ID', '.Tk.newwin', '.Tk.subwin', '.Tkroot', '.Tkwin', 'basename', 'browseURL', 'bzfile', 'capture.output', 'close', 'close.screen', 'closeAllConnection', 'data.entry', 'data.restore', 'dataentry', 'de', 'dev.control', 'dev.copy2eps', 'dev.cur', 'dev.list', 'dev.next', 'dev.prev', 'dev.print', 'dev.set', 'dev2bitmap', 'dget', 'dir', 'dir.create', 'dirname', 'do.call', 'download.file', 'dput', 'dump', 'dyn.load', 'edit', 'edit.data.frame', 'emacs', 'erase.screen', 'example', 'fifo', 'file', 'file.access', 'file.append', 'file.choose', 'file.copy', 'file.create', 'file.exists', 'file.info', 'file.path', 'file.remove', 'file.rename', 'file.show', 'file.symlink', 'fix', 'getConnection', 'getwd', 'graphics.off', 'gzcon', 'gzfile', 'INSTALL', 'install.packages', 'library.dynam', 'list.files','loadhistory', 'locator', 'lookup.xport', 'make.packages.html', 'make.socket', 'menu', 'open', 'parent.frame', 'path.expand', 'pico', 'pictex', 'pipe', 'postscript', 'print.socket', 'prompt', 'promptData', 'quartz', 'R.home', 'R.version', 'read.00Index', 'read.dta', 'read.epiinfo', 'read.fwf', 'read.mtp', 'read.socket', 'read.spss', 'read.ssd', 'read.xport', 'readBin', 'readline', 'readLines', 'remove.packages', 'Rprof', 'save', 'savehistory', 'scan', 'screen', 'seek', 'setwd', 'showConnection', 'sink', 'sink.number', 'socketConnection', 'source', 'split.screen', 'stderr', 'stdin', 'stdout', 'sys.call', 'sys.calls', 'sys.frame', 'sys.frames', 'sys.function', 'Sys.getenv', 'Sys.getlocale', 'Sys.info', 'sys.nframe', 'sys.on.exit', 'sys.parent', 'sys.parents', 'Sys.putenv', 'Sys.sleep', 'Sys.source', 'sys.source', 'sys.status', 'Sys.time', 'system', 'system.file', 'tempfile', 'textConnection', 'tkpager', 'tkStartGUI', 'unlink', 'unz', 'update.packages', 'url', 'url.show', 'vi', 'write', 'write.dta', 'write.ftable', 'write.socket', 'write.table', 'writeBin', 'writeLines', 'x11', 'xedit', 'xemacs', 'xfig', 'zip.file.extract', 'readdataSK', 'png', 'jpeg', 'call', 'eval' ); Tenéis idea si se debería incluir alguna más? Xavi
Carlos J. Gil Bellosta
2010-Sep-16 13:09 UTC
[R-es] funciones en R potencialmente peligrosas via web?
Por ejemplo, get(). mi.alias.para.funcion.prohibida <- get( "funcion.prohibida") mi.alias.para.funcion.prohibida( producir, catastrofes, en, servidor ) ¡Qué peligro tendría ese servidor...! En cualquier caso, creo que permitir correr scripts irrestrictos en un servidor a cualquiera es un servicio, aparte de peligroso, relativamente inútil cuando se trata de R: ¡todo el mundo se lo puede instalar gratuitamente! Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com 2010/9/16 Xavier de Pedro <xavier.depedro en ub.edu>:> Hola: > > Para el desarrollo del nuevo PluginR de Tiki (para poder ejecutar scripts de > R desde Tiki: en páginas Wiki, hojas de cálculo web, etc, > http://dev.tiki.org/PluginR ), por ahora estamos usando la lista de > funciones que se usaban en el proyecto r-php, y que fueran heredadas por la > extensión R de MediaWiki. > > Como r-php se hizo hace algunos años (2006), me pregunto si alguien sabe si > hay alguna funcion nueva que sea "potencialmente peligrosa" en los paquetes > básicos de R de versiones recientes (2.10.x, por ejemplo), y los de XML (que > usamos para procesar datos de un proyecto de investigación concreto donde ya > estamos usando el PluginR). > > La lista actual de funciones "baneadas" por omisión en los scripts de R de > los usuarios de la web es: > (procesado de script bloqueado hasta que un admnistrador no valide que la > llamada a ese comando en una página concreta es segura) > > $banned = array('.C', '.Call', '.Call.graphics', '.External', > '.External.graphics', > '.Fortran', '.readRDS', '.saveRDS', '.Script', '.Tcl', > '.Tcl.args', '.Tcl.callback', '.Tk.ID', '.Tk.newwin', > '.Tk.subwin', > '.Tkroot', '.Tkwin', 'basename', 'browseURL', 'bzfile', > 'capture.output', 'close', 'close.screen', 'closeAllConnection', > 'data.entry', > 'data.restore', 'dataentry', 'de', 'dev.control', 'dev.copy2eps', > 'dev.cur', 'dev.list', 'dev.next', 'dev.prev', 'dev.print', > 'dev.set', 'dev2bitmap', 'dget', 'dir', 'dir.create', > 'dirname', 'do.call', 'download.file', 'dput', 'dump', > 'dyn.load', 'edit', 'edit.data.frame', 'emacs', 'erase.screen', > 'example', 'fifo', 'file', 'file.access', 'file.append', > 'file.choose', 'file.copy', 'file.create', 'file.exists', > 'file.info', > 'file.path', 'file.remove', 'file.rename', 'file.show', > 'file.symlink', > 'fix', 'getConnection', 'getwd', 'graphics.off', 'gzcon', > 'gzfile', 'INSTALL', 'install.packages', 'library.dynam', > 'list.files','loadhistory', 'locator', 'lookup.xport', > 'make.packages.html', > 'make.socket', 'menu', 'open', 'parent.frame', 'path.expand', > 'pico', 'pictex', 'pipe', > 'postscript', 'print.socket', 'prompt', 'promptData', 'quartz', > 'R.home', 'R.version', 'read.00Index', 'read.dta', > 'read.epiinfo', > 'read.fwf', 'read.mtp', 'read.socket', 'read.spss', 'read.ssd', > 'read.xport', 'readBin', 'readline', 'readLines', > 'remove.packages', > 'Rprof', 'save', 'savehistory', 'scan', 'screen', > 'seek', 'setwd', 'showConnection', 'sink', 'sink.number', > 'socketConnection', 'source', 'split.screen', 'stderr', 'stdin', > 'stdout', 'sys.call', 'sys.calls', 'sys.frame', 'sys.frames', > 'sys.function', 'Sys.getenv', 'Sys.getlocale', 'Sys.info', > 'sys.nframe', > 'sys.on.exit', 'sys.parent', 'sys.parents', 'Sys.putenv', > 'Sys.sleep', > 'Sys.source', 'sys.source', 'sys.status', 'Sys.time', 'system', > 'system.file', 'tempfile', 'textConnection', 'tkpager', > 'tkStartGUI', > 'unlink', 'unz', 'update.packages', 'url', 'url.show', > 'vi', 'write', 'write.dta', 'write.ftable', 'write.socket', > 'write.table', 'writeBin', 'writeLines', 'x11', > 'xedit', 'xemacs', 'xfig', 'zip.file.extract', > 'readdataSK', > 'png', 'jpeg', > 'call', 'eval' ); > > Tenéis idea si se debería incluir alguna más? > > Xavi > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >
miguel.angel.rodriguez.muinos en sergas.es
2010-Sep-17 05:56 UTC
[R-es] funciones en R potencialmente peligrosas via web?
Hola Xavi. Uff.. Parece complicado el asunto.... Recuerdo haber leído, hace ya mucho tiempo, por algún sitio algo sobre la "peligrosidad" de rgl.init() .. Pero no recuerdo gran cosa.. Se que está en el package rgl con lo cual no creo que tenga interés para vosotros.. Me quedé con la historia porque había un tío que tenía problemas por culpa de esa función... Creo que tenía que ver con lanzar instancias de las X y algo sobre las ventanas abiertas con rgl. ¿? ¿? Una curiosidad que me surge después de haber leído tu mensaje.... Sabes si existe por ahí algún estudio sobre los buffer overflow en R?. Sería interesante saber si alguien consiguió desarrollar un shellcode, dado que R tiene "sus cosas" con los punteros y las asignaciones de memoria, igual es un campo sobre el que se podría trabajar... Un Saludo, Miguel. -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Xavier de Pedro Enviado el: jueves, 16 de septiembre de 2010 13:28 Para: r-help-es Asunto: [R-es] funciones en R potencialmente peligrosas via web? Hola: Para el desarrollo del nuevo PluginR de Tiki (para poder ejecutar scripts de R desde Tiki: en páginas Wiki, hojas de cálculo web, etc, http://dev.tiki.org/PluginR ), por ahora estamos usando la lista de funciones que se usaban en el proyecto r-php, y que fueran heredadas por la extensión R de MediaWiki. Como r-php se hizo hace algunos años (2006), me pregunto si alguien sabe si hay alguna funcion nueva que sea "potencialmente peligrosa" en los paquetes básicos de R de versiones recientes (2.10.x, por ejemplo), y los de XML (que usamos para procesar datos de un proyecto de investigación concreto donde ya estamos usando el PluginR). Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm XACOBEO 2010: http://www.xacobeo.org
Xavier de Pedro
2010-Sep-17 11:27 UTC
[R-es] funciones en R potencialmente peligrosas via web?
Hola Miguel Angel: Al 17/09/10 07:56, En/na miguel.angel.rodriguez.muinos en sergas.es ha escrit:> Hola Xavi. > > Uff.. Parece complicado el asunto.... > Recuerdo haber leído, hace ya mucho tiempo, por algún sitio algo sobre la "peligrosidad" de rgl.init() .. Pero no recuerdo gran cosa.. Se que está en el package rgl con lo cual no creo que tenga interés para vosotros.. Me quedé con la historia porque había un tío que tenía problemas por culpa de esa función... Creo que tenía que ver con lanzar instancias de las X y algo sobre las ventanas abiertas con rgl. ¿? ¿? >Ok, gracias, me sirve. Aunque ahora mismo no tenemos previsto usar el paquete rgl, mejor prevenir que curar, así que lo añado también.> Una curiosidad que me surge después de haber leído tu mensaje.... Sabes si existe por ahí algún estudio sobre los buffer overflow en R?. Sería interesante saber si alguien consiguió desarrollar un shellcode, dado que R tiene "sus cosas" con los punteros y las asignaciones de memoria, igual es un campo sobre el que se podría trabajar... > >Lo siento, ni idea ("beyond my skills", que dicen por ahí).> Un Saludo, > Miguel. > >Gracias de nuevo Xavi