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

lunes, 25 de septiembre 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 de la descripción de NetFlow, virtudes, defectos y limitaciones. Para darles solución han surgido varias propuestas que vamos a describir a continuación.


sFlow

Sampled Flow (sFlow) es un estándar para la exportación de paquetes de la capa 2. Dado que es abierto, puede resultar en una alternativa para fabricantes que no soporten NetFlow. Se encuentra definido en el RFC 3176 y su versión actual es la 5.

sFlow presenta algunas similitudes con Netflow porque que se sitúa en switches y routers y exporta información sobre los flujos. Sin embargo el protocolo presenta también algunas diferencias. Una es que sFlow no tiene noción de flujos o de agregación de paquetes.

Este protocolo nació para reducir el coste computacional de NetFlow y ayudar en el análisis en tiempo real. Hay que tener en cuenta que en algunos entornos muy especiales como "internet backbones" era demasiado costoso debido al nivel de procesado requerido por cada paquete y la gran cantidad de flujos simultáneos.

Fuente: sflow.org
sFlow utiliza el muestreo para solucionar problemas de escalabilidad de NetFlow y aplicarse a redes de alta velocidad. Aplica dos tipos de muestreo: El aleatorio de paquetes u operaciones en la capa de aplicación; y el muestreo basado en tiempo de los contadores.

Flexible NetFlow 

Esta implementación permite al usuario definir muchos aspectos de los flujos, y exportar casi todo lo que pase por el router, incluyendo paquetes enteros y trabajando en tiempo real como sFlow. Permite definir cómo se quieren optimizar los recursos de la red, reducir el coste de operaciones, planear la capacidad de la red, identificar la aplicación óptima para la calidad del servicio, definir aspectos para la detección de incidentes de seguridad y por tanto, lógicamente, anomalías en la red. Puede jugar un papel importante en la detección de ataques como denegaciones de servicio o malware. Además, aporta flexibilidad y escalabilidad sobre el flujo de datos a NetFlow. También permite personalizar la identificación de tráfico y monitorizar comportamientos específicos en la red, así como monitorizar un rango más amplio de información de los paquetes y producir información sobre el comportamiento de la red.

IPFIX (IP Flow Information Export)

IPFIX es un protocolo definido por el IETF y es el estándar que define cómo la información de los flujos IP se debe formatear y transferir de un exportador a un colector. Sobre IPFIX se pueden consultar los RFC 3917, 7011, 7015, 5103.

La idea con IPFIX fue crear un estándar universal y común para exportar información de los flujos IP de los routers, sondas y otros dispositivos usados para la facturación o la gestión de la red. Algunas de las diferencias con Netflow son que proporciona más características y admite campos de longitud variable.

Diferentes enfoques

Históricamente, para el análisis de flujos de Netflow se han utilizado varias técnicas, tales como técnicas estadísticas, basados en conocimiento y las técnicas de machine learning.
  • El enfoque de estadísticas es un método bastante utilizado en el análisis de Netflow. Tiene la ventaja de ser fácil de implementar, conseguir buenos resultados y consumir pocos recursos. Sin embargo, el punto negativo está en que las detecciones sólo son buenas para casos conocidos y no son flexibles en la adaptación para la detección de nuevos casos. Hay varios trabajos que utilizan este enfoque, como [1] y [2], que proponen IDS basados en modelos estadísticos. Sawaya et al. [3] propusieron un enfoque para detección de ataques basado en estadísticas sobre los hosts. Incluso se ha utilizado para la detección de botnets [4].
  • Sistemas basados en conocimiento. En esta categoría se engloban sistemas en los que se establecen modelos o reglas de acuerdo a los que se clasifica la información. Por ejemplo, puede tratarse de modelos construidos manualmente o sistemas expertos en los que se definan una serie de reglas para la clasificación. También podrían usarse artilugios como las máquinas de estados finitas para definir estos modelos. [5].
  • Las técnicas de machine learning permiten obtener conocimiento por medio de la extracción de patrones. Esto lo hace un método idóneo para la detección de casos que no se conocían previamente.

En la última parte de esta serie de artículos nos centraremos en el último enfoque, que engloba una serie de técnicas para extraer conocimiento mediante la búsqueda de patrones. Los algoritmos de machine learning son capaces de generalizar comportamientos a partir de información suministrada en forma de ejemplos, son técnicas útiles y utilizadas para la detección de anomalías.

Más información:
[1] Proto A, Alexandre LA, Batista ML, Oliveira IL, Cansian AM. Statistical model applied to netflow for network intrusion detection. Transactions on Computational Science 2010;11:179-91.

[2] Bin L, Chuang L, Jian Q, Jianping H, Ungsunan P. A NetFlow based flow analysis and monitoring system in enterprise networks. Computer Networks 2008;52(5): 1074-92.

[3] Sawaya Y, Kubota A, Miyake Y. Detection of attackers in services using anomalous host behavior based on traffic flow statistics. In: 2011 IEEE/IPSJ 11th international symposium on applications and the internet (SAINT), July 2011. p. 353-9.

[4] Barsamian AV. Network characterization for botnet detection using statisticalbehavioral methods. Master's thesis, Thayer School of Engineering, Dartmouth College, USA; June 2009.

[5] Estévez-Tapiador et al. [4] utilizaron esta técnica para modelar protocolos de red. Estévez-Tapiador JM, García-Teodoro P, Díaz-Verdejo JE. Stochastic protocol modeling for anomaly based network intrusion detection. In: Proceedings of IWIA 2003. IEEE Press, ISBN 0-7695-1886-9; 2003. p. 3–12.


Carmen Torrano
Equipo de Innovación y Laboratorio

No hay comentarios:

Publicar un comentario