Neutron, nuestro motor de IA, obtuvo un 96.75% en el benchmark CyberGym de UC Berkeley. Más información

Ingeniería

Ingeniería

DAST (análisis dinámico): ¿cómo funciona?

Análisis dinámico

Ostorlab utiliza el análisis dinámico para evaluar aplicaciones móviles y confirmar las vulnerabilidades en tiempo de ejecución, lo que reduce drásticamente los falsos positivos.

El análisis dinámico consiste en ejecutar la aplicación en un dispositivo Android o iOS real, supervisar la interacción de la aplicación con los distintos componentes del sistema operativo y detectar comportamientos inseguros o potencialmente peligrosos.

Los dispositivos utilizados en el análisis dinámico son teléfonos y tabletas reales, equipados con diferentes versiones del sistema operativo para distintas arquitecturas.

Durante la fase de instalación, las aplicaciones iOS (.ipa) se vuelven a firmar y se instrumentan antes de instalarse; las aplicaciones Android se instalan tal cual, sin ninguna modificación.

Una vez instalada la aplicación, el motor de instrumentación se engancha a ella y comienza a interceptar una gran cantidad de llamadas a API para detectar comportamientos vulnerables, entre ellas las de criptografía, keychain, red, sistema de archivos, SQL, etc.

Un fuzzer de interfaz de usuario tipo monkey emula acciones aleatorias e intenta aumentar la cobertura de la aplicación. Al mismo tiempo, se instala otra instancia en un dispositivo distinto, donde un operador humano emula acciones complejas que requieren varios pasos o la interacción con sistemas de terceros, como la validación del registro por correo electrónico o la introducción de un código de validación recibido por SMS. El objetivo es aumentar la cobertura del código de la aplicación.

Durante la fase de análisis, se recopilan las llamadas al sistema de archivos, a la red y a las API, que se comprueban de forma pasiva en busca de vulnerabilidades, como el uso de un esquema de cifrado débil, y que también se envían a otros sistemas para realizar pruebas activas.

texto alternativo
Selection_021

Durante las pruebas activas, se recopilan y se someten a fuzzing todos los puntos de entrada de las aplicaciones, entre ellos los content providers, los broadcast receivers, los URI handlers, etc.

En esta fase también se recopilan los sistemas backend, que se escanean en busca de vulnerabilidades, entre ellas inyección SQL, inyección de comandos, XSS, etc.

Parte de los elementos recopilados se exportan en los resultados del escaneo como artefactos, por ejemplo el registro de red y las capturas de pantalla.

texto alternativo
Selection_021

Inicialmente, Ostorlab utilizaba dispositivos con jailbreak y con root para ejecutar todas sus pruebas dinámicas, algo que ha resultado innecesario y, en algunos casos, problemático. El uso de motores de instrumentación robustos y rápidos permite recopilar toda la información necesaria, pero exige compatibilidad con el hooking de las API nativas de nivel C, así como de las API específicas de cada plataforma, como JavaScript en el caso de Cordova y CLI en el caso de Xamarin.