Detecção avançada de ataques de varredura de portas, DoS e malware utilizando técnicas de aprendizado de máquina.
Este projeto utiliza técnicas de machine learning para classificar ataques de rede, como Varredura de Portas (Port Scanning), Negação de Serviço (Denial of Service - DoS) e malware. Os dados de entrada estão no formato Netflow V9, que é um formato padrão utilizado pela Cisco.
A classificação é realizada usando os seguintes modelos:
O projeto é implementado em Python usando Jupyter Notebook e várias bibliotecas populares, incluindo UMAP, Pandas, NumPy, Scikit-Learn, Matplotlib e Seaborn.
O notebook está acessível aqui para visualização direta no GitHub. Alternativamente, você pode usar o NbViewer para acessar o notebook através deste link.
A apresentação Keynote em formato PDF está acessível aqui.
O conjunto de dados usado neste projeto está no formato NetFlow V9 (documentado pela Cisco, disponível aqui). Consiste em dois arquivos: train_net.csv e test_net.csv.
O arquivo train_net.csv fornece informações sobre quando um alerta específico provavelmente ocorrerá, enquanto o arquivo test_net.csv é usado apenas para fins de teste e não contém uma variável alvo para avaliar o desempenho do modelo.
O conjunto de dados é bastante grande:
train_net.csv: aproximadamente 4 milhões de pacotes (de 14'066 hosts de rede únicos)test_net.csv: aproximadamente 2 milhões de pacotes (de 6'186 hosts de rede únicos)Maria-Elena Mihailescu, Darius Mihai, Mihai Carabas, Mikolaj Komisarek, Marek Pawlicki, Witold Holubowicz, Rafal Kozik: The Proposition and Evaluation of the RoEduNet-SIMARGL2021 Network Intrusion Detection Dataset. Sensors 21(13): 4319 (2021)