Publicación: Detección de anomalías mediante Machine Learning y respuesta activa inteligente en entornos IoT utilizando el motor SnortML y orquestación con n8n
| authorProfile.id.code | 202116708 | |
| dc.contributor.advisor | Donoso Meisel, Yezyd Enrique | |
| dc.contributor.author | Nieves Hernández, Juan Camilo | |
| dc.date.accessioned | 2026-05-27T21:04:47Z | |
| dc.date.available | 2026-05-27T21:04:47Z | |
| dc.date.issued | 2026-05-27 | |
| dc.description.abstract | El Internet de las Cosas (IoT, por Internet of Things) es el nombre que recibe la red formada por dispositivos físicos cotidianos —sensores, cámaras, electrodomésticos, equipos industriales- que se conectan a Internet para intercambiar datos. Su rápido crecimiento ha ampliado la superficie de ataque de las redes: cada nuevo dispositivo es una posible puerta de entrada para un atacante. La situación se agrava porque muchos de estos equipos se comunican mediante protocolos ligeros como MQTT (Message Queuing Telemetry Transport) y CoAP (Constrained Application Protocol), que los sistemas de detección de intrusiones (IDS, Intrusion Detection Systems) tradicionales no entienden en profundidad y por tanto no protegen bien. Este trabajo presenta el diseño, la implementación y la validación de SnortML, un sistema que aborda esa carencia combinando tres capas que trabajan en cascada. La primera capa extiende el motor de inspección de tráfico Snort 3 con dos inspectores escritos en el lenguaje Lua, uno para MQTT y otro para CoAP. Estos inspectores leen los paquetes en tiempo real y extraen hasta 26 features (características numéricas que describen cada paquete: tipo de mensaje, longitud, banderas, presencia de payload, etc.) que luego pueden ser analizadas por un algoritmo. La segunda capa aplica Machine Learning (ML, aprendizaje automático) sobre esas características. En lugar de un único modelo general, se entrenó una arquitectura de router: dos modelos especializados, uno por protocolo, y un despachador que decide cuál usar según el origen del paquete. El modelo de CoAP se construyó con Random Forest (un clasificador formado por muchos árboles de decisión que votan) y alcanza un F1-macro —métrica que mide el balance entre precisión y exhaustividad promediando todas las clases por igual— de 1,0 en datos limpios y 0,95 con 15 % de ruido inyectado sobre un dataset propio de 1 782 paquetes. El modelo de MQTT usa XGBoost (eXtreme Gradient Boosting, un método más avanzado de árboles que se entrenan en serie corrigiéndose entre sí) y logra F1-macro = 0,73 sobre el dataset público MQTT-IoT-IDS2020 con 50 000 muestras. La tercera capa convierte cada detección en una acción concreta. Cuando el modelo marca un paquete como ataque, un bridge en Python envía la alerta vía HTTP a n8n, una plataforma open-source de orquestación tipo SOAR (Security Orchestration, Automation and Response). El workflow configurado en n8n ejecuta automáticamente dos respuestas: un bloqueo de firewall simulado y una notificación instantánea al administrador a través de Telegram. En las pruebas de demostración el tiempo total desde la detección hasta la notificación se mantuvo por debajo de los 2 segundos. En conjunto, SnortML demuestra que la inspección de protocolo, el aprendizaje automático y la respuesta automatizada -tres capas que normalmente se estudian por separado- pueden integrarse en un único pipeline reproducible y extensible, y ofrecer detección y contención de ataques IoT en cuestión de segundos sobre un stack totalmente abierto y de bajo costo. | |
| dc.description.degreelevel | Pregrado | |
| dc.description.researcharea | Internet de las Cosas | |
| dc.format.extent | 29 páginas | |
| dc.format.mimetype | application/pdf | |
| dc.identifier.instname | instname:Universidad de los Andes | |
| dc.identifier.reponame | reponame:Repositorio Institucional Séneca | |
| dc.identifier.repourl | repourl:https://repositorio.uniandes.edu.co/ | |
| dc.identifier.uri | https://hdl.handle.net/1992/78443 | |
| dc.language.iso | spa | |
| dc.publisher | Universidad de los Andes | |
| dc.publisher.department | Departamento de Ingeniería de Sistemas y Computación | |
| dc.publisher.faculty | Facultad de Ingeniería | |
| dc.publisher.program | Ingeniería de Sistemas y Computación | |
| dc.relation.references | Denning, D. E. (1987). An intrusion-detection model. IEEE Transactions on Software Engineering, SE-13(2):222–232. | |
| dc.relation.references | Hindy, H., Bayne, E., Bures, M., Atkinson, R., Tachtatzis, C., & Bellekens, X. (2020). Machine learning based IoT intrusion detection system: An MQTT case study (MQTT-IoT-IDS2020 dataset). International Networking Conference (IFIP). | |
| dc.relation.references | Granjal, J., Monteiro, E., & Silva, J. S. (2015). Security for the Internet of Things: A survey of existing protocols and open research issues. IEEE Communications Surveys & Tutorials, 17(3):1294–1312. | |
| dc.relation.references | Cisco Systems. (2023). Cisco Annual Internet Report (2018–2023). White Paper. | |
| dc.relation.references | Shelby, Z., Hartke, K., & Bormann, C. (2014). The Constrained Application Pro- tocol (CoAP), RFC 7252. Internet Engineering Task Force (IETF). https: //datatracker.ietf.org/doc/html/rfc7252 | |
| dc.relation.references | OASIS Standard. (2014). MQTT Version 3.1.1. OASIS Message Queuing Telemetry Transport (MQTT) TC. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/ mqtt-v3.1.1-os.html | |
| dc.relation.references | Sharafaldin, I., Habibi Lashkari, A., & Ghorbani, A. A. (2018). Toward generating a new intrusion detection dataset and intrusion traffic characterization (CICFlow- Meter). En Proc. 4th Int. Conf. on Information Systems Security and Privacy (ICISSP), pp. 108–116. | |
| dc.relation.references | Gartner Research. (2020). Market Guide for Security Orchestration, Automation and Response Solutions. Gartner Inc. | |
| dc.relation.references | n8n GmbH. (2024). n8n Documentation — Workflow Automation. https://docs. n8n.io | |
| dc.relation.references | Antonakakis, M., et al. (2017). Understanding the Mirai botnet. En Proc. 26th USENIX Security Symposium, pp. 1093–1110. | |
| dc.relation.references | Pedregosa, F., et al. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825–2830. | |
| dc.relation.references | Breiman, L. (2001). Random forests. Machine Learning, 45(1):5–32. | |
| dc.relation.references | Chen, T., & Guestrin, C. (2016). XGBoost: A scalable tree boosting system. En Proc. 22nd ACM SIGKDD Int. Conf. on Knowledge Discovery and Data Mining, pp. 785–794. | |
| dc.relation.references | Krebs, B. (2016). Source code for IoT botnet ‘Mirai’ released. Krebs on Security. https://krebsonsecurity.com | |
| dc.relation.references | Cisco Talos. (2023). Snort 3 User Manual. https://www.snort.org/documents | |
| dc.rights | Attribution 4.0 International | en |
| dc.rights.accessrights | info:eu-repo/semantics/openAccess | |
| dc.rights.coar | http://purl.org/coar/access_right/c_abf2 | |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | |
| dc.subject.keyword | IoT | |
| dc.subject.keyword | SnortML | |
| dc.subject.keyword | Automatización | |
| dc.subject.keyword | SOAR | |
| dc.subject.keyword | IDS | |
| dc.subject.themes | Ingeniería | spa |
| dc.title | Detección de anomalías mediante Machine Learning y respuesta activa inteligente en entornos IoT utilizando el motor SnortML y orquestación con n8n | |
| dc.type | Trabajo de grado - Pregrado | |
| dc.type.coar | http://purl.org/coar/resource_type/c_7a1f | |
| dc.type.coarversion | http://purl.org/coar/version/c_ab4af688f83e57aa | |
| dc.type.content | Text | |
| dc.type.driver | info:eu-repo/semantics/bachelorThesis | |
| dc.type.redcol | http://purl.org/redcol/resource_type/TP | |
| dc.type.version | info:eu-repo/semantics/acceptedVersion | |
| dspace.entity.type | Publication | |
| person.identifier.cvlac | https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000094706 | |
| person.identifier.gsid | https://scholar.google.es/citations?user=Razvs2MAAAAJ | |
| person.identifier.orcid | 0000-0003-1659-1522 | |
| relation.isDirectorOfPublication | 6b9d423b-11e8-4930-b0d2-061b34e9806b | |
| relation.isDirectorOfPublication.latestForDiscovery | 6b9d423b-11e8-4930-b0d2-061b34e9806b |
Archivos
Bloque original
1 - 2 de 2
Cargando...
- Nombre:
- Formato de autorizacion y entrega de tesis FIRMADO.pdf
- Tamaño:
- 427.03 KB
- Formato:
- Adobe Portable Document Format
- Descripción:
- HIDE
Cargando...
- Nombre:
- Detección de anomalias mediante Machine Learning y respuesta activa inteligente en entornos IoT utilizando el motor SnortML y orquestacion con n8n.pdf
- Tamaño:
- 445.65 KB
- Formato:
- Adobe Portable Document Format
Bloque de licencias
1 - 1 de 1
No hay miniatura disponible
- Nombre:
- license.txt
- Tamaño:
- 2.48 KB
- Formato:
- Item-specific license agreed upon to submission
- Descripción: