Algoritmos evolutivos y malware. ¿Evolucionan los "virus"? (V)

lunes, 19 de diciembre de 2016


En esta serie de artículos se realizará un repaso a la literatura académica en la que se mezclan estos dos conceptos: malware y algoritmos evolutivos. Analizaremos de forma crítica qué trabajos y artículos se han presentado en orden cronológico durante los últimos años, para comprobar si realmente tiene sentido utilizar los algoritmos genéticos para mejorar cualquier aspecto de la lucha contra el malware, ya sea en detección, análisis, predicción… Veremos un buen montón de experimentos basado en la algoritmia evolutiva, que a su vez también resulta apasionante.

Continuamos mostrando un resumen con espíritu crítico de los últimos tres artículos académicos relativos a la materia.

Classifying Anomalous Mobile Applications Based on Data Flows

De nuevo, en este documento se realiza un estudio en el que se pretende clasificar malware móvil ayudándose de algoritmos genéticos. En esta ocasión se utilizan secuencias de llamadas a API del sistema para modelizar a los individuos. Las características interesantes se reducen gracias a algoritmos genéticos (de nuevo, se usan para reducir la dimensionalidad), que permiten obtener un conjunto subóptimo de llamadas a sistema que permita distinguir entre malware y goodware. El fitness usado es la tasa de verdaderos positivos m´as la precisión del clasificador usado.

Los resultados en artículo y experimento resultan bastante pobres. No muestra la tasa de falsos positivos que se intuye muy alta en la tabla adjunta. Además habla de la detección dentro de una misma familia y no en general, algo que resulta mucho más sencillo y con lo que la tasa de acierto se infla artificialmente.

Pocas muestras de cada familia, y una tasa de fallo que se intuye muy alta
 SAME: An Intelligent Anti-malware Extension for Android ART Virtual Machine

En este artículo se propone SAME como un interesante sistema para detectar malware en Android basado en la ´ultima m´aquina virtual de introducida en Lollipop 5 (ARTJVM) que sustituye a Dalvik. Se basan en extraer en un momento dado de la ejecución, los "Access flags" de Java, que contienen datos sobre el tipo de clase Java que se está usando, además de otros datos como el tamaño, el nombre de la clase (si contiene mayúsculas, números), etc. Pretende distanciarse de otros estudios prescindiendo de atributos típicos de detección como los permisos. Así hasta 24 funcionalidades. Tras el proceso de extracción y correlación, se elige el conjunto de mejores funcionalidades para clasificar (minimizando el error) gracias a varios algoritmos evolutivos y se compara. Finalmente quedan 12 funcionalidades, que permite que todo el proceso sea mucho más ágil. En el estudio se utiliza el sistema neuronal MLP (Multi-Layer Perceptron) para clasificar las clases, y se optimiza con Biogeography-Based Optimizer (BBO) para entrenarlo (lo que parece un punto innovador en el estudio). BBO se basa en el concepto de islas. Cada isla es una solución al problema y las especies los parámetros de cada solución. Las especies van migrando de isla a isla y mejorando las soluciones (islas), así, se prescinde de la reproducción o descendencia. Los resultados con BBO mejoran al resto de clasificadores, se alcanza un accuracy de 96,7%, lo que resulta alentador. Aunque el artículo es de 2015, los datos escogidos se basan en aplicaciones de 2010.


Los datos son buenos, pero se usan muestras de 2010 para un estudio de 2015

On the Selection of Key Features for Android Malware Characterization

En este artículo se vuelven a usar algoritmos genéticos para intentar descubrir las funcionalidades más relevantes que caracterizan al malware. Se toman 49 muestras de malware de Android (una de cada familia del conjunto usado) cada una con 26 funcionalidades. Por un lado se utiliza MRMR (Minimun Redundancy Maximum Relevance), un algoritmo de filtrado que busca que las funcionalidades sean lo más relevantes posibles y mínimamente redundantes (diferentes entre sí). Por otro lado, además, se usan algoritmos genéticos básicos con dos funciones de fitness diferentes: Mutual Information (I) y Information Correlation Coefficient (ICC), dos formas de medida de teoría de la información.

Los resultados muestran qué características son las más relevantes del malware, para poder, en el futuro, incluirlas como capacidades de muestras altamente sospechosas. Como se muestra en la imagen, lo más relevante es que exista un "rapackaging" y características de control remoto. Unas conclusiones bastante esperadas.


Y hasta aquí el repaso a los 9 artículos académicos. En la próxima y última entrega, hablaremos de las conclusiones.

* Algoritmos evolutivos y malware. ¿Evolucionan los "virus"? (I)
* Algoritmos evolutivos y malware. ¿Evolucionan los "virus"? (II)
* Algoritmos evolutivos y malware. ¿Evolucionan los "virus"? (III)
* Algoritmos evolutivos y malware. ¿Evolucionan los "virus"? (IV)


Sergio de los Santos
ssantos@11paths.com

No hay comentarios:

Publicar un comentario