Este año tuvo lugar una nueva edición de Virus Bulletin, una de las conferencias de ciberseguridad más reconocidas mundialmente, y el equipo de investigación de ESET Latinoamérica viajó hasta Montreal para participar de este masivo evento. Además de disfrutar de la cultura local y de interactuar con profesionales de diferentes partes del mundo, pudimos ser testigos de presentaciones sobre las más variadas temáticas.
Como algunos sabrán, los tópicos sobre seguridad móvil nunca escapan mi atención. Por eso, en este artículo les contaré algunas de las investigaciones móviles que a las que pude asistir a lo largo de las tres jornadas de conferencias.
Sin tiempo que perder, ya el primer día pude atender a "Unpacking the Packed Unpacker: Reversing an Android anti-analysis native library"de Maddie Stone (@maddiestone), encargada de ingeniería reversa para el equipo de seguridad de Android en Google. A lo largo de la ponencia, Stone presentó el análisis de una peculiar librería de antianálisis a la cual denominaron WeddingCake (en español, “pastel de bodas”), debido a las diferentes capas de ofuscación que la misma presentaba.
Según Stone, una de las características que más destaca en esta librería es la preferencia por la utilización de código nativo, conjuntamente con la utilización de diferentes capas de protección. Dentro del repertorio de técnicas utilizado por esta librería encontramos: manipulación de JNI, escritura de código complejo para realizar tareas simples, cifrado, antiemulación mediante la comprobación de propiedades del sistema, verificación de la arquitectura y chequeo de la existencia de Monkey o de Xposed en el entorno de análisis.
Si consideramos que las librerías antianálisis también pueden ser utilizadas por los desarrolladores legítimos para proteger su propiedad intelectual, ¿por qué el análisis de WeddingCake es relevante? Pues porque, acorde a la investigación, se la encontró funcionando como wrapper en más de 5000 muestras de malware, mayormente vinculadas a la familia Chamois.
Para más información sobre esta charla, puedes acceder a las diapositivas o a los scripts vinculados al análisis de la librería.
Continuando el tema sobre análisis de malware móvil ofuscado, Rowland Yu (@rowlandy), investigador de Sophos, presentó "The missing link in the chain? Android network analysis". En la ponencia, Yu demostró como el análisis del comportamiento de red puede ayudar al momento de comprender las acciones que un malware ofuscado está realizando sobre el terminal comprometido.
Para comenzar, el investigador realizó un breve repaso del panorama actual del malware para Android. Explicó cómo las nuevas familias de malware evolucionaron desde simples amenazas relacionadas a mensajes SMS, para adoptar hoy un enfoque más agresivo al estilo rootkit. También destacó que el número mensual de muestras analizadas se ha duplicado en los pasados tres años.
Con base en lo anterior, Yu resaltó que el análisis de red y de metadatos puede ser vital para entender el comportamiento de un ejecutable en un contexto donde el malware móvil es cada vez más dependiente de servidores remotos. Tras realizar un estudio sobre las herramientas hoy disponibles para el análisis de tráfico móvil y contemplar sus características, presentó un desarrollo propio capaz de nuclear las bondades de otras herramientas en un único software. Por desgracia, el código fuente de la herramienta no fue liberado.
Aquí encontrarás los slides de la presentación.
Durante el segundo día de ponencias, empezamos la jornada con "Android app deobfuscation using static-dynamic cooperation", por Yoni Moses y Yaniv Mordekhay de Check Point. Los investigadores crearon una herramienta que busca saltar protecciones antianálisis como el cifrado de datos sensibles y facilitar el análisis estático de malware.
La herramienta cuenta con dos módulos para el análisis automático de muestras. El módulo de análisis estático identifica mediante firmas todas las llamadas a funciones de descifrado y las envía al módulo de análisis dinámico para que este último las ejecute. Luego, los datos descifrados son transmitidos al módulo de análisis estático que parchea el código del ejecutable reemplazando las llamadas a funciones de descifrado con el valor en texto plano.
Tras realizar un estudio sobre 400 mil muestras de malware y seis millones de apps benignas, los investigadores encontraron que el 3,6% de las apps estaban ofuscadas por algún software reconocido, y que el 60% de todas las apps ofuscadas utilizaban DexGuard, mientras que el 33%, KlassMaster.
Otra muy interesante exposición fue "Triada: the past, the present and the (hopefully not existing) future" por Łukasz Siewierski (@maldr0id), encargado de Ingeniería reversa en el equipo de Google Play Protect. En ella, Siewierski presentó los últimos avances respecto a esta familia de malware que se perpetúa a través del tiempo, pero que exhibe una severa reingeniería de código en sus últimas variantes.
A partir de la detección de este cambio de morfología, el investigador explicó cómo el equipo de Google Play Protect logró identificar las características principales de las nuevas versiones: evasión de detección y antianálisis, capacidad para conectar con otras apps del mismo autor y la forma en que puede ejecutar código en el contexto de cualquier app instalada en el equipo. Además, puso en evidencia los esfuerzos de Google para coordinar con diferentes OEM la remoción y prevención frente a la infección de esta amenaza capaz de backdoorear las imágenes del sistema.
Finalmente, la última charla orientada a seguridad de entornos móviles que pude ver fue "Little Brother is watching - we know all your secrets!" por Siegfried Rasthofer, Stephan Huber y Steven Arzt de Fraunhofer SIT. En ella, el equipo de investigación realizó un análisis de vulnerabilidades a las aplicaciones de rastreo legítimas más populares en la Play Store.
El estudio arrojó como resultado que muchas apps poseen serias fallas de seguridad: transmisión de datos sensibles –como credenciales de acceso, SMS y localización– sobre HTTP, algoritmos de cifrado mal implementados, procesos de autenticación inseguros o inexistentes, backends vulnerables a inyecciones SQL capaces –en ocasiones– de dumpear la base de datos completa, posibilidad de escalar privilegios en la aplicación y métodos inseguros de pago que permitirían al atacante obtener funcionalidad premium de forma gratuita, entre otras.
No es la primera vez que el equipo de Fraunhofer SIT expone fallas en aplicaciones populares. En la pasada edición de DEF CON pudimos observar una ponencia similar, centrada en la detección de vulnerabilidades en gestores de contraseñas para Android.