Seguridad en aplicaciones Web con Flash
En numerosas ocasiones, al revisar la seguridad de una página Web nos encontramos con que la misma dispone de una parte programada en tecnología Flash para animar el contenido y aprovechar toda la potencia multimedia que proporciona.
Flash utiliza ActionScript como lenguaje de programación. ActionScript es un lenguaje de programación orientado a objetos en formato script muy parecido a Javascript y, por ello, presenta algunos patrones de implementación que producen fallos de seguridad provocando que vulnerabilidades como XSS basado en DOM puedan estar presentes en animaciones mal diseñadas.
Las aplicaciones en Flash tienen la extensión SWF y son llamadas de forma embebida dentro del propio código HTML de la página Web tal y como se muestra a continuación:…
<param name="movie" value="flash/main.swf"/>
<param name="quality" value="high"/>
<param name="main" value="movieurl=http://www.hacktimes.com/flash/">
…
Las animaciones en Flash pueden ser decompiladas para poder analizar su código y estudiar de qué forma están programadas. El decompilador libre más conocido es Flare con versiones para Windows, Linux y hasta Mac OS X pero sirve cualquier otro.
Caso Práctico
Para decompilar el fichero Flash es necesario descargarlo al equipo desde el que estamos realizando la revisión. Mediante el código fuente de una página Web con Flash buscamos el nombre del archivo .swf:
en la web de hacktimes.com analizada encontramos la siguiente línea:param name="movie" value="main.swf"
para descargar el archivo con firefox es tan sencillo como poner junto a la dirección de la página Web analizada el nombre del archivo swf encontrado:
http://www.hacktimes.com/main.swf
y luego ir al menú "Archivo" y "Guardar Como..."
Una vez que disponemos del fichero Flash, para analizarlo basta utilizar el software decompilador de Flash que más nos guste (Flare, SWF Decompiler, etc.) y obtener el archivo .fla que es el código fuente de la aplicación Flash. En este fichero .Fla es donde se pueden buscar vulnerabilidades como, por ejemplo, errores de Cross Site Scripting (XSS), nombres de usuario y contraseñas en aquellas aplicaciones con formularios, llamadas a bases de datos, etc.
SWFScan 1.0
Recientemente, Hewlett-Packard, nos quiere facilitar un poco la tarea de revisar la seguridad de aquellas aplicaciones con Flash del lado cliente y ha publicado la herramienta gratuita SWFScan para Windows que soporta Flash 9 y 10, ActionScript 3 y Flex.
SWFScan decompila los scripts de ActionScript y realiza un análisis estático, identificando más de 60 posibles vulnerabilidades tales como fugas de datos y XSS, entre otros. Al detectar una vulnerabilidad, muestra la línea de código en cuestión, sugiere qué cambios hacer, y presenta un reporte con las vulnerabilidades encontradas.
Desde Hacktimes.com hemos probado su funcionamiento: una vez arrancado el programa se introduce la URL que queremos analizar en la barra de direcciones al igual que haríamos con cualquier navegador Web o, si nos hemos descargado ya directamente el archivo .swf, le tenemos que indicar la ruta (path) en donde lo hemos dejado. En nuestro ejemplo:
http://www.hacktimes.com/main.swf
Pulsamos el botón GET y pasados unos segundos en función de lo grande que sea el fichero obtenemos los fotogramas y el código fuente de la animación Flash y ya sólo nos falta ir a la opción ANALYZE para que el programa busque entre las 60 vulnerabilidades que tiene reportadas si existe alguna de ellas.

Fig 1. Archivo SWF decompilado

Fig 2. Archivo SWF analizado
En nuestro ejemplo, en la web de hacktimes.com, se han encontrado 3 vulnerabilidades que la herramienta detalla y explica cómo corregir pero en diferentes páginas revisadas después de buscar por google (filetype:swf) el resultado ha sido muy diverso encontrando fallos de criticidad alta, media y baja.

Fig 3. Listado de las más de 60 vulnerabilidades que la herramienta comprueba

Fig 4. Página analizada donde se han encontrado multitud de vulnerabilidades
La configuración de SWFScan 1.0 se limita a utilizar un proxy, seleccionar qué vulnerabilidades queremos revisar (por defecto todas) y las exclusiones de ActionScript v2 y v3 que queremos activar. Además, genera informes en formato HTML muy simples de interpretar.
Más información:
http://www.adobe.com/devnet/flashplayer/articles/secure_swf_apps.html
http://www.owasp.org/index.php/Category:OWASP_Flash_Security_Project
http://www.hp.com/go/swfscan
http://www.nowrap.de/flare.html


Comentarios
Descubierta nueva vulnerabilidad que explota la forma en la que los navegadores utilizan Flas y que hasta el momento, no tiene solución: http://www.darkreading.com/security/showArticle.jhtml?articleID=221700036
Añadir comentario