Recientemente abierto por Facebook, Mariana Trench (MT) tiene como objetivo ayudar a los desarrolladores a identificar y prevenir errores de seguridad y privacidad en las aplicaciones de Android y Java.
MT está diseñado para poder escanear grandes bases de código móviles y señalar problemas potenciales en las solicitudes de extracción antes de que entren en producción. Se creó como resultado de una estrecha colaboración entre los ingenieros de seguridad y de software de Facebook, quienes capacitan a MT para mirar el código y analizar cómo fluyen los datos a través de él.
La idea clave detrás de Mariana Trench es que muchos problemas de privacidad y vulnerabilidades pueden modelarse como problemas de flujo de datos, es decir, datos que llegan a lugares donde no deberían ir. Este enfoque es compartido por otras herramientas desarrolladas en Facebook como Zoncolan y Pysa , que se enfocan en aplicaciones Hack y Python.
Un flujo de datos en MT se describe mediante una fuente y un sumidero. Una base de código puede tener muchas de estas fuentes y sumideros y MT puede encontrar posibles rutas desde una fuente hasta su sumidero correspondiente utilizando una técnica de análisis estático conocida como interpretación abstracta . Para usar MT, los ingenieros especifican dónde ingresan los datos confidenciales al sistema, por ejemplo, el sistema de archivos, y dónde no deben ir, por ejemplo, un archivo de registro, una API, etc. Este proceso también requerirá algunos ajustes. como una revisión exhaustiva de todos los problemas identificados, incluido un número potencialmente elevado de falsos positivos.
Al usar MT en Facebook, damos prioridad a encontrar más problemas potenciales, incluso si eso significa mostrar más falsos positivos. Esto se debe a que nos preocupamos por los casos extremos: flujos de datos que son teóricamente posibles y explotables, pero que rara vez ocurren en la producción.
Este triaje eventualmente conducirá a la identificación de un conjunto de reglas que se pueden ejecutar en cada RP.
Un papel importante en este proceso lo desempeña la revisión y el análisis de resultados, que se facilita con el Post Procesador de análisis estático de Facebook (SAPP), otra herramienta de código abierto de Facebook que puede interpretar la salida sin procesar de MT y mostrar cómo pueden pasar los datos desde una fuente a un fregadero. La siguiente imagen muestra cómo puede verse un rastreo de SAPP:
En el ejemplo anterior, Mariana Trench encontró una ejecución remota de código MainActivity.onCreatecon datos provenientes del Activity.getIntentconstructor de ProcessBuilder.
Mariana Trench está disponible en GitHub y en PyPI . Como se mencionó, MT se puede ejecutar en cualquier repositorio de Java y no está restringido solo a las aplicaciones de Android.
[Fuente]: infoq.com
Trench, M.( 3 de Octubre de 2021). Imagen de vulnerabilidad .[Fotografía]. Recuperado de facebook.com
Anónimo.( 3 de Octubre de 2021). Facebook.[Fotografía]. Recuperado de freepik.com