Modelo de detección de ataques DDoS (distributed denial of services), con base en el clasificador decisión tree. (2022)
Los Sistemas de Detección de Intrusos (IDS) tienen importancia en el campo de seguridad para sistemas computacionales modernos que se conecten a través de redes de información, así como en la mitigación de posibles daños en caso de tener ataques de algún tipo. Los IDS observan los eventos en una red para la posterior toma de decisiones. Debido a la popularidad de Internet y las redes locales, están aumentando los incidentes de intrusión en los sistemas informáticos, la rápida expansión de las redes informáticas crea consigo la necesidad de desarrollo de sistemas que puedan detectar las amenazas a la red, de manera fiable con una tasa de detección alta y una tasa de falsos positivos baja en condiciones de uso de recursos computacionales normales. Para satisfacer la necesidad identificada, con el presente proyecto de grado bajo la modalidad de monografía se planteó desarrollar un modelo de detección de intrusos para ataques DDoS, que se implementó mediante la técnica de clasificación de Machine Learning Decision Tree; el modelo fue desarrollado teniendo como base un conjunto de datos llamado CIC-IDS 2017 desarrollado por la Universidad de New Brunswick, Canadá que contiene información actualizada de ataques comunes en un entorno real, y del cual se seleccionaron sus principales características con el fin de optimizar el aprendizaje del sistema. El sistema desarrollado es un script del lenguaje Python que se compone de diferentes etapas: Recolección de datos, Pre-Procesamiento de Datos, Análisis Exploratorio de Datos, Reducción del conjunto de datos, Selección del algoritmo, Entrenamiento del sistema, Evaluación del sistema. El resultado (sistema entrenado) tiene la capacidad de procesar un set de datos nuevo con la misma estructura del dataset de entrenamiento y hacer clasificaciones para categorizar una captura de tráfico como conexión normal o como ataque Posterior al análisis de las métricas resultantes del sistema entrenado con el conjunto de datos completo, y la comparación de resultados con otros algoritmos usados en Machine Learning para clasificación, se puede concluir que el algoritmo Decision Tree no presentó el mejor rendimiento en comparación a otras técnicas, en este sentido el mejor desempeño lo obtuvo el algoritmo K- Nearest Neighbor (K – Vecinos más próximos) presentando una exactitud en su clasificación 53% mayor al algoritmo Decision Tree. Sin embargo, se realizó un entrenamiento posterior con la técnica Decision Tree variando sus híper-parámetros, consiguiendo así un aumento del 49% en la exactitud de sus clasificaciones y poniéndolo a la par de otros algoritmos. Referente a los resultados del sistema entrenado con el conjunto de datos reducido por el software WEKA bajo el criterio de correlación, se pudo observar que Decision Tree mejoró su métrica de exactitud en un 36% comparado al entrenamiento del conjunto de datos completo, estando dentro de los algoritmos de mejor desempeño junto a Random Forest.