TIPOS DE ANÁLISIS EN UNA AUDITORÍA MÓVIL

¡Buenas a todos!

Continuamos con los posts sobre auditorías móviles. En este post nos vamos a centrar en conocer brevemente cuáles son los tipos de análisis de auditorías móviles que podemos realizar sobre las aplicaciones móviles que anteriormente hemos explicado cómo instalar y cómo extraer de nuestro dispositivo.

Existen dos tipos de análisis: estático y dinámico.

ANÁLISIS ESTÁTICO

El análisis estático de una aplicación consiste en el estudio del comportamiento de esta sin necesidad de interactuar con ella. Durante este análisis se realiza una revisión del código fuente en busca de posibles vulnerabilidades como pueden ser los puntos de inserción de la aplicación (incorrecta validación de datos) o las diferentes modificaciones que puede realizar durante el proceso de ejecución.

Algunas de las cosas más relevantes que suelen ser revisadas en este apartado son:

  • Comprobar si el código está ofuscado.
  • Comprobar si la aplicación se ejecuta en un móvil rooteado y/o emulado.
  • Analizar el archivo “manifest.xml” en el cual podremos revisar los permisos de los que dispone la aplicación, comprobar si se pueden hacer copias de la app o se puede poner en modo debug entre otras cosas (sólo para Android).
  • Comprobar si existen credenciales en el código fuente de la aplicación.
  • Revisar si existen URLs o IPs expuestas en el código fuente.
  • Revisar los ficheros .plist (sólo para iOS)

Existen varias herramientas que facilitan este tipo de análisis como pueden ser jadx, Hopper, MobSF o GrapeFruit entre otras.

ANÁLISIS DINÁMICO

El análisis dinámico de una aplicación consiste en el estudio del comportamiento de esta durante su ejecución. En esta parte del análisis nos centramos en las comunicaciones que se realizan entre el cliente y servidor analizando las diferentes peticiones y respuestas en tiempo de ejecución, la modificación de ficheros, etc.

Algunas de las cosas más relevantes que se suele revisar en este apartado son:

  • Analizar en tiempo real el comportamiento de la aplicación mientras se ejecuta.
  • Analizar la información que se almacena en las bases de datos.
  • Revisar si está habilitado el portapapeles y si está almacenada información sensible.
  • Revisar si la aplicación gestiona correctamente los errores durante la ejecución.
  • Comprobar si es posible evadir el Certificate Pinning.

Existen varias herramientas que facilitan este tipo de análisis como pueden ser Frida, Drozer o BurpSuite entre otras.

Espero que os haya sido útil para conocer de forma resumida los diferentes análisis que existen en el proceso de una auditoría móvil.
En próximas entregas (ya si que si) entramos a realizar una auditoría móvil completa a una aplicación Android y a una aplicación iOS donde explicaremos mucho más en detalle cada uno de los análisis y ejemplificándolos.

Saludos!

Recursos:

https://github.com/OWASP/owasp-mstg

Firmado: Carol

Sh3llCON no se hace responsable de las opiniones vertidas por sus colaboradores ni por las actuaciones que, fruto del conocimiento transmitido, puedan realizar terceras personas.

La imagen de cabecera se ha compuesto con 2 fotos cortesía de Unsplash:

https://unsplash.com/photos/M5UD_FyuDl8
https://unsplash.com/photos/6sAl6aQ4OWI