kyralmozley / ids

ML based intrusion detection system
GNU General Public License v3.0
17 stars 5 forks source link

Machine Learning for the Detection of Network Attacks

Repository of the code for my Part II Project.

I am using the CICIDS2017[1] dataset to apply machine learning-based techniques to be able to detect network attacks and work towards a final model by evaluating several different algorithms. The aim was to then implement an intrusion detection system, to sniff traffic and in real- time classify whether or not the traffic is benign or adverse.

Using a random forest classifier I achieved 99.91% accuracy and a 97.59% F1 Score.

The python notebook (main.ipynb) contains my initial investigation; preprocessing the data set, feature selection, evaulating a variety of different algorithms, and optimising hyperparameters.

The dissertation (Dissertation.pdf) discusses the motivation behind the research, what has previously been achieved, and what work I accomplished.

[1]: Iman Sharafaldin, Arash Habibi Lashkari, and Ali A. Ghorbani, “Toward Generating a New Intrusion Detection Dataset and Intrusion Traffic Characterization”, 4th International Conference on Information Systems Security and Privacy (ICISSP), Portugal, January 2018

GNU GENERAL PUBLIC LICENSE