
Framework zur Implementierung von Netzwerk-Intrusion-Detection-Systemen (NIDS), das darauf abzielt, Anomalien in Netzwerkflüssen mithilfe von Federated-Learning-Modellen zu identifizieren.
Framework zur Implementierung von Intrusion-Detection-Systemen (NIDS) zur Identifizierung von Anomalien in Netzwerkflüssen mithilfe von Machine-Learning-Modellen.
Um die experimentelle Umgebung zu erstellen, führen Sie die folgenden Befehle aus:
python -m venv .env
Hinweis: Die virtuelle Umgebung muss diesen Namen haben, da die Skripte diesen Namen verwenden, um die benötigten Bibliotheken zu laden. fl-unsup-nids/blob/anomaly-flow-baseline/utils/load_data.py Nach der Erstellung der virtuellen Umgebung verwenden Sie den folgenden Befehl, um die erforderlichen Python-Pakete zu installieren:
pip install -r requirements.txt
Um die lokalen Experimente auszuführen, verwenden Sie den folgenden Befehl:
source experiments.sh
Um die Federated-Learning-Experimente auszuführen, verwenden Sie den folgenden Befehl:
source run.sh
Um die Experimente auszuführen, benötigen wir die Datensätze CIC-IDS2018, BoT-IoT und ToN-IoT in einem Ordner namens datasets im Projektstammverzeichnis, z. B.:
|- 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
In unserem Fall verwendeten wir abgeleitete Datensätze, die nur gutartige und DDoS-Stichproben enthalten, die aus den ursprünglichen Datensätzen herausgefiltert wurden.
Um synthetische Daten für einen bestimmten Datensatz zu generieren, verwenden Sie das Skript main.ipynb.
Um die Skripte für externe und einfache Modelle auszuführen, installieren Sie bitte das benutzerdefinierte Pip-Paket für den EFC-Algorithmus:
chmod +x ./auxiliary_scripts/install-efc.sh
./auxiliary_scripts/install-efc.sh
Die Baselines für eine Multi-Domain-DDoS-Erkennung mit Federated Learning sind hier verfügbar:
Die Daten, die für die Durchführung der Experimente verwendet wurden, können hier bezogen werden:
Machine Learning-Based NIDS Datasets (Netflow V2 Datasets)
Die folgenden Projekte dienten als Referenz für die Erstellung dieser Arbeit:
@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}
}