🧠 Aplicação de Redes Neurais Pulsadas (SNNs) para a detecção de ameaças em tráfego de rede
Report Bug
·
Request Feature
Este projeto é inspirado no artigo de Rasteh et al. (Neurocomputing, 2022) sobre classificação de tráfego de internet criptografado com Spiking Neural Networks (SNNs).
🎯 Objetivo: Reproduzir as técnicas do estudo original e aplicá-las a um novo conjunto de dados de tráfego de rede, explorando a eficácia das SNNs para detecção de ameaças em tráfego de internet.
As SNNs diferem das redes neurais convencionais ao processarem dados por picos de ativação (spikes), simulando a comunicação neuronal biológica.
Foram avaliados diferentes datasets:
- CIC-IDS2017 ✅
Dataset escolhido. Contém tráfego benigno e múltiplos tipos de ataques simulados, preservando os pacotes de rede.
Link: CIC-IDS2017
- Botnet: redes de computadores infectados controlados remotamente.
- Exploit: ataques explorando falhas como XSS e SQL Injection.
- Infiltration: simulações de introdução de malware por dispositivos infectados ou downloads maliciosos.
- Leitura de PCAPs → extração de fluxos de rede.
- Rotulação de ameaças baseada nas classes fornecidas no dataset.
- Undersampling de casos benignos usando DBSCAN para reduzir desbalanceamento (seleção de representantes dos clusters).
- Rede construída em PyTorch
- Seleção de hiperparâmetros feita via Optuna.
As métricas utilizadas foram:
- Precisão: capacidade de evitar falsos positivos.
- Revocação: capacidade de não perder casos positivos (evitar falsos negativos).
- Acurácia: medida geral de acertos.
Resultados detalhados podem ser encontrados na pasta results/.
A matriz de confusão abaixo mostra o desempenho do modelo no conjunto de teste.
Observa-se que a classe Benign_None apresenta maior precisão, enquanto há confusão entre Exploit e Botnet.
O gráfico mostra a evolução da função de perda (loss) ao longo das épocas de treinamento.
Nota-se uma rápida convergência nas primeiras iterações, estabilizando após poucas épocas.
O gráfico a seguir ilustra o comportamento da rede em três estágios:
- Entrada (codificação dos pacotes de rede em picos de disparo)
- Camada Densa Pulsada (Spiking Dense Layer)
- Camada de Saída (Readout Layer)
Essa visualização mostra como os padrões de disparos evoluem nas diferentes camadas da rede.
- O modelo obteve excelente desempenho na detecção de tráfego benigno e ataques de infiltração, alcançando taxas de acerto superiores a 98%.
- Para as classes Exploit e Botnet, o desempenho foi inferior, com confusão entre os dois tipos de ataques. Isso pode indicar semelhanças nos padrões de tráfego extraídos para essas classes.
- A curva de loss mostra rápida convergência, sugerindo que o modelo aprende de forma eficiente nas primeiras épocas.
- A análise de disparos nos neurônios evidencia como a SNN é capaz de representar diferentes padrões de tráfego por meio de atividades temporais distintas em cada camada.
👉 Em resumo, a abordagem com SNNs se mostrou promissora para detecção de ameaças em tráfego de rede, mas há espaço para melhorias na separabilidade entre Exploit e Botnet.
git clone https://github.com/felmateos/snn-darknet-traffic-classification.git
cd snn-darknet-traffic-classificationpip install -r requirements.txt@article{rasteh2022encrypted,
title={Encrypted internet traffic classification using a supervised spiking neural network},
author={Rasteh, Ali and Delpech, Florian and Aguilar-Melchor, Carlos and Zimmer, Romain and Shouraki, Saeed Bagheri and Masquelier, Timoth{\'e}e},
journal={Neurocomputing},
volume={503},
pages={272--282},
year={2022},
publisher={Elsevier}
}Contribuições são bem-vindas! Sinta-se à vontade para propor melhorias, relatar problemas ou abrir pull requests.
Este projeto é licenciado sob a Licença MIT.



