Seguridad en Flash Player 9

2 December, 2006 (02:42) | Alberto Gonzalez | Flash Player

Vamos a ver que trae en seguridad el Flash Player 9

Primero mencionaré que tenemos 4 formas de controlar la seguridad en el FP9.

Niveles de Seguridad

Esto indica que si un administrador restringiera el acceso a algún recurso ningún otro ajuste podría eliminar esa restricción.

Administrador

Ésta seguridad se controla por medio del archivo de configuración principal del FP9 “mms.cfg” usualmente ubicado en
C:\Windows\System32\Macromed\flash\mms.cfg (si no lo encuentran pueden crearlo)


Este archivo solo se podrá modificar con privilegios de Administrador y controla la seguridad en el cliente pero en toda la computadora. Sin importar qué usuario haya accedido, todos tendrán las mismas restricciones que tenga este archivo, tales como:

  • - Acceso a la cámara y dispositivos de audio por parte de la película
  • - Control de lectura de archivos locales y ajustes de cargar y descarga de archivos
  • - Tamaño de los archivos persistentes que se podrán o no guardar en la computadora.
  • - Actualizaciones del Flash Player
  • Ajustes de Usuario

    Definida por medio del cuadro de ajustes del FP9

    Ajustes del Flash Player

    Estos ajustes controla específicamente la seguridad en el usuario en uso y las modificamos por las famosas 4 pestañitas de nuestro Adobe Flash Player Settings:

  • - Acceso a la cámara y dispositivos de audio por parte de la película
  • - Tamaño de los archivos persistentes que se podrán o no guardar en la computadora.
  • - Actualizaciones del Flash Player
  • Ajustes de Sitio Web

    Seguridad controlada por medio de los archivos “crossdomain.xml”

    Los administradores de los sitios web pueden utilizar estos archivos para controlar el acceso a recursos en su dominio.

    Ajustes de autor

    Éstos ajustes sirven para controlar el acceso al código de la película propia y también para permitir el intercambio de datos con otras películas que no pertenezcan al mismo dominio que la película donde se encuentra…

  • - Security.allowDomain()
  • - Security.allowInsecureDomain()
  • Es importante notar que los permisos del administrador están sobre cualquier usuario en la máquina, esto es que si el administrador bloquea el acceso a la cámara web de la computadora, ningún usuario podrá desbloquearlo desde ningún lugar a menos que se modifique el archivo “mms.cfg”.

    Sandboxes

    A cualquier película que es reproducida se le asigna un “sandbox” de seguridad según el ambiente en donde se esté reproduciendo. Éste sandbox, asignado por el FlashPlayer, define el rango de datos, operaciones y recursos que pueden ser accedidos por medio de la aplicación. Dos o más películas que se estén reproduciendo bajo el mismo “sandbox” de seguridad pueden interactuar libremente.

    Para conocer que en qué tipo de sandbox se está ejecutando una aplicación por medio de ActionScript 3.0 podemos utilizar la propiedad Security.sandboxType

    El principal tipo de sandbox es el de red, que se asigna por medio del dominio en el cual se encuentra la película que estamemos visualizando. Si accedemos a otra película en otro dominio distinto entonces esa otra película se encuentra en otro sandbox y no podrá interactuar directamente con la primer película a menos que le otorguemos los permisos.

    Otro tipo de sandbox son los locales que se asignan cuando reproducimos una película localmente. Tenemos tres tipos de sandbox locales:

  • - local-with-filesystem
  • - local-with-networking
  • - local-trusted
  • Cuando reproducimos una película localmente desde la computadora, a ésta se le asigna por default el sandbox local-with-filesystem . Esto implica que puede leer libremente datos locales del equipo y escribir datos persistentes, pero NO puede acceder a cualquier recurso de red (incluyendo Internet) a menos que lo permitamos al aparecer el recuadro de seguridad de FP
    Peticion de Conexión
    y darle un clic en Ajustes.

    Hay películas locales que tienen el sandbox local-with-networking . Éste funciona a la inversa del anterior. Ahora nuestras películas podrán acceder libremente a los recursos de red (teniendo en cuenta que no podrán acceder a otros recursos que no contengan su correspondiente crossdomain.xml o Security.allowDomain() ) y no podrán acceder a recursos locales.

    Podemos cambiar el sandbox que ocupe nuestra película cuando se ejecute localmente por medio de Flash al crearla en las opciones de publicación, pestaña de flash, apartado de local playback security

    local sandbox

    desde ahí seleccionamos en qué sandbox queremos que caiga nuestra película cuando se reproduzca localmente.

    En el caso de que no tengamos el archivo fla para cambiar el sandbox de un swf local Adobe nos provee con una herramienta llamada LocalContentUpdater la cual se utiliza desde la linea de comandos indicandole a cual swf queremos que le cambie el sandbox. L a herramienta la encuentran en:
    http://www.adobe.com/support/flashplayer/downloads.html

    El último sandbox local es el local-trusted.

    local-trusted es una unión de los permisos de los otros dos locales. Puede acceder tanto a contenidos locales como a contenidos de red.

    Para indicar que una película entre en local-trusted podemos asignarlo desde dos lugares distintos

  • - Los ajustes avanzados del Flash Player (Usuario)
  • - Archivos de configuración dentro de la carpeta FlashPlayerTrust del sistema (Administrador o Usuario)
  • Ajustes del Flash Player

    Para poder visualizar los Ajustes avanzados del Flash Player , damos un clic derecho sobre cualquier película de Flash, opción Settings… esto hace que nos aparezca la ventanita de ajustes y presionamos el botón Advanced… o directamente de
    http://www.adobe.com/support/documentation/en/flashplayer/help/settings_manager.html

    Nos abrirá en nuestro navegador los ajustes que tiene nuestro Flash Player. Ahí encontramos diversas categorías pero nos interesa la de Global Security Settings . Desde esa pestaña es donde le indicamos al player que nuestro archivo lo tome dentro de local-trusted sandbox.

    smanager.png

    El administrador tiene manera de evitar que los usuarios normales de la computadora puedan registrar swf dentro del sandbox local-trusted. Se hace desde el archivo de configuración general mms.cfg

    Carpeta FlashPlayerTrust del sistema

    Ésta es una carpeta muy especial que se encuentra en el mismo directorio que el archivo de configuración mms.cfg.

    C:\Windows\system32\Macromed\Flash\FlashPlayerTrust\ (si no la encuentran hay que crearla)

    Aquí debemos colocar archivos en texto plano con cualquier nombre (recomendable nombres descriptivos terminados con la extensión cfg). Cada archivo debe contener líneas haciendo referencia a rutas donde se encuentren los swf que queremos poner dentro de un local-trust. Una ruta por línea dentro del archivo. Por ejemplo

    C:\ASConnTest.swf

    El Flash Player justo en el momento en que se inicia analiza cada uno de los archivos y su contenido, volviendo local-trusted los archivos que ahí encuentra. También podemos hacer referencia a carpetas completas. En tal caso también hará trusted los archivos que encuentre en subcarpetas de la carpeta especificada.

    Seguridad en Web

    Dos cosas importantes… por default FlashPlayer no resulve nombres de dominio, por lo tanto, para él un localhost no es lo mismo que un 127.0.0.1 . De igual manera un HTTP no es lo mismo que un HTTPS.

    Si desde una película localizada en un dominio https://dominioa.com queremos permitirla el acceso a otra que se encuentra en http://dominiob.com entonces debemos utilizar Security.allowInsecureDomain() y no solo el Security.allowDomain(), ésto se debe a que el servidor desde el cual se va a acceder al contenido no es seguro como el del contenido.

    También tenemos al famoso crossdomain.xml para permitir el acceso a las películas al contenido donde se encuentre el crossdomain.xml.

    SALUDOS :D

    Comentarios

    Comentario de Aizen
    Fecha: December 6, 2006, 7:01 am

    !wuala!, muy detallado el post, hace unas semanas atras me rompia la cabeza con estas cosas del sandbox y la seguridad, en mis experimentos con FMS2, ahora leyendo esto, se me vuelve a prender la llama para seguir haciendo cosas que se me quedaron pendientes..

    saludos.
    suerte con grupo… :-)

    Comentario de Edgar Parada
    Fecha: December 6, 2006, 1:46 pm

    No había podido revisar con calma el artículo Alberto pero ahora que lo leo me llevo gratas sorpresas :-)

    Edgar

    Pingback de NonSleep » Blog Archive » Seguridad - Flash Player 9
    Fecha: December 13, 2006, 5:35 am

    [...] Podemos ver el artículo completo aquí Seguridad - Flash Player 9 [...]

    Comentario de cruz
    Fecha: February 26, 2007, 1:19 am

    Mi problema es que no se como crear la carpeta FlashPlayerTrust. Estoy elaborando una aplicación multimedia para cd y no se como cambiar o crear la carpeta FlashPlayerTrust en la ruta que corresponda ya que cada equipo puede asignar una letra distinta a cada lector de cd. Para instalar esta carpeta en el equipo del usuario que debo de hacer?

    gracias

    Comentario de flashreloco
    Fecha: September 21, 2007, 12:00 pm

    Muy buen articulo, Felicidades muy bien explicado, hacia ya tiempo que necesitaba saber como funcionaba esto de la seguridad.

    Comentario de Eduardo A. Obregon
    Fecha: May 22, 2008, 3:48 pm

    Saludos a todos necesito syuda con lo de Flash players security pues estoy haciendo una pagina web en flash en Dreamweaver una parte la hice en flash que es el menu el menu es Dropdownmenu en flash funciona perfecto me enlaza con paginas web muy bien pero lo pongo en html y me sale el mensaje de security ya trate con crossdomain pero seguro pongo algo mal pues no me sale y no puedo resolver el problema les ruego me ayuden pues me urge mil gracias

    Escribir comentario