
Framework para implementação de Sistemas de Detecção de Intrusão em Rede (NIDS) voltado à identificação de anomalias em fluxos de rede usando modelos de Aprendizado Federado.
Framework para implementação de Sistemas de Detecção de Intrusão (NIDS) com o objetivo de identificar anomalias em fluxos de rede usando modelos de Machine Learning.
Para criar o ambiente experimental, execute os seguintes comandos:
python -m venv .env
Nota: O ambiente virtual deve ter esse nome porque os scripts usam esse nome para carregar as bibliotecas necessárias. fl-unsup-nids/blob/anomaly-flow-baseline/utils/load_data.py Após criar o ambiente virtual, use o seguinte comando para instalar os pacotes python necessários:
pip install -r requirements.txt
Para executar os experimentos locais, use o seguinte comando:
source experiments.sh
Para executar os experimentos de Aprendizado Federado, use o seguinte comando:
source run.sh
Para executar os experimentos, precisamos ter o CIC-IDS2018, BoT-IoT e ToN-IoT em uma pasta chamada datasets na raiz do projeto, por exemplo:
|- 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
No nosso caso, usamos conjuntos de dados derivados contendo apenas amostras benignas e de DDoS filtradas dos conjuntos de dados originais.
Para gerar Dados Sintéticos para um conjunto de dados específico, use o script main.ipynb.
Para executar os scripts de modelos externos e simples, instale o pacote pip customizado para o algoritmo EFC:
chmod +x ./auxiliary_scripts/install-efc.sh
./auxiliary_scripts/install-efc.sh
As baselines para detecção de DDoS multi-domínio usando aprendizado federado estão disponíveis aqui:
Os dados usados para realizar os experimentos podem ser obtidos em:
Machine Learning-Based NIDS Datasets (Netflow V2 Datasets)
Os seguintes projetos foram usados como referência para a preparação deste trabalho:
@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}
}