Uso de Software Libre y Machine Learning para mejorar la Deteccin de Intrusos en una Red

 

Using Free Software and Machine Learning to Improve Intrusion Detection in a Network

 

Utilizao de Software Livre e Aprendizagem Automtica para melhorar a Deteco de Intruses numa Rede

 

 

Luis Eduardo Carrizo-Garcia I
luis.carrizogarcia7414@upse.edu.ec  https://orcid.org/0000-0002-9656-9917
Mara Daniela lvarez-Galarza II
malvarez@upse.edu.ec 
https://orcid.org/0009-0004-2209-0606
 

 

 

 

 

 

 

 

 

 


Correspondencia: luis.carrizogarcia7414@upse.edu.ec

 

Ciencias Tcnicas y Aplicadas

Artculo de Investigacin

 

 

* Recibido: 12 de agosto de 2024 *Aceptado: 24 de septiembre de 2024 * Publicado: 07 de octubre de 2024

 

        I.            Universidad Estatal Pennsula de Santa Elena, Ecuador.

      II.            Universidad Estatal Pennsula de Santa Elena, Ecuador.


Resumen

Este estudio integra tcnicas de Machine Learning (ML) con el sistema de deteccin de intrusiones Snort para mejorar la identificacin de ataques DDoS. El objetivo es reducir los falsos positivos y aumentar la precisin en la deteccin de amenazas en redes complejas. El mtodo consisti en entrenar un modelo Random Forest utilizando el dataset CICIDS2017 y luego implementarlo junto a Snort en un entorno de red controlado. Los resultados mostraron un aumento en la precisin del 52.8% al 70.71%, y en la exactitud del 50.8% al 65.68%, con un incremento del F1-Score de 64.5% a 78.42%. Estos hallazgos demuestran que la integracin de ML con Snort mejora significativamente la capacidad de deteccin y mitigacin de incidentes en tiempo real. Se recomienda investigar el uso de otros algoritmos de ML y probar en diferentes escenarios para continuar optimizando el sistema.

Palabras clave: machine learning; deteccin de intrusiones; Snort, DDoS, ciberseguridad.

 

Abstract

This study integrates Machine Learning (ML) techniques with the Snort intrusion detection system to improve the identification of DDoS attacks. The goal is to reduce false positives and increase the accuracy of threat detection in complex networks. The method consisted of training a Random Forest model using the CICIDS2017 dataset and then deploying it alongside Snort in a controlled network environment. The results showed an increase in precision from 52.8% to 70.71%, and in accuracy from 50.8% to 65.68%, with an increase in the F1-Score from 64.5% to 78.42%. These findings demonstrate that integrating ML with Snort significantly improves the ability to detect and mitigate incidents in real time. It is recommended to investigate the use of other ML algorithms and test in different scenarios to continue optimizing the system.

Keywords: machine learning; intrusion detection; Snort, DDoS, cybersecurity.

 

Resumo

Este estudo integra tcnicas de Machine Learning (ML) com o sistema de deteo de intruso Snort para melhorar a identificao de ataques DDoS. O objetivo reduzir os falsos positivos e aumentar a preciso da deteo de ameaas em redes complexas. O mtodo consistiu em treinar um modelo Random Forest utilizando o conjunto de dados CICIDS2017 e depois implement-lo juntamente com o Snort num ambiente de rede controlado. Os resultados mostraram um aumento da preciso de 52,8% para 70,71%, e da exatido de 50,8% para 65,68%, com um aumento do F1-Score de 64,5% para 78,42%. Estas descobertas demonstram que a integrao do ML com o Snort melhora significativamente a deteo de incidentes em tempo real e as capacidades de mitigao. Recomenda-se investigar a utilizao de outros algoritmos de ML e testar em diferentes cenrios para continuar a otimizar o sistema.

Palavras-chave: aprendizagem automtica; deteo de intruso; Snort, DDoS, cibersegurana.

 

Introduccin

En el entorno actual de la ciberseguridad, los sistemas de informacin y las telecomunicaciones se enfrentan a amenazas y ataques cibernticos cada vez ms sofisticados. Por lo que se requiere contar con una Arquitectura de Ciberseguridad robusta, dentro de esta se encuentran los denominados sistemas de deteccin de intrusiones (IDS), los cuales desempean un papel importante en la proteccin contra estas amenazas y ataques cibernticos (Leiva, 2015). Sin embargo, una limitacin comn de muchos IDS es su dependencia de reglas predefinidas para detectar comportamientos anmalos y potencialmente maliciosos en el trfico de la red. Esta autonoma los deja vulnerables a nuevos ataques que no saben que coinciden con las reglas almacenadas en sus bases de datos, lo que podra generar altos niveles de falsas alarmas o falsos positivos e incapacidad para detectar nuevas amenazas.

Segn (IBM, 2024), un sistema de deteccin de intrusiones (IDS) acta como un vigilante de la red, examinando constantemente el flujo de datos y los equipos conectados para identificar cualquier actividad que pueda indicar un ataque ciberntico, un comportamiento anmalo o una violacin de las normas de seguridad establecidas.

 

Desarrollo

Clasificacin de los IDS

Segn Ahmad et al., (2021), Los IDS se clasifican en dos categoras principales: por su implementacin y por su mtodo de deteccin. A su vez, cada una de estas categoras se subdivide en dos grupos adicionales: en la clasificacin por implementacin, encontramos los IDS basados en red y los basados en host; mientras que, en la clasificacin por deteccin, se distinguen los IDS basados en firmas y los basados en anomalas, a continuacin, en la Figura 1 se puede visualizar dicha clasificacin.

 

Figura 1: Clasificacin de los IDS.

Fuente: (Ahmad et al., 2021).

 

Mtodo de implementacin basado en IDS

En cuanto el mtodo de implementacin los IDS se subclasifican como:

 

IDS Basado en Host (HIDS)

Estn diseados para operar de manera autnoma en cada dispositivo. Su funcin principal es monitorear continuamente las acciones que se llevan a cabo dentro del sistema, comparndolas con las normas de seguridad establecidas. Sin embargo, la necesidad de desplegar un HIDS en cada equipo que se desee proteger implica una carga computacional adicional en cada nodo, lo que puede comprometer el desempeo general del sistema de deteccin de intrusiones (Kabiri & Ghorbani, 2005).

 

IDS Basado en Red (NIDS)

Actan como centinelas digitales, desplegados en puntos estratgicos de la red para salvaguardar todos los dispositivos conectados. Estos sistemas analizan de forma continua el flujo de datos en busca de patrones que indiquen un posible ataque o una violacin de las polticas de seguridad (Ahmad et al., 2021).

Mtodo de deteccin basado en IDS

En cuanto al mtodo de deteccin se subdividen en:

 

Deteccin basada en firmas (SIDS)

Funciona mediante la creacin de "huellas digitales" nicas para cada tipo de ataque. Estas huellas se almacenan en una base de datos y se comparan con el trfico de la red en tiempo real. Si se encuentra una coincidencia, se genera una alerta (Axelsson, 2000).

 

Deteccin basada en anomalas (AIDS)

Establece un patrn de comportamiento tpico y saludable para la red. Cualquier accin que se desve significativamente de este patrn se considera sospechosa y potencialmente maliciosa(Filippo, 2000).

 

Arquitectura de un IDS

En la Figura 2, se observa la arquitectura bsica de un Sistema de Deteccin de Intrusiones (IDS), destacando el proceso desde la captura y anlisis de paquetes de red, hasta la comparacin de estos con firmas o patrones de ataques conocidos, y la generacin de alertas cuando se detectan coincidencias, lo cual permite identificar y responder a posibles amenazas en la red.

 

Figura 2: Arquitectura de IDS.

Fuente: (Thakkar y Lohiya, 2020).

 

Tipos de NIDS en el mercado

Esta investigacin se enfoca en los NIDS porque representan una lnea de defensa esencial en la proteccin de redes, interceptando trfico malicioso antes de que pueda causar daos. Los NIDS son especialmente tiles en entornos donde la proteccin de datos es primordial y donde la prevencin de intrusiones es clave para la continuidad operativa.

Por un lado, Snort es el sistema de prevencin de intrusiones de cdigo abierto lder, que define la actividad maliciosa en la red mediante un conjunto de cdigos para identificar y alertar sobre paquetes coincidentes, y puede interceptar estos paquetes en lnea. Sus tres principales aplicaciones son rastreadoras de paquetes, registrador de paquetes para depuracin y sistema completo de prevencin de intrusiones (Snort, 2024). Zeek, anteriormente conocido como Bro, fue desarrollado por Vern Paxson en los aos 1990 y renombrado en 2018 para reflejar su crecimiento. A diferencia de dispositivos de seguridad dinmicos, Zeek utiliza "sensores" para monitorear discretamente patrones de comunicacin, creando registros precisos para anlisis manual o herramientas SIEM (zeek, 2024). Por otro lado, el sistema de prevencin denominado Suricata es un software de anlisis de red y deteccin de amenazas de alto rendimiento, de cdigo abierto, utilizado ampliamente en organizaciones para proteger sus activos (Suricata, 2024).

La importancia de este estudio radica en la necesidad urgente de mejorar los sistemas de deteccin de intrusos para hacer frente a la evolucin constante de los ataques cibernticos. Los ataques son cada vez ms sofisticados y variados, y los mtodos tradicionales basados en firmas no son suficientes para garantizar una proteccin adecuada. Si se integran tcnicas de Machine Learning con el sistema de deteccin de intrusiones Snort, entonces se mejorar la capacidad de deteccin y mitigacin de incidentes, reduciendo la tasa de falsos positivos.

 

Estado del arte

Una revisin de la literatura sobre la aplicacin del aprendizaje automtico (ML) en sistemas de deteccin de intrusiones (IDS) revela un creciente inters en su capacidad que mejora la precisin y escalabilidad de los IDS. Estudios previos demuestran que los algoritmos como mquinas de vectores de soporte (SVM), redes neuronales artificiales (ANN) y aprendizaje profundo (DL) son efectivos para detectar comportamientos anormales en el trfico de red (Elshafie et al., 2020).

AbdulRaheem et al. (2024) encuentran mejoras notables en la precisin de deteccin de ataques DDoS al integrar ML con Snort y Zeek. El Aeraj y Leghris (2024) confirman que ML logra reducir las falsas alarmas y mejorar la deteccin de amenazas emergentes con Snort.

Otros estudios, como el de Fang y Liu (2011), muestran cmo los sistemas basados en ML pueden aprender continuamente, mejorando la deteccin en entornos dinmicos. Enigo et al. (2020) proponen un marco hbrido de ML que mejora la deteccin y reduccin de falsos positivos. Faizi et al. (2022) comparan tcnicas de ML en Snort, encontrando que algunas ofrecen mejor precisin y velocidad en la deteccin de amenazas en tiempo real.

Amador et al. (2006) demuestran la capacidad de ML para detectar patrones anmalos en escaneos de puertos, mientras que Janampa Patilla et al. (2021) muestran mejoras en la seguridad de redes empresariales con ML y Snort. Guijarro Rodrguez et al. (2024) y Perdign Llanes (2022) destan la efectividad de ML en la proteccin de infraestructuras crticas y redes empresariales, respectivamente.

Montes Vallejo (2023) y Chen y Lai (2023) revisan el uso de IA y ML en ciberseguridad, y la efectividad de ML en la deteccin de ataques DDoS en plataformas especficas. Coscia et al. (2024) mencionan que, mejoran la efectividad de IDS con reglas basadas en rboles de decisin, y Garba et al. (2024) proponen un marco que combina tcnicas tradicionales de ML con Snort para proteger dispositivos IoT y controladores SDN (Software-Defined Networking) que gestionan el trfico de red de manera programable y centralizada contra ataques DDoS.

Pantoja et al., (2021) comparan tcnicas de ML, destacando la reduccin de falsas alarmas y la mejora en la deteccin de amenazas. Estos estudios demuestran la capacidad de ML para mejorar los IDS, aunque la mayora se centra en aspectos tericos o escenarios de prueba, indicando una necesidad de estudios prcticos para validar la integracin de ML y Snort en entornos reales.

 

SNORT

Para entender la posicin destacada de ciertas herramientas en la deteccin y prevencin de intrusiones, resulta relevante examinar estudios especficos que evalan su desempeo bajo condiciones de ataque. En este sentido, el estudio realizado por Prabowo et al. (2023), confirma que Snort es la mejor opcin entre las herramientas de Sistemas de Deteccin de Intrusiones (IDS) evaluadas debido a su excelente desempeo en la deteccin de intrusiones a nivel de red y sus capacidades de mitigacin significativa de ataques de seguridad (DDoS).

Snort demuestra ser eficaz en el monitoreo de la calidad del servicio (QoS), mostrando un rendimiento excepcional en trminos de rendimiento, baja latencia, baja fluctuacin y bajas tasas de prdida de paquetes durante los ataques Flood. Esta capacidad destaca la capacidad de Snort para preservar la integridad de la red y reducir el rendimiento en condiciones de alta carga, posicionndola como la herramienta ms eficaz para la proteccin DDoS segn el anlisis del estudio (Prabowo et al., 2023).

Snort procesa registros (logs) y eventos mediante la captura y registro del trfico de red, generando alertas basadas en reglas configuradas. Los registros de eventos se pueden almacenar en una variedad de formatos, como archivos de texto, archivos binarios (pcap) o bases de datos (CSV), lo que facilita un anlisis integral de los datos capturados (Snort, 2024). Adems, Snort ofrece formas sencillas de administrar estos registros, permitindole almacenarlos localmente, cargarlos en un servidor remoto o integrarlos con un sistema de monitoreo centralizado de administracin de eventos y seguridad (SIEM).

En comparacin con otros IDS, Snort destaca por su variedad de reglas y firmas que son actualizadas peridicamente, lo que mejora enormemente la deteccin de amenazas conocidas. Su capacidad de personalizacin y flexibilidad le permite ajustar y crear reglas especficas adaptadas a las necesidades de la red administrada, algo que no siempre es posible con otros IDS. Adems, la extensa comunidad de usuarios y desarrolladores de Snort aporta constantemente nuevo cdigo y mejoras, proporcionando un slido soporte gratuito. Tambin permite integrarla con otras herramientas de seguridad lo que permite aumentar su capacidad de respuesta y eficiencia durante incidentes (Snort, 2024).

 

Incidentes de seguridad

Un incidente de seguridad es cualquier evento que compromete la integridad, confidencialidad o disponibilidad de la informacin(Chicano Tejada, 2023). Los incidentes de seguridad se pueden clasificar como se observa en la siguiente Figura 3

 

 

 

 

 

 

 

 

Figura 3: Tipo e incidentes de seguridad.

Fuente: (Chicano Tejada, 2023).

 

Estadsticas de los tipos de incidentes

La eleccin de hackmageddon.com como referencia para esta investigacin se fundamenta en la confiabilidad y la continuidad de este proyecto, debido a que se ha documentado ataques cibernticos desde hace ms de una dcada. Adems, la accesibilidad de los datos en formato bruto, ofrecidas directamente por el autor, permite que los investigadores obtengan informacin valiosa y actualizada sobre los tipos y frecuencias de ataques. Esta referencia es especialmente relevante debido a la falta de otras fuentes que mantengan una coleccin tan extensa y bien organizada de datos histricos de ataques cibernticos.

 

Figura 4: Cantidad de ataques Q1 2024.

Fuente: https://www.hackmageddon.com/2024/08/27/16-31-may-2024-cyber-attacks-timeline/

Segn la Figura 4 elaborado con los datos por hackmageddon.com sobre las tcnicas de ataque ms comunes en el primer trimestre de 2024, se observa que los Malware representan la mayor proporcin de los ataques, constituyendo el 20% del total. Le sigue el Ransomware con un 17%, lo que refleja la prevalencia de estos ataques en el panorama de ciberseguridad actual.

La explotacin de vulnerabilidades ocupa el tercer lugar con un 14%, seguida de los ataques de toma de control de cuentas con un 11% y los ataques dirigidos con un 8%. Por otro lado, los ataques DDoS y las estafas (Scam) representan 3% y 3% respectivamente, mostrando una menor incidencia en comparacin con las tcnicas dominantes (Passeri, 2024).

 

Dataset

CICIDS2017 (Canadian Institute for Cybersecurity Intrusion Detection System 2017) es un conjunto de datos ampliamente utilizado en la investigacin y desarrollo de sistemas de deteccin de intrusiones (IDS). Fue creado por el Canadian Institute for Cybersecurity y diseado para proporcionar una referencia estndar en el anlisis y evaluacin de tcnicas de deteccin de intrusiones, incluyendo enfoques basados en machine learning y deep learning (Montes et al., 2023).

El dataset incluye varios tipos de ataques; sin embargo, este artculo se enfoca nicamente en los ataques DoS/DDoS. El conjunto de datos se reduce a un total de 79 atributos (incluyendo el atributo de clase) y 225745 instancias sin entrar en la etapa de procesamiento.

Un NIDS desarrollado con mtodos de Machine Learning (ML) generalmente sigue tres fases principales:

                    Fase 1: Procesamiento de datos.

                    Fase 2: Entrenamiento.

                    Fase 3: Prueba.

En la fase de preprocesamiento, el conjunto de datos se transforma al formato adecuado mediante codificacin, normalizacin, y limpieza de datos faltantes o duplicados. Posteriormente, los datos se dividen en un conjunto de entrenamiento (80%) y un conjunto de prueba (20%). Durante la fase de entrenamiento, el algoritmo ML vara el tiempo de entrenamiento segn el tamao del conjunto de datos y la complejidad del modelo. Finalmente, el modelo entrenado se evala usando el conjunto de prueba para predecir si el trfico de red pertenece a la clase benigno (normal) o maligno (ataque) (Ahmad et al., 2021).

 

Figura 5: Metodologa de sistema de deteccin de intrusos basados en red (NIDS) y en aprendizaje automtico (ML).

Fuente: (Ahmad et al., 2021).

 

Mtodos de IA para NIDS

En la Figura 6, se visualiza los algoritmos de aprendizaje automtico (ML) y aprendizaje profundo (DL) utilizados en los sistemas de deteccin de intrusiones basados ​​en red (NIDS). Los algoritmos de ML comnmente utilizados incluyen rboles de decisin (DT), algoritmos de aprendizaje automtico (K-vecino o KNN), redes neuronales artificiales (ANN), mquinas de vectores de soporte (SVM) y agrupacin en clsteres K-Mean. En particular, el rbol de decisin clasifica y devuelve datos a travs de una estructura de rbol que toma decisiones basadas en atributos, lo que facilita la interpretacin del proceso de clasificacin (Y. Xin et al., 2018). En este sentido, El algoritmo Random Forest basado en diferentes rboles de decisin mejora la precisin al combinar predicciones de diferentes modelos, lo que ayuda a reducir el riesgo de sobreajuste y mejorar la robustez (K. Rai et al., 2015).

Por otro lado, los algoritmos de Deep Learning (DL), como, redes neuronales recurrentes (RNN), redes neuronales para aprender representaciones de datos como autoEncoders (AE), redes neuronales profundas (DNN), redes neuronales convolucionales (CNN) y redes de creencias profundas (DBN) (Ahmad et al., 2021). Son utilizados por los IDS para mejorar la capacidad de identificar y responder amenazas y/o ataques cibernticos, gil y eficazmente.

 

Figura 6: Taxonoma para modelos de ML y DL basados en NIDS.

Fuente: (Ahmad et al., 2021).

 

Evaluacin de NIDS con la matriz de confusin

La matriz de confusin es una herramienta importante para evaluar el rendimiento de las tcnicas de Machine Learning (ML) y Deep Learning (DL) utilizadas en los Sistemas de Deteccin de Intrusos (NIDS). Esta matriz bidimensional proporciona informacin sobre las predicciones del modelo en relacin con los resultados reales, dividiendo los resultados en cuatro categoras (Ahmad et al., 2021):

      1.            True Positive (TP): Instancias correctamente clasificadas como ataques por el modelo.

      2.            False Negative (FN): Instancias de ataque que fueron clasificadas incorrectamente como normales.

      3.            False Positive (FP): Instancias normales clasificadas errneamente como ataques.

      4.            True Negative (TN): Instancias normales correctamente identificadas como tales.

Precisin:

(1)

Recall o Tasa de deteccin:

(2)

Tasa de falsas alarmas:

(3)

Tasa de negativos verdaderos:

(4)

Accuracy:

(5)

La diagonal de la matriz de confusin consta de valores True Positive (TP) y True Negative (TN), que representan la prediccin correcta del modelo, es decir, cuando el modelo identific correctamente un ataque o distribuy el trfico normal en el lugar correcto. Por otro lado, los valores fuera de la diagonal son False Negative (FN) y False Positive (FP), indican un error en el modelo cuando no detecta ataques (FN) o cuando no distribuye el trfico normal (Deng et al., 2016).

 

Tabla 1: Matriz de confusin.

Prediccin/Clase Real

Prediccin: Ataque

Prediccin: Normal

Real: Ataque

True Positive (TP)

False Negative (FN)

Real: Normal

False Positive (FP)

True Negative (TN)

Fuente: (Deng et al., 2016).

 

Este estudio tiene como objetivo integrar tcnicas de aprendizaje automtico (ML) con Snort para mejorar su capacidad de deteccin de intrusiones. Se busca desarrollar un sistema hbrido que combine las reglas predefinidas de Snort con la adaptabilidad y precisin de los modelos de ML. La investigacin pretende demostrar que esta integracin puede reducir significativamente las falsas alarmas o falsos positivos y mejorar la deteccin de nuevas amenazas, proporcionando una defensa ms robusta y dinmica contra los ataques cibernticos.

 

 

 

Metodologa

En este estudio se utilizaron dos enfoques de investigacin. Por un lado, el enfoque experimental se aplic durante la fase de pruebas, en la cual los sistemas NIDS fueron evaluados en un entorno de red controlado mediante simulaciones de ataques reales y el uso de tcnicas de aprendizaje automtico, lo que permiti medir variables como la precisin y la sensibilidad. Por otro lado, el enfoque descriptivo permiti documentar el comportamiento de los NIDS a lo largo de los experimentos, realizando una comparacin de las herramientas empleadas y su respuesta frente a diversas amenazas. Esto facilit la evaluacin de su eficacia y permiti sugerir mejoras para su implementacin.

 

Preguntas de investigacin

Q1: Cmo afecta la integracin de Machine Learning a la precisin de Snort en la deteccin de intrusos?

Q2: Qu diferencias de comportamiento se observan en la deteccin de intrusiones con y sin la integracin de Machine Learning?

 

Herramientas y software

Se ha seleccionado a la herramienta Snort para este estudio, debido a que, es uno de los sistemas de deteccin de intrusiones ms conocidos y confiables, y su capacidad para reconocer trfico potencialmente malicioso a travs de la red lo hace ideal para detectar amenazas (Adiwal et al., 2023).

 

Configuracin de red

Para la configuracin de red, se utiliza un servidor fsico con un CPU de 2 ncleos y 16 GB de memoria RAM, ejecutando el sistema operativo Ubuntu Server 24.04.1, en el cual se encontraba instalado el NIDS Snort en su versin 2.9.15.1. La vctima fue una mquina fsica con el sistema operativo Ubuntu Server 24.04.1, mientras que el atacante oper desde un sistema con Kali Linux, ubicado en un segmento de red diferente. Todo el entorno se desarroll en un escenario real pero controlado, con direcciones IP pblicas expuestas a Internet, asignadas tanto a la mquina de la vctima como al atacante, cada una en segmentos de red distintos. La configuracin se detalla en la Figura 7.

 

Figura 7: Topologa fsica de la red.

Fuente: Elaboracin propia.

 

Tabla 2: Configuracin de cada sistema.

Nombre del sistema

CPU

Memoria

Sistema Operativo

Sistema de Gestin Institucional (Victima)

Intel Xeon serie 5400

16 GB

Ubuntu Server 24.04.1

NIDS Snort 2.9.15.1

Intel Xeon serie 5100

16 GB

Ubuntu Server 24.04.1

Kali Linux

Intel Core I5

12 Gb

Kali Linux

Fuente: Elaboracin propia.

 

 

Fases de procesamiento, entrenamiento y prueba del DataSet con Machine Learning

Los algoritmos de aprendizaje automtico (ML), especialmente los rboles de decisin son importantes en los sistemas de deteccin de intrusiones en la red (NIDS). En este estudio se utiliz un modelo Random Forest con 100 rboles para detectar ataques DDoS, permitiendo la seleccin automtica de caractersticas relevantes y evitando la sobrecarga mediante tcnicas de poda, todo este proceso se realiz con la ayuda de la librera scikit-learn presente en el script en Python. Con ello, se proces el grupo de datos del conjunto del DataSet CICIDS2017, y se separaron las variables predictivas y las variables objetivo normalizaron los valores utilizando StandardScaler. Esto result en un DataFrame listo para el entrenamiento del modelo.

Durante la fase de entrenamiento, los datos se dividieron en conjuntos de entrenamiento y prueba, utilizando el algoritmo Random Forest para entrenar el modelo y monitoreando su desempeo con una matriz de confusin e informes de clasificacin. Este estudio incorpor parmetros claves como precisin, recall y F1-score, as como el tiempo de respuesta del modelo, asegurando as la medicin de la eficiencia en tiempo real a travs de un script en Python.

 

Pruebas con ataques DDoS

Pruebas sin ML en snort

En el proceso de prueba sin Machine Learning (ML), se utiliz Snort en su configuracin tradicional basada en reglas estticas para detectar posibles intrusiones. El trfico de red fue generado simulando trfico benigno normal en la red como ataques maliciosos DDoS con la ayuda de la herramienta Hping3 durante un tiempo definido. Snort analiz el trfico en tiempo real utilizando las reglas predefinidas, que estn diseadas para detectar patrones especficos asociados a ataques conocidos. Las alertas generadas por Snort fueron registradas en el archivo de alerta snort.alert.fast. Est prueba se enfoc en observar cmo Snort maneja el trfico sin la ayuda de tcnicas de ML para identificar anomalas o intrusiones y, con un script en Python se evalu el trfico de red capturado para determinar su eficacia con la matriz de confusin.

 

Pruebas con ML en snort

La prueba de integracin de Machine Learning (ML) en Snort consisti en tomar ya el modelo entrenado y probado con Random Forest y el DataSet de CICIDS2017 con el trfico etiquetado en formato CSV, los cuales fueron procesados para eliminar valores nulos y normalizar sus caractersticas. Luego, mediante un script en Python se analiz el trfico de red en tiempo real, extrayendo las mismas caractersticas (columnas) utilizadas durante la fase de entrenamiento del modelo y clasificando los datos que registraron ataques DDoS. Se procedi con la puesta en marcha del script en Python y en paralelo se gener trfico benigno y maligno como en la prueba anterior, el trfico fue evaluado por el modelo ML, y cuando se detect trfico malicioso (DDoS), el sistema NIDS gener alertas y nuevas reglas dinmicas que se almacenaron en el archivo local.rules. Esto permiti automatizar la deteccin de ataque en tiempo real. Se realiz nuevamente la evaluacin de la eficacia a travs de la matriz de confusin con el script en Python.

Para la integracin de Machine Learning en Snort, se utilizaron varias libreras de Python. La principal fue scikit-learn, que permiti entrenar y evaluar un modelo de Random Forest para la clasificacin del trfico de red. Tambin se us pandas para manipular los datos y procesar el conjunto de datos CICIDS2017, que se utiliz para entrenar el modelo. Finalmente, joblib facilit la tarea de guardar y cargar el modelo entrenado para que pudiera reutilizarse en Snort sin necesidad de reentrenarlo cada vez. Estas herramientas fueron claves para mejorar la capacidad de deteccin de intrusiones de Snort.

 

Discusin de resultados

Desempeo del modelo en su fase de prueba

A travs de la matriz de confusin se pudo visualizar el desempeo del modelo en su fase de prueba en donde se obtuvieron los resultados que se observan en la siguiente tabla:

 

Tabla 3: Matriz de confusin en la fase de prueba del modelo.

Prediccin/Clase Real

Prediccin: Ataque

Prediccin: Normal

Real: Ataque

25657 (TP)

6 (FN)

Real: Normal

0 (FP)

18954 (TN)

Fuente: Elaboracin propia.

 

El modelo realiz 18,954 predicciones correctas al clasificar adecuadamente los casos que no eran ataques DDoS (True Negative). No cometi ningn error al predecir ataques cuando en realidad no los haba (False Positive). Sin embargo, se equivoc 6 veces al clasificar como no ataque DDoS cuando en realidad s lo era (False Negative). Adems, acert en 25,657 casos al identificar correctamente los ataques DDoS (True Positive).

En el informe de clasificacin se pudo visualizar cmo se desempe el modelo de Machine Learning en la fase de prueba. La precisin (1.00) indica que todas las predicciones positivas fueron correctas, mientras que el recall (1.00) significa que el modelo identific correctamente todas las instancias positivas. El F1-score (1.00) refleja un equilibrio perfecto entre precisin y recall. En el support se pudo visualizar, cuntas instancias reales hay en cada clase. La exactitud (1.00) indica que el modelo clasific correctamente todas las instancias. Las mtricas de promedio macro y promedio ponderado (ambos en 1.00) sugieren que el modelo tiene un rendimiento excelente en general, sin importar el tamao de las clases. En conjunto, estos resultados indican que el modelo clasific todas las instancias de manera correcta.

 

Tabla 4: Informe del desempeo del modelo (fase 3 de prueba).

 

precision

recall

F1-score

support

False

1.00

1.00

1.00

18954

True

1.00

1.00

1.00

25663

Accuracy

 

 

1.00

44617

macro avg

1.00

1.00

1.00

44617

weighted avg

1.00

1.00

1.00

44617

Fuente: Elaboracin propia.

 

Desempeo de Snort Sin ML

Se identificaron correctamente 22 instancias de trfico benigno, clasificndolas como tal (True Negative). Sin embargo, cometi 142 errores al clasificar incorrectamente trfico benigno como ataques (False Positive). Adems, no detect 33 ataques, clasificndolos como benignos (False Negative). Por otro lado, logr identificar correctamente 159 ataques como maliciosos (True Negative). Como se visualiza en la Tabla 5.

 

Tabla 5: Matriz de confusin sin ML.

Prediccin/Clase Real

Prediccin: Ataque

Prediccin: Normal

Real: Ataque

159 (TP)

33 (FN)

Real: Normal

142 (FP)

22 (TN)

Fuente: Elaboracin propia.

 

Como se observa en la Tabla 6, el desempeo sin ML alcanz una precisin de 52.82%, lo que indica que, de todas las instancias clasificadas como ataques, poco ms de la mitad realmente lo eran. La exactitud fue del 50.84%, lo que significa que un poco ms de la mitad de las predicciones fueron correctas en general. El recall, o sensibilidad, fue del 82.81%, ello implica que, snort fue capaz de detectar la mayora de los ataques reales. Finalmente, el F1-Score, que equilibra la precisin y el recall, fue de 64.50%, reflejando un desempeo moderado en la clasificacin de ataques cibernticos.

 

Tabla 6: Informe de desempeo sin ML.

 

Resultados

%

Precision

0.528

52.8

Accuracy

0.508

50.8

Recall

0.828

82.8

F1-score

0.645

64.5

Fuente: Elaboracin propia.

 

Desempeo de Snort con ML

Snort con ML clasific correctamente 9 instancias de trfico benigno como benignas (True Negative). Sin embargo, cometi 70 errores al clasificar incorrectamente trfico benigno como ataques (False Positive). Adems, no detect 23 ataques, clasificndolos incorrectamente como benignos (False Negative). Por otro lado, logr identificar correctamente 169 ataques como maliciosos (True Positive).

 

Tabla 7: Matriz de confusin con ML.

Prediccin/Clase Real

Prediccin: Ataque

Prediccin: Normal

Real: Ataque

169 (TP)

23 (FN)

Real: Normal

90 (FP)

9 (TN)

Fuente: Elaboracin propia.

Con la integracin de Machine Learning, Snort alcanz una precisin del 70.71%, lo que significa que el sistema genera relativamente pocos falsos positivos. En cuanto a la exactitud fue del 65.68%, lo que indica que ms de la mitad de las predicciones fueron correctas. El recall fue del 88.02%, lo que refleja una alta capacidad del sistema para detectar la mayora de los ataques. Finalmente, el F1-Score se ubic en 78.42%, mostrando un buen equilibrio entre precisin y recall, lo que indica un desempeo efectivo en la clasificacin de intrusiones.

 

Tabla 8: Informe de desempeo con ML.

 

Resultados

%

Precision

0.707

70.7

Accuracy

0.656

65.6

Recall

0.880

88.0

F1-score

0.784

78.4

Fuente: Elaboracin propia.

 

Comparacin del desempeo

Al comparar el sistema con y sin Machine Learning en Snort, se observan mejoras significativas. La precisin aumenta del 52.8% sin ML al 70.71% con ML, lo que indica que el sistema redujo considerablemente los falsos positivos. la exactitud se eleva del 50.8% al 65.68%, y demuestra que el sistema fue mucho ms efectivo en la clasificacin correcta de las instancias con ML. el recall se mantiene alto, experimenta una ligera mejora con la integracin de ML. Finalmente, El F1-Score muestra un incremento notable, pasando de 64.5% a 78.42%, lo que refleja un mejor equilibrio entre la deteccin de ataques cibernticos y la reduccin de falsos positivos con ML.

 

Figura 8: Comparacin del desempeo de Snort sin y con ML

Fuente: Elaboracin propia.

 

Conclusiones

Los resultados obtenidos demuestran mejoras significativas en la deteccin de ataques DDoS al integrar Machine Learning en el sistema Snort. La precisin del modelo mejor notablemente, pasando de un 52.8% a un 70.71%, lo que indica una reduccin efectiva de los falsos positivos. El F1-Score tambin present un aumento significativo, reflejando un mejor equilibrio entre la deteccin de ataques y la clasificacin de trfico benigno. La exactitud general del sistema se increment del 50.8% al 65.68%, validando la eficacia de la integracin de tcnicas de aprendizaje automtico.

Este estudio contribuye al campo de la ciberseguridad al mostrar cmo la implementacin de Machine Learning en sistemas de deteccin de intrusiones como Snort puede mejorar significativamente la deteccin de amenazas y ataques cibernticos, especialmente en entornos de red complejos donde es esencial minimizar tanto los falsos positivos como los falsos negativos. Al optimizar la precisin y el balance entre la deteccin de ataques cibernticos y la reduccin de errores, este trabajo aporta una solucin prctica y escalable para mejorar la seguridad en redes.

Para investigaciones futuras, se sugiere explorar la combinacin de diferentes algoritmos de Machine Learning para lograr un mayor nivel de precisin y recall. Adems, sera valioso realizar pruebas en entornos ms diversos, con diferentes tipos de ataques y volmenes de trfico, para evaluar el rendimiento del sistema en otras condiciones. Tambin se podra considerar la implementacin de tcnicas de aprendizaje profundo para optimizar an ms la deteccin y respuesta a incidentes en tiempo real.

 

Referencias

      1.            Ahmad, Z., Shahid Khan, A., Wai Shiang, C., Abdullah, J., & Ahmad, F. (2021). Network intrusion detection system: A systematic study of machine learning and deep learning approaches. Transactions on Emerging Telecommunications Technologies, 32(1). https://doi.org/10.1002/ett.4150

      2.            AbdulRaheem, M., Oladipo, I. D., Imoize, A. L., Awotunde, J. B., Lee, C. C., Balogun, G. B., & Adeoti, J. O. (2024). Machine learning assisted snort and zeek in detecting DDoS attacks in software-defined networking. International Journal of Information Technology, 16(3), 1627-1643.

      3.            Adiwal, S., Rajendran, B., Shetty D., P., & Sudarsan, S. (2023). DNS Intrusion Detection (DID) A SNORT-based solution to detect DNS Amplification and DNS Tunneling attacks. ELSEIVER, 1-10.

      4.            Amador, S., Arboleda, A. Y., & Bedn, C. (2006). Utilizando Inteligencia Artificial para la deteccin de Escaneos de Puertos.

      5.            Chen, C. L., & Lai, J. L. (2023). An Experimental Detection of Distributed Denial of Service Attack in CDX 3 Platform Based on Snort. Sensors, 23(13). https://doi.org/10.3390/s23136139

      6.            Chicano Tejada, E. (2023). Gestin de incidentes de seguridad informtica. Mlaga: IC.

      7.            Coscia, A., Dentamaro, V., Galantucci, S., Maci, A., & Pirlo, G. (2024). Automatic decision tree-based NIDPS ruleset generation for DoS/DDoS attacks. Journal of Information Security and Applications, 82. https://doi.org/10.1016/j.jisa.2024.103736

      8.            Deng, X., Liu, Q., Deng, Y., & Mahadevan, S. (2016). An improved method to construct basic probability assignment based on the confusion matrix for classification problem. sciencedirect, 250-261.

      9.            El Aeraj, O., & Leghris, C. (2024). Analysis of the SNORT intrusion detection system using machine learning. International Journal of Information Science and Technology, 8(1), 1-9.

  10.            Elshafie, H. M., Mahmoud, T. M., & Ali, A. A. (2020). An efficient Snort NIDSaaS based on danger theory and machine learning. Applied Mathematics, 14(5), 891-900.

  11.            Enigo, V. S. F., Ganesh, K. T., Raj, N. N. V., & Sandeep, D. (2020). Hybrid intrusion detection system for detecting new attacks using machine learning. In 2020 5th International Conference on Communication and Electronics Systems (ICCES) (pp. 567-572). IEEE.

  12.            Faizi, A. H. N., Priambodo, D. F., & Rahmawati, F. D. (2022). Comparison of machine learning techniques on Snort for predicting realtime DoS and probe attack. In 2022 International Conference on Informatics Multimedia Cyber and Information System (ICIMCIS) (pp. 224-229). IEEE.

  13.            Fang, X., & Liu, L. (2011). Integrating artificial intelligence into Snort IDS. In 2011 3rd International Workshop on Intelligent Systems and Applications (pp. 1-4). IEEE.

  14.            Filippo, N. (2000). Comparing local search with respect to genetic evolution to detect intrusions in computer networks. Proceedings of the 2000 Congress on Evolutionary Computation.

  15.            Garba, U. H., Toosi, A. N., Pasha, M. F., & Khan, S. (2024). SDN-based detection and mitigation of DDoS attacks on smart homes. Computer Communications, 221, 2941. https://doi.org/10.1016/j.comcom.2024.04.001

  16.            Guijarro Rodrguez, A. A., Jcome Morales, G. C., Gonzalez Mestanza, V., Tern Zurita, E., & Torres Martnez, D. E. (2024). 2022. Deteccin de amenazas de seguridad en una red corporativa utilizando algoritmos de machine learning. Serie Cientfica de La Universidad de Las Ciencias Informticas, 15, 111.

  17.            IBM. (15 de julio de 2024). https://www.ibm.com/. Obtenido de https://www.ibm.com/es-es/topics/intrusion-detection-system

  18.            Janampa Patilla, H., Huamani Santiago, H. L., & Meneses Conislla, Y. (2021). Snort Open Source como deteccin de intrusos para la seguridad de la infraestructura de red Snort Open Source as intrusion detection for network infrastructure security Hubner Janampa Patilla 1* https://orcid.org/0000-0003-3110-194X. Revista Cubana de Ciencias Informticas, 15(3). http://rcci.uci.cuPg.55-73https://orcid.org/0000-0002-8197-9956YudithMenesesConislla3https://orcid.org/0000-0002-7646-5512

  19.            Leiva, E. A. (2015). Estrategias nacionales de ciberseguridad: Estudio comparativo basado en enfoque top-down desde una visin global a una visin local. Archivo de la Revista Latinoamericana de Ingeniera de Software, 3(4), 161-176.

  20.            Montes Vallejo, C. F. (2023). Inteligencia Artificial y el Aprendizaje Automtico en la Ciberseguridad.

  21.            Montes Gil, J. A., Isaza Cadavid, G., & Duque Mndez, N. D. (2023). Efecto de la seleccin de atributos en el desempeo de un IDS basado en machine learning para deteccin de intrusos en ataques DDoS. South Florida Journal of Developmen, 1-11.

  22.            Pantoja, N. D., Donado, S. A., Villalba, K. M., & Martnez Flor, E. U. (2021). 2021. Determinacin de tcnica de inteligencia para la deteccin de un tipo de ataque en un IDS. Revista Ibrica de Sistemas e Tecnologias de Informao, 317329.

  23.            Passeri, P. (09 de 07 de 2024). https://www.hackmageddon.com/. Obtenido de https://www.hackmageddon.com/2024/07/09/q1-2024-cyber-attacks-statistics/

  24.            Perdign Llanes, R. (2022). Suricata como detector de intrusos para la seguridad en redes de datos empresariales. Ciencia UNEMI, 15(39), 4453. https://doi.org/10.29076/issn.2528-7737vol15iss39.2022pp44-53p

  25.            Prabowo, W. A., Fauziah, K., Nahrowi, A. S., Faiz, M. N., & Muhammad, A. W. (2023). Strengthening Network Security: Evaluation of Intrusion Detection and Prevention Systems Tools in Networking Systems. International Journal of Advanced Computer Science and Applications, 1-10.

  26.            Rai, K., Devi, M. S., & Guleria, A. (2015). Decision tree based algorithm for intrusion detection. International Journal of Advanced Networking and Applications, 7(4), 2828.

  27.            Sharafaldin, I., Lashkari, A. H., & Ghorbani, A. A. (2018). Toward generating a new intrusion detection dataset and intrusion traffic characterization. ICISSp, 1, 108-116.

  28.            Snort. (2024). https://www.snort.org/. Obtenido de https://www.snort.org/

  29.            Suricata. (2024). https://suricata.io/. Obtenido de https://suricata.io/

  30.            Y. Xin et al., "Machine Learning and Deep Learning Methods for Cybersecurity," in IEEE Access, vol. 6, pp. 35365-35381, 2018, doi: 10.1109/ACCESS.2018.2836950.

  31.            Zeek. (2024). https://zeek.org/. Obtenido de https://zeek.org/

 

 

 

 

 

 

 

 

 

2024 por los autores. Este artculo es de acceso abierto y distribuido segn los trminos y condiciones de la licencia Creative Commons Atribucin-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)

(https://creativecommons.org/licenses/by-nc-sa/4.0/).

 

 

Enlaces de Referencia

  • Por el momento, no existen enlaces de referencia
';





Polo del Conocimiento              

Revista Científico-Académica Multidisciplinaria

ISSN: 2550-682X

Casa Editora del Polo                                                 

Manta - Ecuador       

Dirección: Ciudadela El Palmar, II Etapa,  Manta - Manabí - Ecuador.

Código Postal: 130801

Teléfonos: 056051775/0991871420

Email: polodelconocimientorevista@gmail.com / director@polodelconocimiento.com

URL: https://www.polodelconocimiento.com/