
Framework per l'implementazione di Sistemi di Rilevamento delle Intrusioni di Rete (NIDS) finalizzato all'identificazione di anomalie nei flussi di rete tramite modelli di Federated Learning.
Framework per l'implementazione di sistemi di rilevamento delle intrusioni (NIDS) finalizzato all'identificazione di anomalie nei flussi di rete tramite modelli di Machine Learning.
Per creare l'ambiente sperimentale, esegui i seguenti comandi:
python -m venv .env
Nota: l'ambiente virtuale deve avere questo nome perché gli script usano questo nome per caricare le librerie necessarie. fl-unsup-nids/blob/anomaly-flow-baseline/utils/load_data.py Dopo aver creato l'ambiente virtuale, usa il seguente comando per installare i pacchetti Python necessari:
pip install -r requirements.txt
Per eseguire gli esperimenti locali, usa il seguente comando:
source experiments.sh
Per eseguire gli esperimenti di Federated Learning, usa il seguente comando:
source run.sh
Per eseguire gli esperimenti, dobbiamo avere i dataset CIC-IDS2018, BoT-IoT e ToN-IoT in una cartella chiamata datasets nella radice del progetto, ad esempio:
|- 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
Nel nostro caso abbiamo utilizzato dataset derivati contenenti solo campioni benigni e DDoS filtrati dai dataset originali.
Per generare dati sintetici per un dataset specifico, usa lo script main.ipynb.
Per eseguire gli script dei modelli esterni e semplici, installa il pacchetto pip personalizzato per l'algoritmo EFC:
chmod +x ./auxiliary_scripts/install-efc.sh
./auxiliary_scripts/install-efc.sh
Le baseline per il rilevamento DDoS multi-dominio tramite federated learning sono disponibili qui:
I dati utilizzati per condurre gli esperimenti possono essere ottenuti da:
Machine Learning-Based NIDS Datasets (Netflow V2 Datasets)
I seguenti progetti sono stati utilizzati come riferimento per la preparazione di questo lavoro:
@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}
}