Analizador estático de código abierto de Facebook Mariana Trench

Facebook ha presentado un nuevo analizador estático de código abierto, Mariana Trench, destinado a identificar vulnerabilidades en aplicaciones de Android y programas Java. Es posible analizar proyectos sin códigos fuente, para los cuales sólo está disponible el código de bytes para la máquina virtual Dalvik. Otra ventaja es su altísima velocidad de ejecución (el análisis de varios millones de líneas de código tarda unos 10 segundos), lo que permite utilizar Mariana Trench para comprobar todos los cambios propuestos a medida que llegan. El código del proyecto está escrito en C++ y se distribuye bajo la licencia MIT.

El analizador fue desarrollado como parte de un proyecto para automatizar el proceso de revisión de los textos fuente de aplicaciones móviles para Facebook, Instagram y Whatsapp. En la primera mitad de 2021, la mitad de todas las vulnerabilidades en las aplicaciones móviles de Facebook se identificaron mediante herramientas de análisis automatizadas. El código de Mariana Trench está estrechamente entrelazado con otros proyectos de Facebook; por ejemplo, se utilizó el optimizador de código de bytes Redex para analizar el código de bytes y la biblioteca SPARTA se utilizó para interpretar y estudiar visualmente los resultados del análisis estático.

Las posibles vulnerabilidades y problemas de privacidad se identifican mediante el análisis de los flujos de datos durante la ejecución de la aplicación para identificar situaciones en las que los datos externos sin procesar se procesan en construcciones peligrosas, como consultas SQL, operaciones de archivos y llamadas que activan programas externos.

El trabajo del analizador se reduce a identificar fuentes de datos y llamadas peligrosas en las que no se deben utilizar los datos originales: el analizador rastrea el paso de los datos a través de la cadena de llamadas a funciones y conecta los datos originales con lugares potencialmente peligrosos en el código. . Por ejemplo, se considera que los datos recibidos a través de una llamada a Intent.getData requieren seguimiento de origen, y las llamadas a Log.w y Runtime.exec se consideran usos peligrosos.

Analizador estático de código abierto de Facebook Mariana Trench


Fuente: opennet.ru

Añadir un comentario