Detección de ataques de seguridad en redes usando técnicas de ensembling - Venosa, Paula (2021)
En la actualidad el malware continúa representando una de las principales ame- nazas de seguridad informática. Aún resulta difı́cil contar con sistemas de detección eficientes para separar con precisión el comportamiento normal del malicioso, a partir del análisis del tráfico de red. Ello se debe a las caracterı́sticas del tráfico malicio- so y el normal ya que el tráfico normal es muy complejo, diverso y cambiante; y el malware también es cambiante, migra y se oculta simulando ser tráfico normal. Además hay gran cantidad de datos a analizar y se requiere que la detección sea en tiempo real para ser útil. Es necesario entonces contar con un mecanismo efectivo para detectar malware y ataques en la red. A fin de beneficiarse de múltiples clasificadores diferentes, y explotar sus fortale- zas, surge el uso de los algoritmos de ensembling, los cuales combinan los resultados de los clasificadores individuales en un resultado final para lograr una mayor precisión y ası́ un mejor resultado. Ello también puede aplicarse a problemas de ciberseguri- dad, en particular a la detección de malware y ataques mediante el análisis de tráfico de red, desafı́o que hemos planteado en esta tesis. Los trabajos de investigación realizados, en relación a ensemble learning de de- tección de ataques, apuntan principalmente a incrementar el rendimiento de los al- goritmos de aprendizaje automático combinando sus resultados. La mayorı́a de los trabajos proponen el uso de alguna técnica, de ensemble learning existente o creada por los autores, para detectar algún tipo de ataque en particular y no ataques en general. Hasta el momento ninguno aborda el uso de datos de TI (Threat Intelligence por su sigla en inglés) en algoritmos de Ensemble Learning para mejorar el proceso de detección, como ası́ tampoco se trabaja en función del tiempo, es decir teniendo en cuenta lo que ocurre en la red en un intervalo de tiempo acotado. El objetivo de esta tesis es proponer una metodologı́a para aplicar ensembling en la detección de hosts infectados considerando estos dos aspectos. En función del objetivo planteado se han investigado y evaluado algoritmos de ensembling aplicables a seguridad en redes y se ha desarrollado una metodologı́a de detección de hosts infectados aplicando ensembling, basado en experimentos di- señados y probados con datasets reales. Dicha metodologı́a plantea realizar el proceso de detección de hosts infectados en tres fases. Dichas fases se llevan a cabo cada una determinada cantidad de tiempo (conocida como ventana de tiempo o TimeWin- dows). Cada una de ellas aplica ensembling con distintos objetivos. La primera fase lo hace para clasificar cada flujo de red perteneciente a la ventana de tiempo, como malware o normal. La segunda fase lo aplica para clasificar el tráfico entre un origen y un destino, como malicioso o normal, indicando si el mismo forma parte de una infección. Y por último, la tercer fase, con el objetivo de clasificar cada host como infectado o no infectado, considerando los hosts que originan las comunicaciones. La implementación en fases permite resolver, en cada una de ellas, un aspecto del problema, y a su vez tomar las predicciones de la fase anterior, que se combinan con el análisis propio de la fase para lograr mejores resultados. Además, implica llevar a cabo el proceso de entrenamiento y testeo en cada fase. Dado que el mejor modelo se obtiene a partir del entrenamiento, cada vez que se realiza el mismo para una fase determinada, el modelo se ajusta para detectar nuevos ataques. Esto representa una ventaja frente a las herramientas basadas en firmas o reglas estáticas, donde hay que conocer el comportamiento para agregar nuevas reglas. Las ventajas del uso de ensembling puede observarse en cada fase en particular. En la Fase 1, aplicando ensembling no hay falsos positivos al clasificar cada flujo de red, como malicioso o normal. Mientras que en dicha fase, sin aplicar ensembling y uusando un único algoritmo para la clasificación se tienen: 10366 falsos positivos en caso de usar Logistic Regression, 266 falsos positivos usando Naive Bayes, y 4 falsos positivos para el caso de Random Forest. En la Fase 2, el aplicar ensembling para combinar criterios en relación a los distintos tipos de conexiones que se dan entre una IP origen y una IP destino, permite clasificar los flujos de red que van de un origen a un destino, y tener una única decisión para todo ese conjunto de flujos de red. En dicha fase se reducen los posibles falsos positivos y falsos negativos de la Fase 1, lo cual se demuestra en los experimentos insertando errores aleatorios en el dataset resultante de la Fase 1. En la Fase 3, el incluir la información de threat intelligence provista por el módulo VirusTotal de Slips (por su sigla en inglés Stratosphere Linux IPS) en el proceso de ensembling de esta fase, permite reducir los falsos negativos provenientes de la fase anterior. Ello también refuerza la decisión para el caso de las direcciones IPs destinos clasificadas como maliciosas. Sin embargo, el peso que se asigna a la información de TI debe ser poco significativo, para evitar falsos positivos en la clasificación de esta fase, donde se clasifica cada dirección IP origen como maliciosa o normal, indicando si está infectada o no. A partir de los resultados obtenidos se propone diseñar e implementar un nuevo módulo en Slips para detectar hosts infectados a través del ensembling, que incluye los datos de Threat Intelligence y trabaja en función del tiempo. Tanto la metodologı́a desarrollada como la propuesta de diseño e implementación del módulo implementado constituyen los principales aportes de esta tesis de maestrı́a.