Creación de un Modelo ML para el despliegue de ids en entornos empresariales

Bookmark (0)
Please login to bookmark Close

La seguridad de las tecnologías de la información es un factor clave en un mundo en el que todo está digitalizado. Bancos, colegios, gobiernos, servicios sanitarios y otras muchas entidades manejan a diario datos sensibles. Para protegerlos se puede recurrir a tecnologías de cifrado, autenticación y otro tipo de medidas para conservar la integridad y evitar que aquel que no deba, no pueda acceder a los mismos. No obstante estos sistemas no sirven de nada si una máquina con acceso a estos datos en claro se encuentra expuesta o esta siendo objetivo de un ataque a través de una red. Es por eso que la detección temprana de este tipo de ataques es clave en la mitigación de daños por parte de todos los organismos previamente citados.
Este Trabajo de Fin de Grado se centra en el desarrollo de un modelo de machine learning (ML) orientado a la detección de intrusiones en redes empresariales. Partiendo del uso de dos datasets ampliamente utilizados en ciberseguridad, CICIDS2017 y CICIDS2018, se lleva a cabo un proceso completo de preparación de datos que incluye limpieza, normalización, categorización de puertos y codificación de variables. Se estudian varios algoritmos de aprendizaje supervisado, entre ellos Random Forest y XGBoost, seleccionando este último por su alto rendimiento y eficiencia en el entrenamiento.
El modelo final se integra en una API desarrollada en Python y desplegada mediante Docker, permitiendo su uso en distintos entornos de forma sencilla y escalable. Para validar su efectividad, se diseña un entorno simulado que emula una red empresarial con tráfico legítimo y malicioso, obteniendo resultados muy satisfactorios: una precisión del 98,5 % y un recall del 98,49 %.
Además del desarrollo técnico, se plantean estrategias de despliegue y escalabilidad, facilitando su adopción en entornos reales. El trabajo demuestra que es posible construir una base sólida para sistemas IDS más eficientes y adaptables mediante el uso de técnicas de ML aplicadas a datos de red bien procesados.
ABSTRACT
IT security is a key factor in a world where everything is digitalised. Banks, schools, governments, health services and many other organisations handle sensitive data on a daily basis. To protect this data, encryption technologies, authentication and other measures can be used to preserve its integrity and prevent access to it by those who should not have access to it. However, these systems are useless if a machine with access to this data is exposed or targeted by a network attack. That is why early detection of such attacks is key to the mitigation of damage by all the organisations mentioned above.
This Final Degree Project focuses on the development of a machine learning (ML) model for intrusion detection in enterprise networks. Using two widely recognized cybersecurity datasetsCICIDS2017 and CICIDS2018 complete data preparation pipeline was implemented, including cleaning, normalization, port categorization, and variable encoding. Several supervised learning algorithms were evaluated, with XGBoost ultimately selected due to its strong performance and training efficiency.
The final model was integrated into a Python-based API and deployed using Docker, enabling easy and scalable use in different environments. To validate its effectiveness, a simulated enterprise network environment was created with both benign and malicious traffic, yielding highly satisfactory results: 98.5% precision and 98.49% recall.
Beyond the technical implementation, the project proposes deployment and scalability strategies to support real-world adoption. The results demonstrate that it is possible to build a solid foundation for more efficient and adaptable IDS solutions by leveraging ML techniques applied to well-processed network traffic data.

​La seguridad de las tecnologías de la información es un factor clave en un mundo en el que todo está digitalizado. Bancos, colegios, gobiernos, servicios sanitarios y otras muchas entidades manejan a diario datos sensibles. Para protegerlos se puede recurrir a tecnologías de cifrado, autenticación y otro tipo de medidas para conservar la integridad y evitar que aquel que no deba, no pueda acceder a los mismos. No obstante estos sistemas no sirven de nada si una máquina con acceso a estos datos en claro se encuentra expuesta o esta siendo objetivo de un ataque a través de una red. Es por eso que la detección temprana de este tipo de ataques es clave en la mitigación de daños por parte de todos los organismos previamente citados.
Este Trabajo de Fin de Grado se centra en el desarrollo de un modelo de machine learning (ML) orientado a la detección de intrusiones en redes empresariales. Partiendo del uso de dos datasets ampliamente utilizados en ciberseguridad, CICIDS2017 y CICIDS2018, se lleva a cabo un proceso completo de preparación de datos que incluye limpieza, normalización, categorización de puertos y codificación de variables. Se estudian varios algoritmos de aprendizaje supervisado, entre ellos Random Forest y XGBoost, seleccionando este último por su alto rendimiento y eficiencia en el entrenamiento.
El modelo final se integra en una API desarrollada en Python y desplegada mediante Docker, permitiendo su uso en distintos entornos de forma sencilla y escalable. Para validar su efectividad, se diseña un entorno simulado que emula una red empresarial con tráfico legítimo y malicioso, obteniendo resultados muy satisfactorios: una precisión del 98,5 % y un recall del 98,49 %.
Además del desarrollo técnico, se plantean estrategias de despliegue y escalabilidad, facilitando su adopción en entornos reales. El trabajo demuestra que es posible construir una base sólida para sistemas IDS más eficientes y adaptables mediante el uso de técnicas de ML aplicadas a datos de red bien procesados.
ABSTRACT
IT security is a key factor in a world where everything is digitalised. Banks, schools, governments, health services and many other organisations handle sensitive data on a daily basis. To protect this data, encryption technologies, authentication and other measures can be used to preserve its integrity and prevent access to it by those who should not have access to it. However, these systems are useless if a machine with access to this data is exposed or targeted by a network attack. That is why early detection of such attacks is key to the mitigation of damage by all the organisations mentioned above.
This Final Degree Project focuses on the development of a machine learning (ML) model for intrusion detection in enterprise networks. Using two widely recognized cybersecurity datasetsCICIDS2017 and CICIDS2018 complete data preparation pipeline was implemented, including cleaning, normalization, port categorization, and variable encoding. Several supervised learning algorithms were evaluated, with XGBoost ultimately selected due to its strong performance and training efficiency.
The final model was integrated into a Python-based API and deployed using Docker, enabling easy and scalable use in different environments. To validate its effectiveness, a simulated enterprise network environment was created with both benign and malicious traffic, yielding highly satisfactory results: 98.5% precision and 98.49% recall.
Beyond the technical implementation, the project proposes deployment and scalability strategies to support real-world adoption. The results demonstrate that it is possible to build a solid foundation for more efficient and adaptable IDS solutions by leveraging ML techniques applied to well-processed network traffic data. Read More