Actualmente hay más de 7,260,000,000,000 de dispositivos móviles en el mundo , lo que significa que el 91.54% de la población mundial tiene uno . Aproximadamente 2,500,000,000,000 de estos dispositivos tienen Android como su sistema operativo.
No es ningún secreto que estos dispositivos se están volviendo cada vez más importantes para nosotros, están con nosotros prácticamente todo el día y contienen mucha información personal, lo que los convierte en un objetivo interesante para los actores maliciosos.
El análisis de malware se puede clasificar en 3 tipos principales. Análisis estático , análisis dinámico y análisis híbrido .
El análisis estático se considera cualquier análisis que no tenga que ejecutar el código para analizarlo, se basa en la búsqueda de patrones a través de reglas o heurísticas que los hace extremadamente seguros porque no hay posibilidad de activar el malware sin querer. Este tipo de análisis es más rápido que el análisis dinámico y tiene una alta tasa de detección para el malware conocido por la naturaleza misma de su sistema de detección.
El escaneo dinámico, por otro lado, es cualquier escaneo que necesita ejecutar el malware para analizarlo, lo que significa que debe estar en su lugar una infraestructura más grande para aislarlo para que su ejecución no afecte los sistemas reales. Este tipo de escaneo es más confiable que el escaneo estático y puede detectar malware desconocido.
Finalmente, un análisis que utiliza técnicas de análisis estáticos y dinámicos se conoce como análisis híbrido. Actualmente, las conocidas soluciones antimalware como Kaspersky, Avira o Avast, entre otros, usan este tipo de análisis, dividiéndolo en etapas distintas.
Dentro de la categoría de análisis estático están las reglas de Yara. Las reglas de Yara son un tipo de firma de malware que permite identificar y clasificar malware conocido.

Las reglas tienen tres secciones, una meta sección donde generalmente se coloca la información sobre la regla en sí, la sección de cuerdas donde se definen los patrones en los que vamos a comparar el malware y la sección Condiciones donde se define la condición de que el patrón para que el archivo se considere malware. Las reglas de Yara pueden ser extremadamente complejas, por lo que recomiendo leer su documentación si desea comprender con más detalle cómo funcionan.
Otro punto favorable de las reglas de Yara es que son una técnica actual que comienza a ser ampliamente utilizada por los analistas, lo que significa que hay una gran cantidad de contribuciones.
Yaralyze es una herramienta de detección de malware para dispositivos Android que emplea dos técnicas de análisis estático , una que usa las reglas de Yara y la otra basada en el análisis de hashes . Permite el almacenamiento y la visualización de los informes , está diseñado utilizando una arquitectura de cliente cliente donde el servidor se puede alojar en la nube para que siempre esté disponible desde cualquier dispositivo móvil que tenga el cliente instalado y utilice +130,000 reglas Yara y +500,000 hash de aplicaciones de malware obtenidas de Virusshare y Github (las reglas y los hashes no se publican en el repositorio).





Se realizaron dos tipos de pruebas. Un tipo de prueba consistió en probar la efectividad de la herramienta para detectar malware conocido, utilizando muestras de brata , tharkbot , cerberus y flubot malwares, y el otro fue probar la velocidad del análisis.


Como se puede ver en las imágenes, logra detectar los archivos de malware y no produce falsos positivos con el verdadero APK de Winrar.
| Apk | T1 | T2 | T3 | T4 | Promedio |
|---|---|---|---|---|---|
| Flubot (malware) | 2.27S | 2.23S | 2.24s | 2.29s | 2.257s |
| Sharkbot (malware) | 2.54s | 2.51s | 2.53s | 2.56s | 2.535s |
| Winrar | 2.18S | 2.20 | 2.16s | 2.16s | 2.175S |
| Ubicación del hash de la aplicación | T1 | T2 | T3 | T4 | Promedio |
|---|---|---|---|---|---|
| DB del cliente | 0.079S | 0.081s | 0.078S | 0.077S | 0.0787s |
| Servidor DB | 0.088s | 0.085s | 0.087s | 0.091s | 0.0877s |
| Sin coincidencia | 0.087s | 0.088s | 0.084s | 0.088s | 0.0867s |
En la primera tabla podemos ver que en términos de velocidad se puede observar que los tiempos de análisis promedio son muy similares, esto se debe a que todos los APK analizados pasan por todas las reglas de Yara, incluso si ya han sido marcados como malware porque puede haber reglas que reducen el tipo de malware con el que estamos tratando. Además, el tiempo de análisis también está condicionado por el tamaño del APK a analizar, como es lógico. Estos APK no tenían tamaños muy diferentes.
En la segunda tabla podemos ver que los tiempos también son muy similares y esto puede parecer extraño porque cuando el hash está en la base de datos del servidor o cuando no hay coincidencias, el cliente debe hacer una solicitud al servidor, lo que debería ralentizar la velocidad del análisis. El tiempo igual puede justificarse por el hecho de que al momento de la prueba el servidor solo recibía una sola solicitud, por lo que no tenía una carga de trabajo pesada y también la base de datos no tiene un número lo suficientemente grande de hashes para cargar demasiado las búsquedas.