Detección de anomalías de tráfico de red y entropía





En este artículo, Daniil Volkov, un destacado experto en el área de negocio de Data Science en Neoflex, habla sobre métodos para detectar anomalías de red basados ​​en el uso de la entropía, la principal característica de los sistemas desde el punto de vista de la teoría de la información. También señala algunas formas de detectar anomalías en series de tiempo.



Durante la última década, una gran cantidad de investigación se ha centrado en la entropía como una medida del "caos" inherente a diversas características del tráfico de red. En particular, las series de tiempo de entropía han demostrado ser un método relativamente bueno para detectar anomalías en el tráfico de la red. Las ventajas de este enfoque incluyen:



  • . (, Netflow), .
  • . , , , packets rate (rps) (.., packets rate).
  • . , zero-day.




Así, los sistemas propuestos para la detección de anomalías basados ​​en el concepto de "entropía" analizan los flujos de red y no los paquetes de red individuales. Definamos los flujos de red (en adelante simplemente flujos) como metadatos unidireccionales sobre paquetes de red que tienen los mismos puertos y direcciones IP de origen y destino, así como el tipo de protocolo IP. Es importante tener en cuenta que toda la actividad de la red en la capa 3 de OSI y superior se reduce a flujos, es decir, no se trata solo de conexiones TCP, sino también de protocolos sin estado como UDP e ICMP. Beneficios de utilizar el concepto de arroyos:



  • Son muy fáciles de usar y almacenar información, lo que facilita el análisis;
  • Causar menos problemas de privacidad y datos personales;
  • Es fácil establecer el acceso a la información necesaria en la red, por ejemplo, en forma de Cisco NetFlow, sflow o incluso IPFIX (a su gusto).


Entropía



Los conceptos de entropía en la física estadística y la teoría de la información están bastante próximos entre sí. Además, será un hecho de no menor importancia para nosotros cuando usemos la entropía como una medida de la distribución de las características del tráfico, que la entropía también sirve como una medida de la proximidad del estado del sistema al equilibrio (en la teoría de procesos de desequilibrio, que también puede incluir el intercambio de tráfico de red). Como muchos recuerdan, la entropía clásica de Shannon se define como:







H=i=1npilogpi,









Dónde pi - probabilidad i -ésimo estado del sistema, n - el número de todos los estados posibles del sistema. Para facilitar la interpretación del resultado y excluir la influencia de factores estacionales que cambian n, usaremos la entropía de Shannon normalizada a continuación.







H0=Hlogn,H0[0,1].









Atributos del tráfico de red y series de tiempo de entropía



Ahora queda por explicar exactamente cómo calcularemos H0=Hlogn,H0[0,1] para diversas características del tráfico de red y, lo que es más importante, para cuáles. Varios autores sugieren utilizar una amplia variedad de características, sin embargo, en casi todas las obras, se mantiene el siguiente conjunto básico:



  • IP de origen
  • IP de destino
  • Puerto de origen
  • Puerto de destino.


A veces se sugiere que se amplíe con otras características como registros de flujo o IP para flujos troncales.



Usaremos una serie temporal de magnitud H0 calculado para estas características del tráfico, dentro de ventanas de tiempo de longitud finita. Las longitudes de ventana típicas (se pueden usar superposición, deslizamiento) son de aproximadamente 5 a 10 minutos, considerando que la duración típica de un ataque a una infraestructura de red es de decenas de minutos. Y también esta es la necesidad de una cantidad bastante grande de estadísticas acumuladas. Entonces, si estamos interesados ​​en la entropía de la IP de origen, entonces n es igual al número de direcciones IP únicas en la ventana, y en cuanto al cálculo de probabilidades, la inmensa mayoría de los autores utilizan el número de paquetes con esta característica como una medida de la probabilidad de que dicho paquete en la red (que, en general , es lógico, pero puede usar tanto el número de bytes como el número de flujos). Por ejemplo, si tuviéramos 100 paquetes para 1.1.1.1, 100 paquetes para 1.1.1.2 y 300 paquetes para 2.2.2.2, entonces:







p1.1.1.1=p1.1.1.2=100100+100+300=0.2













p2.2.2.2=300500=0.6













H=(0.2log0.2+0.2log0.2+0.6log0.6)1.37













H0=1.37log30.86.









A continuación, analizaremos los atributos y cuándo tiene sentido considerarlos para los tipos de ataques de interés.



En la mayoría de los estudios relacionados con la entropía y las anomalías de la red, los investigadores se han centrado en la dirección IP de origen y, en consecuencia, en su distribución y entropía. Es una muy buena elección.



En un estudio [Sharma et al. (2015)] los autores experimentaron con diferentes tipos de ataques y analizaron la utilidad de diferentes atributos para detectar estos ataques utilizando un enfoque de entropía. Es decir, se utilizó el conjunto de datos NUST, los tipos de ataques: TCP-SYN flood, UDP flood y Smurf. Para el análisis se tomaron alrededor de 100 mil paquetes de tráfico normal y 10 mil paquetes de tráfico atacado. Los atributos fueron IP de origen, IP de destino, Puerto de origen y Puerto de destino (estándar), pero también se consideraron Banderas (distribución por banderas TCP), Longitud (distribución por longitudes de paquetes), Protocolo (por protocolos).



Como resultado, resultó que es útil utilizar en sistemas de detección de anomalías basados ​​en el enfoque de entropía también los atributos mencionados anteriormente, adicionales al estándar, como la longitud del paquete (muy buenos resultados en el caso de TCP- Ataques SYN). Es relativamente útil usar la entropía por protocolos, ya que produjo resultados significativos solo en casos específicos, como las inundaciones de UDP, pero este tipo de ataques se pueden detectar fácilmente mediante métodos completamente tradicionales de monitoreo de tráfico.



Un algoritmo para detectar anomalías en la red basado en series de tiempo de entropía.



Este método es una generalización del propuesto por los autores [Winter (2011)]. Las generalizaciones se refieren principalmente a los atributos que se deben utilizar para construir un sistema de series de tiempo, así como a los métodos para identificar anomalías en series de tiempo específicas.



Algoritmo



  1. , - . [Winter (2011)] : Src-Dst IP/Port, flow records (1 flow records = Src IP + Dst IP + Src Port + Dst Port + IP Protocol);
  2. ! , . . T ;
  3. ( ). , . σi i -ésima serie temporal de T ;
  4. La idea principal detrás de la detección de cambios repentinos es realizar continuamente pronósticos a corto plazo y determinar la diferencia entre el pronóstico y el valor real. Winter (2011) propone un método de suavizado exponencial simple, pero puede usar algo más complejo (y preciso), desde redes ARIMA hasta LSTM.


Para cada Ti determinamos el error de pronóstico para el momento que nos interesa t :







δi=|Pred(Ti(t))Ti(t)|.









5. Sin embargo, ciertos errores de predicción no tienen la misma importancia porque las series de tiempo base tienen variaciones diferentes. Por este motivo, normalizamos los errores de predicción con respecto a la varianza de la respectiva serie temporal multiplicando por el factor de ponderación:







wi=1σimax(σ1,,σn).







6. Para simplificar el proceso de detección de anomalías, introducimos la característica agregada "puntuación de anomalía":







AS=i=1nδiwi.









7. Si AS>ASthr decimos que se ha registrado una cierta anomalía del tráfico de la red.

Valor umbral ASthr se determina empíricamente en función del número de series de tiempo base n , así como los requisitos de sensibilidad del detector.



Acerca de la configuración de parámetros



Para nuestro algoritmo, necesitamos establecer varios parámetros. Cada combinación de parámetros está asociada con una compensación: una alta tasa de detección debido a muchos falsos positivos, o viceversa.



  • . , . , , , – . , . 5 10 ;
  • . . , 80%;
  • El tamaño de la ventana deslizante para calcular las variaciones . Decidimos establecer el tamaño de la ventana deslizante para calcular la desviación estándar hasta 24 horas. Muy a menudo, dicha ventana deslizante cubre todo el ciclo estacional. En otros casos, recomendamos elegir ventanas que sean múltiplos de 24 horas. Una opción natural alternativa sería 7 días.


Modificaciones adicionales



Bhuyan y col. (2014) investigó un conjunto de métricas de información para determinar su idoneidad para detectar anomalías utilizando métodos similares. Además de la entropía de Shannon antes mencionada y conocida, se probaron la entropía de Hartley, la entropía de Renyi y la entropía generalizada de Renyi. Estas son generalizaciones de la entropía de Shannon, definida por la siguiente fórmula:







Hα(x)=11αlogi=1npiα.









Aquí α0,α1,pi0 ... Como ejercicio, el lector tiene la oportunidad de asegurarse de que cuando α1,Hα tiende a la entropía de Shannon. Entre otras cosas, los autores utilizaron la suposición generalizada de que el tráfico malicioso obedece a una distribución de Poisson y el tráfico legítimo obedece a una distribución gaussiana.



Los autores llegan a las siguientes conclusiones:



  • es importante utilizar el número mínimo de atributos de tráfico. La mayoría de las veces serán direcciones IP o longitudes de paquetes;
  • La entropía de la información da el mejor resultado en la detección de ataques de baja velocidad para valores grandes. α ...


resultados



Dado que Winter (2011) no tenía datos reales para validar, modelaron e inyectaron anomalías sintéticas en el conjunto de datos original. Para ello, una versión modificada de la herramienta FLAME de Brauckhoff et al. (2008), que facilita la introducción de anomalías artificiales en la transmisión de datos. Los autores han implementado dos de estos "generadores de flujo":



  • HTTP-flood: HTTP-. 11 500 «». -. , , . - HTTP-. 220,000 , ();
  • : , . IP- /16-, 65 534 IP-. TCP- 21, FTP. , . 67000 . , (D).


La siguiente figura muestra el análisis de entropía para todo el día 28 de octubre. El gráfico superior es el conjunto de datos original, mientras que el gráfico inferior contiene nuestras anomalías adicionales (C y D). Nuevamente, ambos gráficos contienen series de tiempo para los cinco atributos. Serie temporal negra para AS es el más interesante. En ambos gráficos, hemos resaltado anomalías particularmente fuertes y las hemos etiquetado de A a D. A y B representan anomalías "naturales" que ya estaban presentes en el conjunto de datos original.







Para ilustrar cómo todo esto puede pasar desapercibido para las herramientas de monitoreo tradicionales, la siguiente figura muestra tres estadísticas de tráfico populares: bytes, paquetes y flujos por minuto para el mismo tráfico que en el ejemplo anterior. Las anomalías (etiquetadas de la A a la D) desaparecen en el ruido.







Se llevó a cabo un experimento similar en Neoflex, solo que las anomalías son "naturales", es decir, ya estaban en los datos del cliente.











A modo de comparación: paneles de control de tráfico de red estándar para enrutadores durante el mismo período:







podemos ver que las desviaciones bastante serias en la distribución de las características del tráfico de red permanecieron invisibles a través de las métricas estándar. Cómo, sobre la base de la información recibida, identificar las causas de estas anomalías debe discutirse en una conversación separada. Mencionemos que la búsqueda de un conjunto de valores de características que cambiaron significativamente la entropía se reduce al estudio de la dinámica de la distribución de estas mismas características, y en casos simples se puede realizar mediante ordenamiento ordinario por probabilidades. pi ...



Resumiendo



Entonces, hemos implementado y probado un algoritmo para detectar una amplia clase de anomalías en la red a través de series de tiempo de entropía. Los ataques como inundaciones, gusanos y exploraciones a menudo conducen a este tipo de anomalías. La idea principal del algoritmo es realizar constantemente pronósticos a corto plazo y determinar la diferencia entre los pronósticos y el valor de entropía realmente observado. La entropía sirve como indicador del equilibrio del proceso. Así, los cambios abruptos en la entropía indican un cambio cualitativo en la estructura (a través de cambios en la distribución de características) del sistema. Es importante tener en cuenta que los ataques aún deben alcanzar una cierta escala para ser detectados. Los ataques a muy pequeña escala pueden ser invisibles en una conexión de red de alta velocidad. Creemos,que los algoritmos de este tipo son una herramienta valiosa para los operadores de redes y los departamentos de seguridad de la información de diversos tipos de empresas. Se puede configurar fácilmente, implementar rápidamente y no requiere datos de entrenamiento.



Fuentes de información



Philipp Winter, Harald Lampesberger, Markus Zeilinger y Eckehard Hermann 2011 . "Sobre la detección de cambios abruptos en las series temporales de entropía de la red"

Sidharth Sharma, Santosh Kumar Sahu, Sanjay Kumar Jena 2015 . "Sobre la selección de atributos para la detección basada en entropía de DDoS"

Monowar H. Bhuyan, DK Bhattacharyya, JK Kalita . "Métricas de información para la detección de ataques DDoS de baja velocidad: una evaluación comparativa"

Brauckhoff, D., Wagner, A., May, M.: "FLAME: Un motor de modelado de anomalías de nivel de flujo". En: Proc. de la conferencia sobre experimentación y prueba de ciberseguridad. páginas. 1 - 6. Asociación USENIX, Berkeley, CA, EE. UU. (2008)



All Articles