
Framework pour implémenter des systèmes de détection d'intrusion réseau (NIDS) visant à identifier les anomalies dans les flux réseau à l'aide de modèles d'apprentissage fédéré.
Framework pour mettre en œuvre des systèmes de détection d'intrusion (NIDS) visant à identifier les anomalies dans les flux réseau à l'aide de modèles d'apprentissage automatique.
Pour créer l'environnement expérimental, exécutez les commandes suivantes :
python -m venv .env
Remarque : L'environnement virtuel doit porter ce nom car les scripts l'utilisent pour charger les bibliothèques nécessaires. fl-unsup-nids/blob/anomaly-flow-baseline/utils/load_data.py Après avoir créé l'environnement virtuel, utilisez la commande suivante pour installer les paquets Python nécessaires :
pip install -r requirements.txt
Pour exécuter les expériences locales, utilisez la commande suivante :
source experiments.sh
Pour exécuter les expériences d'apprentissage fédéré, utilisez la commande suivante :
source run.sh
Pour exécuter les expériences, nous devons avoir les jeux de données CIC-IDS2018, BoT-IoT et ToN-IoT dans un dossier nommé datasets à la racine du projet, par exemple :
|- 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
Dans notre cas, nous avons utilisé des jeux de données dérivés contenant uniquement des échantillons normaux (benign) et DDoS filtrés à partir des jeux de données originaux.
Pour générer des données synthétiques pour un jeu de données spécifique, utilisez le script main.ipynb.
Pour exécuter les scripts de modèles externes et simples, veuillez installer le paquet pip personnalisé pour l'algorithme EFC :
chmod +x ./auxiliary_scripts/install-efc.sh
./auxiliary_scripts/install-efc.sh
Les références de base pour la détection DDoS multi-domaine utilisant l'apprentissage fédéré sont disponibles ici :
Les données utilisées pour mener les expériences peuvent être obtenues à partir de :
Les projets suivants ont été utilisés comme référence pour la préparation de ce travail :
@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}
}