Aprendizaje automático frente a firmas, ronda N: una vez más, Zimperium detecta malware que nadie más detecta

Aprendizaje malicioso

Análisis y publicación por:

Alex Calleja (@alximw)

mateo favaro (@fvrmateo)

Las campañas publicitarias y de fraude de clics son una de las técnicas de monetización basadas en malware móvil más comunes. Aunque se consideran una fuente de ingresos lícita en la mayoría de los mercados de aplicaciones, pueden poner en riesgo la privacidad del usuario e incluso causar daños económicos.

Una vez más, la solución basada en aprendizaje automático de Zimperium, específicamente la z9 detección de malware en el dispositivo, ha demostrado su eficacia contra estas nuevas muestras de malware, sin conocimiento previo de la muestra y sin que firmas

Desde principios de enero de 2019, zLabs ha estado recibiendo alertas sobre una nueva publicidad que amenaza la privacidad y una campaña de fraude de clics dirigida a usuarios chinos. Si bien estas campañas permanecieron ocultas para la mayoría de los proveedores, z9 permitió a nuestros investigadores de zLabs detectarlas y brindar las contramedidas adecuadas. De hecho, la muestra que activó la detección z9 de Zimperium tiene cero detecciones de la industria por parte de proveedores externos.

asi comienza

El 8 de enero, los investigadores de zLabs recibieron una alerta de z9 sobre una nueva muestra que superaba el umbral de detección. Un breve análisis reveló algunas características poco comunes y sospechosas, como la falta de un filtro de intención etiquetado con el android.intent.action.LAUNCHER categoría.

Después de un análisis más profundo, nuestros investigadores confirmaron una muestra claramente anómala: MainActivity vacía y un uso obvio de ofuscación de cadenas. Además, en el manifiesto se encontraron un servicio (NickService) y un receptor (MicReceiver), ambos iniciando un componente incrustado. Después de confirmar que el servicio y el receptor no se iniciaron a partir de la muestra ni se activaron automáticamente debido a la falta de filtros de acción, el análisis dinámico estaba en orden.

Figura 1: archivo de manifiesto com.xksx.tosiok

Nuestros analistas activaron manualmente el servicio y analizaron indicadores comunes, como el tráfico de la red o la actividad del sistema de archivos, y notaron cómo se descargaban diferentes archivos de configuración JSON desde un punto final remoto.

Un JSON particularmente interesante contenía una URL que apuntaba a un archivo sospechoso, ruta_gn_qid19_actualización12.dat. Una inspección más profunda reveló que este BLOB contenía un archivo dex encriptado cargado dinámicamente. Obtener el archivo desofuscado fue bastante simple ya que los desarrolladores codificaron las semillas utilizadas en la inicialización del objeto SecretKeySpec utilizado en el descifrado:

El punto de entrada de esta nueva carga útil también estaba débilmente ofuscado, por lo que fue fácil avanzar con el análisis. Para tener una visión más amplia de las capacidades de «cuentagotas», nuestros investigadores invirtieron simultáneamente diferentes muestras y notaron cómo el paquete de entrada1 tenía la misma estructura y solo cambió la URL para recuperar la primera carga útil soltada. Esto sugiere fuertemente que puede ser un paquete personalizable e inyectable, tal vez vendido en un foro de black-hat y anunciado como malware de monetización.

La carga útil soltada se inicia a través de la reflexión del paquete principal y muestra un método de entrada común con firma ejecución nula (Contexto ctx) cuyo propósito es iniciar varios SDK relacionados con anuncios y estadísticas. Se notó además cómo algunos de ellos pueden representar un riesgo para la privacidad del usuario, como se describe en la siguiente sección.

Figura 2: comparación entre los métodos de ejecución en dos cargas útiles descartadas.

Jerarquía de cargas útiles

El siguiente diagrama muestra la jerarquía de las cargas útiles descartadas y los principales paquetes cargados para el com.xksx.tosiok muestra, que se asemeja a un conjunto de muñecas Matryoshka.

Figura 3: jerarquía descendente de Tosiok; otras muestras se basan en diferentes cargas útiles.

Anuncios dirigidos y riesgos de privacidad

Como se puede observar en Figura 2el objetivo principal de la primera carga útil lanzada es iniciar varios SDK de anuncios y estadísticas.

Se han identificado los siguientes abusos y riesgos de privacidad:

  • Muchos paquetes de recopilación de estadísticas recopilan información relacionada con el dispositivo (IMEI, IMSI, MAC, versión del sistema operativo, modelo, marca, tamaño de pantalla), el operador móvil (MCC, CMN, CID, ALC), la geolocalización (zona horaria, latitud, longitud) y los paquetes instalados por el usuario.
  • Varios paquetes contienen código para generar un WebView oculto con compatibilidad con JavaScript, cookies y acceso al sistema de archivos. Las URL de recopilación de publicidad e información se cargan posteriormente en WebViews. Por lo general, también se registra una clase TrustManager vacía, probablemente para habilitar el uso de una conexión SSL (pero sin la seguridad que brinda una implementación adecuada del administrador de confianza).
  • Algunos SDK de recopilación de información y anuncios activan explícitamente algunos de sus comportamientos solo si se ejecutan en una ROM china (por ejemplo, EMUI, FLYME, MIUI, OPPO, QIKU, SMARTISAN, VIVO) o si se detecta una configuración APN china.

El comportamiento más curioso y preocupante que encontraron nuestros analistas es la implementación de anuncios dirigidos que abusan de las aplicaciones instaladas por los usuarios. El análisis dinámico permitió a nuestros investigadores descubrir un archivo de configuración JSON que se recopilaba de uno de los servidores back-end que respaldan la campaña. El archivo JSON recuperado contiene varios nombres de paquetes y URI relacionados, presumiblemente utilizados para abusar de las capacidades de visualización de anuncios de las aplicaciones legítimas mediante la creación de nuevas intenciones utilizando la información mencionada. Una vez más, surgieron pruebas de una campaña altamente dirigida, ya que la mayoría de los nombres de paquetes presentes en el documento estaban relacionados con aplicaciones populares en China. En dicho archivo se encontraron los nombres de los paquetes de las aplicaciones Baidu y Taobao, junto con otras aplicaciones para compartir videos y redes sociales, como TikTok y Youku.

Figura 4: creación de la intención relacionada con los anuncios dirigidos.

Detección de la industria (o falta de ella)

Mientras verificaban la cobertura de las muestras y las cargas útiles descartadas, nuestros investigadores no pudieron evitar notar cómo las detecciones eran muy inconsistentes en los famosos servicios comparativos de malware como VirusTotal y Koodous. Específicamente, las cargas útiles etiquetadas como herramienta y app_cacheincluso si difieren ligeramente entre sí, fueron detectados por muchos proveedores de antivirus (p. ej., más de 20 detecciones de VirusTotal), mientras que otros a menudo no se detectaron (p. ej., menos de 4 detecciones de VirusTotal).

El motor de aprendizaje automático z9 en el dispositivo de Zimperium detectó correctamente y clasificó la amenaza con alta confianza, etiquetando específicamente el APK principal como troyano familia (dadas sus capacidades de lanzamiento sigiloso) y las cargas útiles recolectadas como software de riesgo familia (como se esperaba de un paquete de riesgo de privacidad), sin aprovechar las firmas.

Curiosidades

Durante la investigación, nuestros investigadores lograron recopilar una cantidad total de 150 complementos eliminados que se distribuyeron en un período de tiempo que va desde diciembre de 2017 hasta febrero de 2019. Si bien la mayoría de ellos tenían exactamente la misma estructura, 5 de ellos tenían archivos de recursos únicos, en su mayoría relacionados a nuevos SDK de anuncios. Esto demuestra que la campaña de malware no es nueva y, lo que es más importante, que todavía se está desarrollando activamente.

Como se mencionó en la introducción, la muestra que activó la alerta z9 de Zimperium no tiene detecciones de la industria. De hecho, es muy probable que esto haya sido causado por el hecho de que las acciones maliciosas no pudieron activarse automáticamente en un entorno de análisis. los com.xksx.tosiok APK tiene un solo servicio exportado y un receptor que se puede activar manualmente, a diferencia de otras muestras que exponen un servicio con muchas acciones de filtro de intención (ver Figura 5). Esto llevó a nuestros investigadores a etiquetar esto como un muestra de prueba que el autor del malware cargó en VirusTotal para verificar la tasa de detección. Una vez más, El motor z9 de Zimperium demostró ser fundamental para descubrir amenazas previamente desconocidas.

Figura 5 – Manifiesto de un cuentagotas APK diferente de com.xksx.tosiok

COI y hash

Muestras originales de APK con el paquete cuentagotas común:

  • af148157aa22bd7099c7d672b69c02b3ac81e248657ce1114d4922e58074fd79
  • d5078d5df439dff6f12c5adda8f23a5f70e70ea79185538679add4e9fcade01a
  • 11eca4021be623f3270c6b7e253ada274d24227a27bb50bfb88d7dcba10a9eea
  • f88783132f611738e937684ca76e562155497ade4f0affb9a6c75f86819dbdd9
  • 6744e5c156d12f34d64d482d358c35581ab8cd0a19adcb3b25081bb1b3b66156

Cargas útiles caídas durante el análisis:

  • 3323003.jar (d19d2f3e6a678d63b3c44d5010d3a13068a4e03d14be1a07642311eb40a399f3)
  • 3018798.jar (3a5c0a64b634b2df3bb7a1addd8965dbf3ee70bcde5974977c2b506dd03b6985)
  • 101510.jar (a0c9a0e615e7cff0eeaf1ccfae2d3517202ad8905dc844d2ce1c35c69586f6f4)
  • android-util.ttf (c4cc944333e559b5f385dd16ddebebe843897c78667c628f53896782978a5f46)
  • lanzador_aplicación_ic.png (69176cb60ff0dc3b529319ead630bbffbf7e36ef38031e1e23044c8f6e69fb04)
  • sc_160 (e0ec4ea86dafc746d111d8ecbf3ab3eacaf357b4e1f3d7bcbce5b29cbd0240c6)
  • bdco (d9751bc5d98132c400304902b89b1d915da33447bdfe6810c47d2507026783d3)
  • complemento.png (1d4922502ac642f8bc67b8e92903f2b1a4f95d03b03f968a0a544cad723e4bcb)
  • mures.dex (b90ae4f3ba86f9bdf58b815ae798982af580b7c54828d42b6677cba79315c808)
  • EventDex.dex (74e9690c37b8f7090a20c9b3b06efad508b5e06c3a3fcd275bfecc2fa4f14093)

Un agradecimiento especial a todo el equipo de investigación de malware de Zimperium zLabs por sus contribuciones al análisis y esta publicación.

Deja un comentario