Noticias
Extensiones de Firefox contienen vulnerabilidades que permiten la ejecución de malware
Algunas de las extensiones (también llamados complementos) más populares de Mozilla Firefox contienen vulnerabilidades que permiten a extensiones maliciosas ejecutar sus ataques apoyándose en los fallos de seguridad de las legítimas.
Los complementos han sido desde siempre una de las señas de identidad de este navegador, una característica que le ha permitido obtener muchas funciones extra que son realmente útiles para millones de usuarios. La naturaleza de Firefox, que prácticamente emplea la misma tecnología en Windows, Mac OS X, Linux y Android, permite su uso incluso en un smartphones, algo que le da un gran potencial a este navegador. Sin embargo, el aparente “juego de todo vale” puesto en marcha por la fundación jamás ha estado bajo ningún análisis estricto que comprobase las posibles vulnerabilidades que pueden conllevar el uso de las extensiones, sobre todo si son de distinta procedencia, un riesgo que puede verse incrementado debido a la falta de aislamiento en las extensiones.
Según un PDF que está circulando por la red, unos investigadores han demostrado una nueva clase de extensión atacante en Firefox que explota lo que ellos llaman “vulnerabilidades en la reutilización de la extensión”. Hablando en términos más llanos, se trata de que una extensión utiliza las funcionalidades de otras para lanzar un ataque.
La vulnerabilidad explota el actual sistema de extensiones de Firefox, y particularmente el hecho de que las extensiones puedan compartir el mismo espacio de nombres que JavaScript. Mientras que Mozilla recomendó en el pasado que las extensiones usaran espacios de nombres únicos, las implicaciones de seguridad que esto conlleva no están exploradas en la mayoría de los casos. Esto básicamente quiere decir que una extensión podría leer y escribir en las variables globales definidas por otras, llamar y anular todas las funciones globales e incluso modificar objetos instanciados.
Como se puede apreciar en la imagen, la extensión M se apoya en las capacidades de dos extensiones legítimas para descargar y ejecutar código. La extensión maliciosa puede realizar estas operaciones también directamente, radicando la principal diferencia en el hecho de que estas extensiones maliciosas no pasan el proceso de revisión de Mozilla, por lo que no aparecen en la tienda de extensiones del navegador.
Los investigadores han apuntando que el apoyo en las “vulnerabilidades en la reutilización de la extensión” son difíciles de detectar, debido a que no realizan ninguna llamada directa a la API que permita el ataque. Esto hace que se necesite un considerable esfuerzo por parte de los supervisores para detectar el intento de ataque a través de malware. En otras palabras, el proceso de ataque se hace de tal manera que resulta muy difícil de detectar.
Según los investigadores, nueve de las diez extensiones de Firefox más utilizadas están afectadas por estas vulnerabilidades, entre las cuales están NoScript, Firebug, FlashGot y Web of Trust. En un análisis más profundo se ha detectado que el 72% de 351 de las 2.000 extensiones más utilizadas contiene estas “vulnerabilidades en la reutilización de la extensión”.
¿Cómo se ponen en funcionamiento estas vulnerabilidades?
Para ello el usuario tiene que instalar él mismo una extensión maliciosa y al menos otra legítima que contenga las vulnerabilidades necesarias con el fin de explotarlas. Los investigadores han demostrado que las extensiones maliciosas podrían pasar el proceso de revisión y validación de Mozilla, aumentando así las posibilidades que el usuario pueda instalarlas en su sistema.
Los investigadores han desarrollado una herramienta llamada CrossFire, que fue creada para automatizar el proceso a la hora de encontrar “vulnerabilidades en la reutilización de la extensión”, disminuyendo así las posibilidades de que el ataque pueda producirse.
Según comenta un vicepresidente de Mozilla a Ars Technica, la fundación ya está trabajando en un sandbox para las extensiones como parte de sus planes de implementación de su arquitectura multiproceso.