Advanced detection of port scanning, DoS and malware attacks using Machine Learning techniques
This project leverages machine learning techniques to classify network attacks such as Port Scanning, Denial of Service (DoS), and malware. The input data is in the Netflow V9 format, which is a standard format used by Cisco.
The classification is performed using the following models:
The project is implemented in Python using Jupyter Notebook and several popular libraries, including UMAP, Pandas, NumPy, Scikit-Learn, Matplotlib, and Seaborn.
The notebook is accessible here for direct viewing on GitHub. Alternatively, you can use NbViewer to access the notebook via this link.
The Keynote presentation in PDF format is accessible here.
The dataset used for this project is in the NetFlow V9 format (documented by Cisco, available here). It consists of two files: train_net.csv and test_net.csv.
The train_net.csv file provides information on when a particular alert is likely to occur, while the test_net.csv file is used solely for testing purposes and does not contain a target variable for evaluating model performance.
The dataset is quite large:
train_net.csv: approximately 4 million packets (from 14'066 unique network hosts)test_net.csv: approximately 2 million packets (from 6'186 unique network hosts)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)