|
Durante los últimos años, el desarrollo de software malicioso (malware) ha pasado de ser un sector donde la principal motivación era el reconocimiento de la comu- nidad a convertirse en un auténtico negocio multimillonario. Entre las diferentes técnicas que los desarrolladores de malware han empleado para dificultar su de- tección, está el uso de algoritmos de generación de dominios (en inglés, Domain Generation Algorithms o DGA). En el trabajo plasmado en esta tesis doctoral se ha analizado la problemática de esta técnica, se han revisado los diferentes tipos de algoritmos que se pueden encontrar y se ha estudiado el estado del arte en la detección de este tipo de algoritmos en cuanto a técnicas de aprendizaje automático.
Además, esta tesis propone dos soluciones diferentes que aportan ciertas ventajas y también ciertos inconvenientes. Esto permite elegir la técnica más adecuada según la necesidad del entorno concreto en el que sea utilizado. En primer lugar, se propone el uso de nuevas características que, junto con otras ya descritas en la bibliografía, son usadas para la construcción de un clasificador basado en Random Forest.
En segundo lugar, se utiliza una aproximación más directa mediante aprendi- zaje profundo para prescindir del proceso de ingeniería de características. Esta aproximación permite reentrenar el modelo de forma automática ante nuevas técnicas que pretendan evadir la detección. Para este propósito se emplea un modelo de red neuronal LSTM diseñada de forma minimalista para que sea ca- paz de aprender empleando el mismo conjunto de datos que ha sido empleado para el entrenamiento del modelo Random Forest.
Ambos modelos han sido entrenados con el mismo conjunto de datos y probados con un conjunto de datos que no ha sido empleado ni en el entrenamiento ni para la selección de hiperparámetros, obteniendo una exactitud en la clasificación del 97-98 % en dicho conjunto de datos. El modelo Random Forest obtiene una exactitud levemente mayor, aunque es también el modelo menos flexible ante necesidades futuras de reentrenamiento.
Por último, todo el código fuente de las herramientas y contenedores empleados en los experimentos se encuentran disponible de forma pública y abierta, por lo que cualquier investigador puede acceder a los mismos y reproducir los resultados.
|