Intrusion Detection Systems
This repo consists of all the codes and datasets of the research paper, "Evaluating Shallow and Deep Neural Networks for Network Intrusion Detection Systems in Cyber Security".
Abstract :
Intrusion detection system (IDS) has become an essential layer in all the latest ICT system due to an urge towards cyber safety in the day-to-day world. Reasons including uncertainty in ๏ฌnding the types of attacks and increased the complexity of advanced cyber attacks, IDS calls for the need of integration of Deep Neural Networks (DNNs). In this paper, DNNs have been utilized to predict the attacks on Network Intrusion Detection System (N-IDS). A DNN with 0.1 rate of learning is applied and is run for 1000 number of epochs and KDDCup-โ99โ dataset has been used for training and benchmarking the network. For comparison purposes, the training is done on the same dataset with several other classical machine learning algorithms and DNN of layers ranging from 1 to 5. The results were compared and concluded that a DNN of 3 layers has superior performance over all the other classical machine learning algorithms.
Keywords :
Intrusion detection, deep neural networks, machine learning, deep learning
Authors :
Rahul-Vigneswaran Kโ, Vinayakumar Rโ , Soman KPโ and Prabaharan Poornachandranโก
โDepartment of Mechanical Engineering, Amrita Vishwa Vidyapeetham, India.
โ Center for Computational Engineering and Networking (CEN), Amrita School of Engineering, Coimbatore.
โกCenter for Cyber Security Systems and Networks, Amrita School of Engineering, Amritapuri Amrita Vishwa Vidyapeetham, India.
How to run the code?
For Classical Machine Learning
- Run
all.py
[Link]
For Deep Neural Network (100 iterations)
- Run
dnn1.py
for 1-hidden layer network and rundnn1acc.py
for finding it's accuracy. [Link] - Run
dnn2.py
for 2-hidden layer network and rundnn2acc.py
for finding it's accuracy. [Link] - Run
dnn3.py
for 3-hidden layer network and rundnn3acc.py
for finding it's accuracy. [Link] - Run
dnn4.py
for 4-hidden layer network and rundnn4acc.py
for finding it's accuracy. [Link] - Run
dnn5.py
for 5-hidden layer network and rundnn5acc.py
for finding it's accuracy. [Link]
For Deep Neural Network (1000 iterations)
- Run
dnn1.py
for 1-hidden layer network and rundnn1acc.py
for finding it's accuracy. [Link] - Run
dnn2.py
for 2-hidden layer network and rundnn2acc.py
for finding it's accuracy. [Link] - Run
dnn3.py
for 3-hidden layer network and rundnn3acc.py
for finding it's accuracy. [Link] - Run
dnn4.py
for 4-hidden layer network and rundnn4acc.py
for finding it's accuracy. [Link] - Run
dnn5.py
for 5-hidden layer network and rundnn5acc.py
for finding it's accuracy. [Link]
Recommended Citation :
If you use this repository in your research, cite the the following papers :
- Rahul, V.K., Vinayakumar, R., Soman, K.P., & Poornachandran, P. (2018). Evaluating Shallow and Deep Neural Networks for Network Intrusion Detection Systems in Cyber Security. 2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT), 1-6.
- Rahul-Vigneswaran, K., Poornachandran, P., & Soman, K.P. (2019). A Compendium on Network and Host based Intrusion Detection Systems. CoRR, abs/1904.03491.
Bibtex Format :
@article{Rahul2018EvaluatingSA,
title={Evaluating Shallow and Deep Neural Networks for Network Intrusion Detection Systems in Cyber Security},
author={Vigneswaran K Rahul and R. Vinayakumar and K. P. Soman and Prabaharan Poornachandran},
journal={2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT)},
year={2018},
pages={1-6}
}
@article{RahulVigneswaran2019ACO,
title={A Compendium on Network and Host based Intrusion Detection Systems},
author={K Rahul-Vigneswaran and Prabaharan Poornachandran and K. P. Soman},
journal={CoRR},
year={2019},
volume={abs/1904.03491}
}
Issue / Want to Contribute ? :
Open a new issue or do a pull request incase your are facing any difficulty with the code base or you want to contribute to it.