charleshuangruo / Machine-Learning-Based-Botnet-Detection

Machine Learning Based Botnet Detection is a tool to classify network traffic as being botnet affected or not based on the network traffic flows. It involves various classifiers including Neural Networks, Decision Tree, SVM, Naive Bayes, Logistic Regression, k-Nearest Neighbours.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Machine-Learning-Based-Botnet-Detection

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:

  1. Neural Networks
  2. Decision Tree
  3. Logistic Regression
  4. SVM
  5. Gaussian Naive Bayes
  6. 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:

  1. scipy
  2. numpy
  3. theano
  4. scikit-learn
  5. 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.

About

Machine Learning Based Botnet Detection is a tool to classify network traffic as being botnet affected or not based on the network traffic flows. It involves various classifiers including Neural Networks, Decision Tree, SVM, Naive Bayes, Logistic Regression, k-Nearest Neighbours.


Languages

Language:Python 100.0%