Rilevamento avanzato di attacchi di port scanning, DoS e malware tramite tecniche di Machine Learning
Questo progetto utilizza tecniche di machine learning per classificare attacchi di rete come Port Scanning, Denial of Service (DoS) e malware. I dati di input sono nel formato Netflow V9, un formato standard utilizzato da Cisco.
La classificazione viene eseguita utilizzando i seguenti modelli:
Il progetto è implementato in Python utilizzando Jupyter Notebook e diverse librerie popolari, tra cui UMAP, Pandas, NumPy, Scikit-Learn, Matplotlib e Seaborn.
Il notebook è accessibile qui per la visualizzazione diretta su GitHub. In alternativa, puoi usare NbViewer per accedere al notebook tramite questo link.
La presentazione Keynote in formato PDF è accessibile qui.
Il dataset utilizzato per questo progetto è nel formato NetFlow V9 (documentato da Cisco, disponibile qui). È composto da due file: train_net.csv e test_net.csv.
Il file train_net.csv fornisce informazioni su quando è probabile che si verifichi un determinato alert, mentre il file test_net.csv viene utilizzato esclusivamente a scopo di test e non contiene una variabile target per valutare le prestazioni del modello.
Il dataset è piuttosto grande:
train_net.csv: circa 4 milioni di pacchetti (da 14'066 host di rete unici)test_net.csv: circa 2 milioni di pacchetti (da 6'186 host di rete unici)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)