Machine Learning Based Botnet Detection is a tool to classify network traffic as being botnet intruded or not based on the network traffic flows. It involves various machine learning classifiers including Neural Networks, Decision Tree, Naive Bayes, Logistic Regression, k-Nearest Neighbours.
Objective
This project implements a novel method to detect botnet based network intrusion using various Machine Learning based classifiers. Unlike traditional methods based on packet analysis which are inaccurate and time-consuming, this method is robust and highly accurate. This project involves the following machine learning classifiers:
- Neural Networks
- Decision Tree
- Logistic Regression
- SVM
- Gaussian Naive Bayes
- K Nearest Neighbours.
I am also currently working on a paper reflecting my works on this project. I would soon publish it here.
Dataset Used
This project uses the CTU-13 dataset which involves 13 scenarios of lablled network traffic data with normal and botnet traffic. This project uses the scenario 1 to train and test the various models.
Dependencies
This project requires set of the following python modules:
- scipy
- numpy
- theano
- scikit-learn
- keras
Testing the Model
To test the model, run the script.py file in the Machine-Learning-Based-Botnet-Detection/src using the following commands
cd src
python gui_develop.py
Credits
I am thankful to Infosys for providing me the opportunity to excel in this internship based project through the InStep Global Internship Program. I would also like to thank my mentor Vijayaraghavan Varadharajan for providing helpful insights into this project.