【论文阅读】Un enfoque de aprendizaje profundo basado en LSTM para clasificar el tráfico malicioso a nivel de paquete

Título original: Un enfoque de aprendizaje profundo basado en LSTM para clasificar el tráfico malicioso a nivel de paquete
Autor original: Ren-Hung Hwang *, Min-Chun Peng, Van-Linh Nguyen y Yu-Lun Chang
Conferencia de presentación: IEEE ICASI 2019
Enlace original: https://www.mdpi.com/2076-3417/9/16/3414
Título en chino: Un método de aprendizaje profundo para la clasificación de tráfico malicioso a nivel de paquete basado en LSTM

1 Motivación

Recientemente, el aprendizaje profundo se ha aplicado con éxito a la evaluación de la seguridad de la red y los sistemas de detección de intrusos (IDS), con varios avances, como la clasificación del tráfico malicioso mediante redes neuronales convolucionales (CNN) y memoria a corto plazo (LSTM). Sin embargo, estos sistemas de última generación también enfrentan grandes desafíos para cumplir con los requisitos de análisis en tiempo real debido a la sobrecarga de tiempo del preprocesamiento de datos basado en flujo , que requiere tiempo para acumular paquetes de datos en flujos específicos y luego extraer características. Si la detección de tráfico malicioso se puede realizar a nivel de paquete, el tiempo de detección se reducirá considerablemente, lo que hace que la detección de tráfico malicioso en línea en tiempo real basada en tecnología de aprendizaje profundo sea muy prometedora.

En resumen, el autor quiere lograr una cierta precisión de detección mientras realiza la detección de tráfico malicioso a nivel de paquete, para lograr el propósito de la detección en tiempo real.

2 Obra principal del artículo

  • Se propone un enfoque de aprendizaje profundo basado en LSTM para la clasificación a nivel de paquete en IDS. El método puede distinguir la semántica del tráfico malicioso por paquetes, lo que es muy competitivo con los métodos de aprendizaje profundo basados ​​en flujos y, al mismo tiempo, reduce significativamente el tiempo de procesamiento del flujo.
  • Se propone un nuevo modelo de incrustación de palabras y LSTM para clasificar los paquetes entrantes en estados normales y anormales. Los resultados de la evaluación del modelo propuesto en ISCX2012, USTC-TFC2016, el conjunto de datos de IoT de la Universidad Robert Gordon y nuestra colección de bonet Mirai muestran que puede lograr una exactitud y precisión cercanas al 100 %.
  • Se espera que la discusión sobre la clasificación y detección de aprendizaje profundo basado en paquetes proporcione información valiosa y motive a la comunidad de investigación a superar los desafíos restantes, especialmente el objetivo de acelerar el proceso de detección de IDS basado en DL.

3 conjuntos de datos

  • ISCX2012. ISCX2012 contiene paquetes recopilados durante 7 días. Los paquetes recolectados en el primer y sexto día son tráfico normal. En el segundo y tercer día, recolecte paquetes normales y paquetes de ataque. En los días 4, 5 y 7, además del tráfico normal, se recolectaron paquetes HTTP DoS, DDoS e IRC Botnet, Brute Force SSH, respectivamente.
  • USTC-TFC2016 (SMB: bloque de mensajes del servidor; IM: mensajería instantánea; P2P: punto a punto)
    inserte la descripción de la imagen aquí
  • Mirai-RGU (conjunto de datos disponible públicamente de la Universidad Robert Gordon). Este conjunto de datos contiene tráfico de la botnet Mirai, como escaneo, infección, control, tráfico de ataque y tráfico normal de cámaras IP de IoT. Contiene diez tipos de tráfico malicioso, incluidos HTTP Flood, UDP Flood, DNS Flood, Mirai Traffic, VSE Flood, GREIP Flood, GREETH Flood, TCP ACK Flood, TCP SYN Flood y UDPPLAIN Flood. Los conjuntos de datos incluyen la hora, el origen, el destino, el protocolo, la longitud y la información general de la carga útil.
  • Mirai-CCU (datos recogidos por el propio autor). Contiene cuatro tipos de tráfico de ataque: TCP SYN (41 GB), TCP ACK (2,4 GB), HTTP POST (103 GB), UDP (127,06 GB). La estructura de la plataforma de recolección es la siguiente:inserte la descripción de la imagen aquí

4 Método de detección

El marco de detección propuesto por el autor consta principalmente de dos partes: preprocesamiento y clasificación de datos. Se introducen respectivamente los siguientes:

4.1 Preprocesamiento de datos e incrustación de palabras

Nuestro objetivo es clasificar los paquetes entrantes (paquetes individuales, no flujos) en clases benignas o maliciosas. Para lograr esto, en lugar de considerar el flujo completo (p. ej., como un documento), consideramos cada paquete (p. ej., como un párrafo) y construimos oraciones clave a partir de cada paquete, donde cada palabra es un campo de encabezado de paquete A en . Luego, aplicamos incrustaciones de palabras para extraer características semánticas y sintácticas de esta oración. Elegimos considerar el significado de las oraciones en lugar de párrafos completos porque el significado de un párrafo generalmente puede ser capturado por oraciones clave. Aquí, el orden de los campos en cada paquete (fijo para cada tipo de paquete) actúa como algunas reglas gramaticales que son útiles para construir tráfico malicioso (detección basada en firmas) o tráfico benigno (detección de anomalías) es de importancia decisiva. En particular, este modelo basado en paquetes a oraciones puede acelerar significativamente la clasificación del tráfico, ya que el comportamiento y las características de uno o más primeros paquetes pueden revelar completamente si su flujo es malicioso o no . En general, un campo en cada paquete puede ser un byte del encabezado del paquete, un campo del encabezado del paquete o un bloque de la carga útil del paquete . Como experimento preliminar, tratamos un campo en el encabezado del paquete como una palabra y recortamos el paquete a una longitud fija n = 54 bytes . Según la longitud de los campos del paquete, la longitud de la palabra puede variar. El orden estricto de los campos en la estructura del paquete construye las reglas gramaticales subyacentes para las oraciones construidas. Tenga en cuenta que la fase de campo de extracción se puede realizar junto con la lectura/descodificación de paquetes (es decir, el preprocesamiento de datos), por lo que el consumo de recursos es muy eficiente. Además, si la longitud del paquete es inferior a n bytes, se rellenará con ceros . El mecanismo de conversión de paquete a palabra se muestra en la siguiente figura:
inserte la descripción de la imagen aquí
La razón para elegir n=54 bytes es que la mayoría de los paquetes TCP tienen un encabezado MAC de 14 bytes, un encabezado IP de 20 bytes y un encabezado TCP de 20 bytes. La siguiente tabla enumera los campos de encabezado y sus longitudes para los paquetes TCP y UDP:
inserte la descripción de la imagen aquí
Después de aplicar técnicas de incrustación de palabras a los campos en el encabezado del paquete, cada campo de encabezado se incrusta (es decir, en formato de número entero según su índice en el diccionario de todas las palabras) y se remodela (es decir, se dimensiona) y se coloca en un modelo de capacitación basado en LSTM para el tarea. La selección de longitud de palabra (hiperparámetro) y otras estrategias de incrustación de palabras son ajustables y pueden ser especificadas por el entorno de implementación y la aplicación IoT bajo el paraguas del sistema.

4.2 Clasificación

El proceso resumido de formación/validación es el siguiente:

inserte la descripción de la imagen aquí
Después de preprocesar el encabezado del paquete de proceso original (llenado a 54 bytes), los campos extraídos de cada paquete se incrustan con vectores de palabras y se envían al módulo LSTM para capacitación. La estructura del módulo de clasificación es la siguiente:
inserte la descripción de la imagen aquí

5 resultados experimentales

Para la evaluación, utilizamos los conjuntos de datos ISCX2012, USTC-TFC2016, Mirai-RGU y Mirai-CCU. Durante las fases de entrenamiento y prueba, tratamos de incluir cientos o miles de paquetes mientras equilibramos el tráfico benigno y malicioso. En la fase de validación, ejecutamos el modelo de entrenamiento en paquetes extraídos aleatoriamente cada 60 segundos del conjunto de datos seleccionado, es decir, 60 segundos consecutivos de paquetes en el conjunto de datos original manteniendo su orden temporal. En esta etapa, el tráfico sin procesar se alimenta directamente al modelo entrenado sin ninguna manipulación o equilibrio de los dos tipos de tráfico. Las proporciones de tráfico de las configuraciones de entrenamiento/prueba/verificación de los cuatro conjuntos de datos son las siguientes:

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Debido a la gran cantidad de datos de entrada, establecemos el valor del tamaño del mini lote en 100 y el entrenamiento de datos es inferior a 200 épocas. Los resultados de la verificación se muestran en la Tabla 9 y la Tabla 10. A partir de estas dos tablas, podemos observar que nuestro método puede realizar la clasificación con casi un 100 % de exactitud y precisión, lo que supera al trabajo anterior. Sin embargo, dado que las características del tipo de tráfico y el ataque son únicos, la medición del rendimiento de cada escenario también es diferente y depende en gran medida del conjunto de datos de entrenamiento. Con base en nuestra experiencia experimental, notamos que además de ajustar el modelo de aprendizaje y sus parámetros (por ejemplo, la tasa de aprendizaje), las incrustaciones de palabras y las muestras de representación de ataques en el conjunto de datos juegan un papel clave en la mejora del rendimiento .
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
El modelo se entrenó en el conjunto de datos Mirai-RGU y luego se verificó en el conjunto de datos Mirai-CCU Los resultados son los siguientes:
inserte la descripción de la imagen aquí

6 Resumen

La principal contribución de este documento es proponer un nuevo método para representar los datos del paquete de tráfico original (incrustación de vector de palabra para el campo de encabezado del paquete de datos) y usar el modelo LSTM para entrenar, y la verificación en los cuatro conjuntos de datos ha alcanzó un nivel muy alto de precisión. Al mismo tiempo, dado que no hay necesidad de preprocesamiento a nivel de flujo, la velocidad de detección del modelo mejora considerablemente (cuando el autor verifica fuera de línea, un archivo de paquete de datos de 108 MB solo necesita 2 segundos para completar la detección).
El autor cree que los métodos de mejora futuros pueden aumentar el paralelismo (se pueden procesar varios paquetes al mismo tiempo, pero aumentará el consumo de memoria).
También se sugirió una dirección interesante:

Por último, los métodos de clasificación basados ​​en DL son muy vulnerables a los ataques de envenenamiento de datos debido a su dependencia de los datos de entrenamiento. Hasta ahora, hemos encontrado pocos modelos de ataque destinados a evadir los sistemas de clasificación maliciosos basados ​​en aprendizaje profundo, incluido el nuestro. Sin embargo, esto pronto cambiará cuando la popularidad del aprendizaje profundo atraiga a más atacantes para explotar sus vulnerabilidades con fines de piratería o monetización. Por lo tanto, generar/prevenir modelos para el aprendizaje profundo es uno de los temas de investigación de seguridad más interesantes y prometedores.

Supongo que te gusta

Origin blog.csdn.net/airenKKK/article/details/124578931
Recomendado
Clasificación