Nueva investigación: “ML based analysis and classification of Android malware signatures”, en la revista Future Generation Computer Systems

Área de Innovación y Laboratorio de ElevenPaths    29 abril, 2019
Nueva investigación: "ML based analysis and classification of Android malware signatures", en la revista Future Generation Computer Systems

La detección basada en firmas de los antivirus hace tiempo que quedó relegada a un segundo plano para dar paso a nuevas soluciones que puedan superar (o al menos, mitigar) las limitaciones que estos sistemas sufren hoy en forma de 0-days o técnicas de evasión avanzadas. Otro problema (para los analistas, más que nada) es la falta de consenso (lack of consensus) y las inconsistencias en la categorización del malware.¿Qué sutil diferencia existe entre un programa potencialmente no deseado, un malware, un troyano concreto, genérico, adware o incluso un hacktool? ¿Y si cada motor opina algo diferente? Si el usuario podría conformarse con la detección, para los analistas es difícil conocer solo con las firmas a qué se están enfrentando.

No todos los antivirus consideran las mismas aplicaciones malware, sino que las detecciones están repartidas de manera muy irregular. Es muy habitual encontrarse con muestras detectadas por uno o dos antivirus que levanta sospechas sobre falsos positivos. Otro problema es el que tratamos en nuestro reciente artículo “Machine-Learning based analysis and classification of Android malware signatures“, realizado junto a la Universidad Carlos III aceptado en la prestigiosa revista Future Generation Computer Systems.

Las inconsistencias de categorización de malware se refieren a un problema que también evidencia falta de consenso entre antivirus, en este caso a la hora de asignar una categoría al malware. Lo que se observa es que lo que para algunos antivirus puede ser una muestra de adware, otros lo consideran un troyano o un spyware, lo que dificulta enormemente el análisis de muestras de manera ordenada. Por ello, en el artículo, nuestro objetivo es analizar las distintas clases asignadas por distintos AVs e intentar obtener patrones u observaciones que ayuden a sistematizar y mejorar la clasificación de malware.

Básicamente, en el artículo partimos de una colección de más de 250.000 detecciones antivirus (unas 80.000 aplicaciones Android en total) proporcionadas por la herramienta de ElevenPaths, Tacyt. Para normalizar estas detecciones independientemente de los AVs que las hagan, utilizamos la herramienta SignatureMiner que desarrollamos dentro de esta investigación y obtenemos un total de 41 familias conocidas de malware de Android. En esta colección de familias, lo primero que identificamos son tres categorías, a las que denominamos: adware, dañinas (harmful) y desconocidas (unknown).

La categoría de adware recoge toda aquella familia relacionada con aquellas aplicaciones que se dedican a abusar de los anuncios, incluidas familias basadas en librerías así como genéricas. La categoría de “dañinos” contiene otras familias cuyos riesgos son mayores, como la exfiltración de datos, la suscripción a servicios premium o conocidas amenazas. Finalmente, la categoría “desconocidas” se refiere a todas aquellas detecciones en las que algún antivirus ha detectado malware, pero su detección es ambigua y no da información sobre familias.

Tras analizar estas categorías, observamos que las detecciones “adware” y “dañinas” no están casi correladas, lo que sugiere que los AVs tienen un consenso claro a ese nivel, mientras que sí observamos una correlación moderada de las desconocidas con “dañinas” (0.44) y con “adware” (0.3). Además, demostramos mediante teoría de grafos que el esquema de familias al que llegamos es robusto (sólo hay dos grupos de dos familias que necesitan una ligera modificación) y la existencia de cuatro grupos de antivirus: uno para cada categoría (“adware” y “dañinas”) y otros dos que mezclan AVs de aplicaciones desconocidas con los de otras categorías, mostrando que hay sin duda relación entre la categoría de desconocidas y las otras.

Como resultado de todo esto, vemos que las aplicaciones “desconocidas” tienen que ser necesariamente “adware” o “dañinas”, a pesar de que los antivirus que generan las detecciones no son capaces de identificarlo por algún motivo. Esto nos motiva a pensar que quizá la lista de antivirus que detectan una muestra en concreto puede ser útil para definir su categoría y, con esa hipótesis, proponemos un sistema de aprendizaje máquina (Machine Learning) que clasifique aplicaciones por categorías de cara a desvelar la categoría más probable para las aplicaciones desconocidas.

El sistema recibe como entrada la lista de antivirus que detectan una muestra y predice la categoría más probable de las dos que están “definidas” (adware o maliciosas). Para entrenar el sistema utilizamos las aplicaciones que han sido categorizadas como “adware” o “maliciosas” y calculamos métricas habituales de desempeño, como accuracy o F-score. Los algoritmos de clasificación que empleamos son regresión logística para proporcionar explicabilidad y un Random Forest para obtener buenos resultados.

En esta imagen se observan los pesos de la regresión logística, que nos permite hacernos una idea de cómo de influenciado está cada antivirus por una u categoría. El positivo (rojo) es “maliciosas” y el negativo (azul) es “adware“. Podríamos decir que el AV61 es muy tendente a clasificar como maliciosas, y el AV34 a clasificar como adware

Con este sistema obtenemos un F-score de 0.84 al validar. Recordemos que el F-score es un compromiso entre precisión (cuánto es realmente malware de lo que afirmo que es) y recall (de todo lo que es dañino, cuánto acierto).

Esto nos proporciona una herramienta bastante buena para predecir aplicaciones con clase, en principio, desconocida. Finalmente, usamos la herramienta validada para determinar la categoría de cada una de las muestras desconocidas, lo que resulta en que el 51.5% de las mismas pertenecen a la clase de maliciosas y las restantes a adware, lo que es consistente con nuestras observaciones previas. El accuracy en este caso es más del 97%. 

Ignacio Martín y el Equipo de Innovación y Laboratorio de ElevenPaths
ignmarti@it.uc3m.es

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *