
Marco de trabajo para implementar Sistemas de Detección de Intrusiones en Red (NIDS) orientado a identificar anomalías en flujos de red utilizando modelos de Federated Learning.
Marco de trabajo para implementar Sistemas de Detección de Intrusiones (NIDS) orientados a identificar anomalías en flujos de red utilizando modelos de Aprendizaje Automático.
Para crear el entorno experimental, ejecute los siguientes comandos:
python -m venv .env
Nota: El entorno virtual debe tener este nombre porque los scripts usan este nombre para cargar las bibliotecas necesarias. fl-unsup-nids/blob/anomaly-flow-baseline/utils/load_data.py Después de crear el entorno virtual, use el siguiente comando para instalar los paquetes de Python necesarios:
pip install -r requirements.txt
Para ejecutar los experimentos locales, use el siguiente comando:
source experiments.sh
Para ejecutar los experimentos de Aprendizaje Federado, use el siguiente comando:
source run.sh
Para ejecutar los experimentos, necesitamos tener los conjuntos de datos CIC-IDS2018, BoT-IoT y ToN-IoT en una carpeta llamada datasets en la raíz del proyecto, por ejemplo:
|- anomaly-flow
|- datasets
|- NF-CSE-CIC-IDS2018-v2-DDoS.csv.gz
|- NF-BoT-IoT-v2-DDoS.csv.gz
|- NF-ToN-IoT-v2-DDoS.csv.gz
En nuestro caso, utilizamos conjuntos de datos derivados que contienen solo muestras benignas y de DDoS filtradas de los conjuntos de datos originales.
Para generar Datos Sintéticos para un conjunto de datos específico, use el script main.ipynb.
Para ejecutar los scripts de modelos externos y simples, instale el paquete pip personalizado para el algoritmo EFC:
chmod +x ./auxiliary_scripts/install-efc.sh
./auxiliary_scripts/install-efc.sh
Las líneas base para la detección de DDoS multi-dominio mediante aprendizaje federado están disponibles aquí:
Los datos utilizados para llevar a cabo los experimentos se pueden obtener de:
Conjuntos de datos NIDS basados en Aprendizaje Automático (Netflow V2)
Los siguientes proyectos se utilizaron como referencia para la preparación de este trabajo:
Clasificador de Flujo basado en Energía
@ARTICLE{anomalyflow,
author={De Melo, Leonardo Henrique and Bertoli, Gustavo de Carvalho and Nogueira, Michele and Dos Santos, Aldri Luiz and Pereira, Lourenço Alves},
journal={IEEE Network},
title={Anomaly-Flow: A Multi-domain Federated Generative Adversarial Network for Distributed Denial-of-Service Detection},
year={2025},
volume={},
number={},
pages={1-1},
doi={10.1109/MNET.2025.3567251}
}