El análisis de malware en dispositivos móviles, a diferencia del análisis sobre sistemas Windows, Linux, o macOS, presenta desafíos únicos:
– Sistemas operativos cerrados o semicerrados (como iOS).
– Entornos virtualizados y emulados fácilmente detectables.
– Fuertes restricciones de permisos y acceso al sistema de archivos.
– Técnicas evasivas avanzadas, como el dynamic code loading y la detección de análisis.
– Sin embargo, estas diferencias no deben alejarnos, sino estimularnos a vencer estos desafíos.
Al analizar malware, tanto en Android como en iOS, contamos con dos enfoques de análisis bien diferenciados que nos van a ayudar a determinar las características y el comportamiento del malware que estemos analizando.
Por un lado, está el enfoque estático con el que analizaremos la muestra sin ejecutarla y con el que vamos a observar las características como el hash, las cabeceras del archivo y su arquitectura, las strings, identificación de ofuscación y llamadas a APIs, entre otras.
El enfoque dinámico, por otro lado, analiza las características observadas en el enfoque estático y busca determinar cómo se comporta la pieza de código que estamos analizando en el sistema. Aquí, observaremos si el malware ejecuta procesos, si se inyecta en otros, si crea, modifica o borra archivos, y la actividad de red, entre otras.
Si bien, tanto en Android como en iOS, la lógica de contar con un entorno aislado de análisis y luego analizar las muestras de modo estático y dinámico se mantiene, a la hora de la práctica hay diferencias que iremos abordando en cada sección, pues al fin y al cabo son sistemas distintos cada uno con su naturaleza propia.
– No uses tu máquina principal: trabaja siempre desde un entorno aislado o máquina virtual.
– Captura todo: tráfico, logs, imágenes del sistema y hashes antes y después de la ejecución.
– Compara con versiones legítimas si sospechas de una aplicación troyanizada.
– Mantente actualizado: el ecosistema móvil cambia constantemente. Sigue fuentes como VirusTotal, Koodous y WeLiveSecurity.
Entre iOS y Android, como pudimos observar, existen diferencias entre las que podemos destacar:
– OS tiene mayores barreras técnicas y legales, y requiere jailbreak o entorno de desarrollo certificado.
– Android ofrece mayor flexibilidad para análisis, incluso sin root en algunos casos.
– El análisis dinámico es crucial para detectar comportamientos ocultos, C2, cargas tardías, etc.
– La instrumentación con Frida es transversal y poderosa en ambos sistemas.
Sin dudas, el análisis de malware móvil es un campo desafiante y dominar las herramientas y técnicas presentadas aquí es fundamental para cualquier analista de seguridad. La combinación de análisis estático y dinámico, adaptado a las particularidades de cada plataforma, es clave para desentrañar las amenazas y proteger el mundo móvil.
Herramientas y técnicas básicas para analizar malware en dispositivos móviles