Netflow, machine learning y la detección de anomalías en red: una aproximación académica (Parte III)

lunes, 9 de octubre de 2017

Encontrar patrones en los datos de red que no se ajusten al comportamiento esperado (o sea anomalías), sigue siendo un reto interesante en la seguridad informática. Las anomalías en el tráfico aparecerán por varias razones como actividades maliciosas o caídas, y en este sentido Netflow, en combinación con técnicas de machine learning, puede convertirse en un buen aliado para ir más allá de las firmas y ser capaz así de encontrar patrones previamente desconocidos. Hablábamos en la anterior entrega sobre varias propuestas surgidas para mitigar limitaciones y nos centramos en esta entrega en diferentes aproximaciones académicas que han tenido en cuenta netflow y machine learning como centro del estudio.

En un artículo de la universidad de Nevada-Reno 2013 (Li et al.) se puede encontrar ya un repaso de varios de los algoritmos de Machine Learning que se han usado tradicionalmente para el análisis de tráfico de red.

Trabajos sobre detección de anomalías con técnicas de machine learning desde 2005 a 2011
Este análisis abarca de 2005 a 2011. Así que vamos a complementar qué se ha hecho desde entonces en la academia.

Continuación de trabajos sobre detección de anomalías hasta 2017
Para entender esta clasificación que hemos realizado, es necesario saber que hemos dividido los análisis principalmente en qué características se han centrado, qué perspectiva se ha usado y qué dataset se ha utilizado.

Características

En la tabla, las características se clasifican como:

  • Basic: contempla campos de Netflow, IP y puerto de origen o destino, protocolo, etc.
  • Derived: longitud de los flujos (fecha de fin – fecha de inicio), tamaño medio de los flujos (bytes/número de paquetes), tasa media de paquetes (número de paquetes/longitud), agregación por IP y carga de bytes, porcentaje de carga de tráfico en un nodo, etc.
  • Application specific heuristic como patrones diarios o semanales, duración de la sesión de un cliente, etc.
  • Advanced: similitud en el intervalo del flujo, entropía, información mutua, etc.

Cuanto más rico el conjunto de características, más granularidad para los algoritmos y mejor inteligencia se puede extraer de ellos. En el siguiente gráfico hemos agrupado por número de veces que se ha utilizado cada tipo en los estudios y papers más modernos.

Tipos de características usadas en los análisis de los últimos tiempos
En el gráfico se puede ver que las características más usadas son las derivadas. Esto sucede sobre todo en los trabajos recopilados anteriores a 2012, mientras que en los trabajos posteriores se tiende más a usar las básicas.

Perspectiva

La perspectiva se refiere al enfoque que se ha aplicado y para resolver qué tipo de problema se quería resolver al analizar el tráfico Netflow. La perspectiva de anomalías se refiere a la problemática de encontrar patrones que no se corresponden con comportamientos esperables de los usuarios. El reto está en encontrar patrones que previamente no eran conocidos. En los estudios vemos principalmente que desde 2005 a 2011 existía más variedad (monitorización, DoS, gusanos...) pero que desde entonces se han centrado en la detección de anomalías en general.


Con respecto a la detección de incidentes de seguridad concretos, se puede hablar por ejemplo de la detección de ataques denial-of-service (DoS) o la detección de botnets. La detección de una botnet puede resultar más difícil que la detección de otro tipo de malware por ello muchas soluciones combinan información a nivel de host y de red para detectarlas. Otro ejemplo es el enfoque destinado a detectar gusanos, que está orientado a estudiar las conexiones y ahí es donde se puede emplear Netflow, analizando el comportamiento del host en función de las conexiones entrantes y salientes, correlando datos Netflow con logs de honeypots o usando gráficos de protocolo.

Otra de las perspectivas involucra acciones de monitorización. Estas pueden referirse a varios aspectos: de host (información de cómo el usuario utiliza los recursos de la red y aplicaciones). Se usa para planificación, control de acceso a la red, violaciones de la política de seguridad...

Dataset

Un buen dataset es la base para un buen estudio basado en el aprendizaje máquina. Se refiere al conjunto de datos recopilado y sobre el que se aplicarán las técnicas correspondientes tras la normalización de datos y extracción de características. De entre los estudios analizados puede verse que en algunos de ellos se ha empleado tráfico de red y en otros tráfico específico de Netflow. En la mayoría se han utilizado desde conjuntos de datos conocidos hasta tráfico real propio recolectado de la red.

En relación a los conjuntos de datos públicos, DARPA, KDD y NLS-KDD son ampliamente utilizados. La ventaja de estos conjuntos es que establecen una base común para que la comunidad pueda comparar distintas soluciones y algoritmos. La desventaja es que no contienen tráfico real y suelen quedar desfasados. Por el contrario, el tráfico real puede presentar más problemas a la hora de compartirlo y en general se hace más dificultoso el trabajo de comparar diferentes soluciones.
A continuación se exponen las características principales de estos conjuntos de datos.

  • El dataset DARPA fue creado por el MIT en los años 1998 y 1999. Contiene tráfico de red y ha sido uno de los conjuntos más utilizados. Sin embargo, ha sido criticado por algunas razones como la falta de ataques modernos.
  • El dataset KDD 99 dataset contiene tráfico TCP crudo simulado. El tráfico de entrenamiento contiene tráfico recolectado durante 7 semanas, mientras que el de test contiene el de 2 semanas, incluyendo tipos de ataques que no están en el training para hacerlo más realista. Se utilizan 41 características para caracterizar acerca de cada conexión clasificadas como básicas, basadas en contenido y basadas en tiempo. El conjunto está etiquetado, siendo las categorías de ataque éstas: DOS, Probe (ej escaneo de puertos), U2R (acceso no autorizado a privilegios de root), R2L (login no autorizado remoto a una máquina).
  • NSL-KDD es una actualización del conjunto anterior que trata de resolver algunos de sus problemas. Una de sus ventajas es que al no ser excesivamente grande no es necesario seleccionar pequeñas porciones del mismo que vuelven a traer el problema de la imposibilidad de comparar. Otras ventajas son que no incluye muestras redundantes en el conjunto de entrenamiento ni en el de test. Además, el número de muestras para cada nivel de dificultad es inversamente proporcional al del KDD, lo que permite evaluar con más precisión los diferentes algoritmos de Machine Learning.
De entre los estudios analizados, 10 usan tráfico real y 7 utilizan tráfico simulado, logs o conjuntos de datos (categoría Non-Netflow).

Análisis de resultados 

¿Qué algoritmos se han utilizado para el estudio? En las tablas anteriores se puede observar que hasta 2011 el algoritmo más empleado es SVM, habiéndose incorporado posteriormente más variedad en el uso de algoritmos. Ahora es más habitual el empleo de diversas variedades de redes neuronales y clustering, así como de árboles de decisión en menor medida.

No es sencillo extraer conclusiones de cuáles son las técnicas que mejor funcionan. Sobre todo si se tiene en cuenta, como se ha comentado anteriormente, que la falta de un conjunto de datos común dificulta la comparación de soluciones.

Sin embargo, algunos trabajos sí comparan diferentes algoritmos y a partir de ahí pueden extraerse algunas conclusiones. En el caso de 2014 (Francesco Palmieri, Ugo Fiore and Aniello Castiglione), se ve que el algoritmo J48 proporciona mejores resultados que BayerNet y OneR.

Los resultados del estudio 2015 (Félix Iglesias, Tanja Zseby) reflejan que ANN obtiene mejores resultados que DTC, kNN, Bayes, SVM en el caso en el que se seleccionan 16 características de las 41 que componen los conjuntos NSL-KDD o KDD.

Aunque no se cuenta con un conjunto de datos común, analizando los resultados de los trabajos de la tabla II se observa que algunos que resultan de mayor interés. A continuación amplía la información de la tabla II sobre estos trabajos en relación a cómo realizan la tarea de detección y el pre/post-procesamiento.

El trabajo 2014 (Francesco Palmieri, Ugo Fiore and Aniello Castiglione) utiliza Blind source separation para modelar Independent component analysis como primer paso. Luego utiliza árboles de decisión para la etapa de clasificación.

En 2015 (Shin-Ying Huang et al.) se realiza una etapa de preprocesamiento aplicando clustering y extracción de datos. A continuación se utiliza como algoritmo incremental majority, que es una variación de redes neuronales, realizando varias iteraciones al utilizar una ventana deslizante. Posteriormente se refinan los límites que definen el intervalo de normalidad aplicando un algoritmo que llaman de detección de anomalías, escogiendo aquellos límites que optimizan la tasa de aciertos y minimizan los errores.

2012 (Ugo Fiore et al.) utiliza máquinas de Boltzmann (un tipo de red neuronal recurrente estocástica) para detectar los eventos anómalos en la red. En la etapa de preprocesamiento usa Bro junto con una herramienta para parsear las trazas. Llama la atención que dos de estos trabajos que mejores resultados obtienen utilizan variaciones de redes neuronales para la clasificación. Es destacable la capacidad de adaptación de estos algoritmos ante muestras no vistas previamente si se considera que el tráfico de red, además de ser complejo e impredecible, está sujeto a cambios puesto que las anomalías continúan evolucionando. Para ello los algoritmos de ML pueden ayudar a caracterizar el tráfico normal y detectar aquellos comportamientos que se desvían de lo esperado.

A continuación, ofrecemos una lista de referencia de los trabajos citados.

Más información: 

2005 (Lakhina et al.) Lakhina A, Papagiannaki K, Crovella M, Diot C, Kolaczyk ED, Taft N. Structural analysis of network traffic flows. SIGMETRICS Performance Evaluation Review 2004;32(June (1)):61–72.

2007 (Liu et al.) Liu X-W, Wang H-Q, Liang Y, Lai J-B. Heterogeneous multi-sensor data fusion with multi-class support vector machines: creating network security situation awareness. In: 2007 international conference on machine learning and cybernetics, vol. 5, 2007. p. 2689–94.

2008 (Wang and Gou) Wang S, Guo R. GA-based filtering algorithm to defend against DDoS attack in high speed network. In: Fourth international conference on natural computation, 2008. ICNC ’08. vol. 1, 2008. p. 601–7.

2010 (Wagner et al.) Wagner C, Wagener G, State R, Engel T, Dulaunoy A. Game theory driven monitoring of spatial-aggregated IP-Flow records. In: 2010 International conference on network and service management (CNSM), 2010. p. 463–8.

2010 (Strasburg et al.) Strasburg C, Krishnan S, Dorman K, Basu S, Wong JS. Masquerade detection in network environments. In: 10th IEEE/IPSJ international symposium on applications and the Internet (SAINT), 2010, July 2010. p. 38–44.

2011 (Abdulla et al.) Abdulla SA, Ramadass S, Altaher A, Nassiri AA. Setting a worm attack warning by using machine learning to classify netflow data. International Journal of Computer Applications 2011;36(December (2)):49–56.

2011 (Wagner et al.) Wagner C, Franc -ois J, State R, Engel T. Machine learning approach for IP-flow record anomaly detection. In: Proceedings of the 10th international IFIP TC 6 conference on Networking—volume part I, NETWORKING’11. Berlin, Heidelberg: Springer-Verlag; 2011. p. 28–39.

2011 (Wagner et al.) Wagner C, Francois J, State R, Engel T. DANAK: finding the odd! In: 5th International conference on network and system security (NSS), 2011, 2011. p. 161–8.

2011 (Winter et al.) Winter P, Hermann E, Zeilinger M. Inductive intrusion detection in flow-based network data using one-class support vector machines. In: 4th IFIP international conference on new technologies, mobility and security (NTMS), 2011, 2011. p. 1–5.

2013 (Li et al.) Bingdong Li, Jeff Springer, George Bebis, and Mehmet Hadi Gunes. 2013. Review: A survey of network flow applications. J. Netw. Comput. Appl. 36, 2 (March 2013), 567-581. DOI=http://dx.doi.org/10.1016/j.jnca.2012.12.020

2014 (Francesco Palmieri, Ugo Fiore and Aniello Castiglione) Francesco Palmieri, Ugo Fiore, and Aniello Castiglione. 2014. A distributed approach to network anomaly detection based on independent component analysis. Concurr. Comput. : Pract. Exper. 26, 5 (April 2014), 1113-1129. DOI=http://dx.doi.org/10.1002/cpe.3061

2015 (Félix Iglesias, Tanja Zseby) F. Iglesias Vazquez, T. Zseby:
Analysis of network traffic features for anomaly detection. Machine Learning, 101 (2015), 1; 59 - 84.

2014 (Wei Xiong et al.) Hu, H., Peng, W., Qu, Y., Wang, X., Xiong, W., Xiong, N., & Yang, L.T. (2014). Anomaly secure detection methods by analyzing dynamic characteristics of the network traffic in cloud communications. Inf. Sci., 258, 403-415.

2014 (K. Giotis et al.) K. Giotis, C. Argyropoulos, G. Androulidakis, D. Kalogeras, V. Maglaris, Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environments, Computer Networks, Volume 62, 7 April 2014, Pages 122-136, ISSN 1389-1286, http://dx.doi.org/10.1016/j.bjp.2013.10.014.

2012 (Ugo Fiore et al.) Ugo Fiore, Francesco Palmieri, Aniello Castiglione, Alfredo De Santis, Network anomaly detection with the restricted Boltzmann machine, Neurocomputing, Volume 122, 25 December 2013, Pages 13-23, ISSN 0925-2312, http://dx.doi.org/10.1016/j.neucom.2012.11.050.

2013 (Shin-Ying Huang et al.) S. Y. Huang and Y. N. Huang, "Network traffic anomaly detection based on growing hierarchical SOM," 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Budapest, 2013, pp. 1-2.
doi: 10.1109/DSN.2013.6575338

2013 (Duo Liu et al.)  D. Liu, C. H. Lung, I. Lambadaris and N. Seddigh, "Network traffic anomaly detection using clustering techniques and performance comparison," 2013 26th IEEE Canadian Conference on Electrical and Computer Engineering (CCECE), Regina, SK, 2013, pp. 1-4. doi: 10.1109/CCECE.2013.6567739

2015 (Shin-Ying Huang et al.) S. Y. Huang, F. Yu, R. H. Tsaih and Y. Huang, "Network-traffic anomaly detection with incremental majority learning," 2015 International Joint Conference on Neural Networks (IJCNN), Killarney, 2015, pp. 1-8.
doi: 10.1109/IJCNN.2015.7280573

2014 (Duo Liu et al.) D. Liu, C. H. Lung, N. Seddigh and B. Nandy, "Network Traffic Anomaly Detection Using Adaptive Density-Based Fuzzy Clustering," 2014 IEEE 13th International Conference on Trust, Security and Privacy in Computing and Communications, Beijing, 2014, pp. 823-830.
doi: 10.1109/TrustCom.2014.109


Carmen Torrano
Innovación y Laboratorio

No hay comentarios:

Publicar un comentario