Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
<p>Proposed System Architecture consists of three main layers: the application layer, which contains the Rule management system and NIDS; the control layer contains the SDN controller, while the infrastructure layer includes the switches, servers and the attacker that may exist in one of those switches.</p> "> Figure 2
<p>Proposed System Architecture. This flow chart represents the overall process. The process starts with the data source, the NSL-KDD dataset, followed by data analysis and some pre-processing techniques for data cleaning. Feature normalization and feature selection are performed in order to implement the later selected tree-based machine learning algorithm to classify whether there is an attack or not and the types of attack.</p> "> Figure 3
<p>Categorized training set statistics show the number of samples in the four types of attacks and the normal samples in the training set.</p> "> Figure 4
<p>Categorized test set statistics show the number of samples in the four types of attacks and the normal samples in the test set. These samples are an unseen set, for model evaluation.</p> "> Figure 5
<p>The proposed model XGBoost is compared with other tree-based machine learning algorithms, using F1-score, precision and recall as evaluation metrics.</p> "> Figure 6
<p>Accuracy score is measured in order to evaluate the performance of the proposed XGBoost model against the Deep Neural Networks model.</p> "> Figure 7
<p>Performance evaluation of the proposed model in detecting attacks for each category, using F-score, precision and recall.</p> "> Figure 8
<p>Computing the ROC curve by measuring the true-positive rate against the false-positive rate of the proposed model on each attack category (DOS, Probe, R2L, and U2R).</p> "> Figure 9
<p>Attack detection rate comparison between the proposed XGboost method and [<a href="#B27-futureinternet-13-00111" class="html-bibr">27</a>].</p> "> Figure 10
<p>Accuracy performance comparison for proposed XGboost method against classical machine learning algorithms, including the DNN model in [<a href="#B27-futureinternet-13-00111" class="html-bibr">27</a>].</p> ">
Abstract
:1. Introduction
- choosing the right algorithm for the right tasks depends on the data types, size and network behavior and needs.
- Implementing the optimized development process by preparing and selecting the benchmark dataset in order to build a promising system in NIDS.
- Analyzing the data, finding, shaping, and engineering the important features, using several preprocessing techniques by stacking them together with an intelligent order to find the best accuracy with the lowest amount of data representation and size.
- proposing an integration and complete development process using those algorithms and techniques from the selection of dataset to the evaluation of the algorithms using a different metric. Which can be extended to other NIDS applications.
2. Background and Related Work
3. Proposed Method
3.1. System Architecture Layers
- The infrastructure layer consists of two main parts: hardware and software components. The hardware components are devices such as routers and switches. The software components are those components that interface with the hardware, such as OpenFlow switches.
- The control layer is an intelligent network controller, such as an SDN controller. The control layer is the layer responsible for regulating actions and traffic data management by establishing or denying every network flow.
- The application layer is the one that performs all network management tasks. These tasks can be performed using an SDN controller and NIDS.
3.2. Proposed NIDS Scenario
4. Evaluation
4.1. Generalized Block Diagram
4.2. Dataset Overview
4.3. Training Features
4.4. Pre-Processing Techniques (Normalization)
4.5. Baseline Algorithms
- Decision Tree (DT)
- XGBoost
- Random Forest (RF)
5. Results and Discussion
6. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
2-D | 2 dimensional |
AE | Auto-encoder |
AI | Artificial Intelligence |
AUC | Area Under Curve |
BDA | Big Data analytics |
Bi-LSTM | Bi-directional Long-Short-Term-Memory |
BoW | Bag of Word |
CART | Classification And Regression Tree |
CNN | Convolutional Neural Networks |
C | Class |
DOS | denial-of-service attack |
DT | Decision Tree |
GAN | Generative Adverbial Network |
GPU | Graphical Processing Unit |
GRU | Gated Recurrent Unit |
HIDS | host-based intrusion detection system |
ID3 | Iterative Dichotomiser 3 |
IDS | Intrusion Detection System |
IoT | Internet of Things |
LDA | Latent Dirichlet Allocation |
LSTM | Long-Short-Term-Memory |
Min-Max | Minimum-Maximum |
NBA | Network Behavior Analysis |
NB | Naive Bayes |
NIDS | Network Intrusion Detection System |
PCA | Principle Component Analysis |
P | Precision |
R2L | Remote to Local |
RF | Random Forest |
ROC | Receiver Operating Characteristic |
R | Recall |
SDN | Software Defined Network |
SVM | Support Vector Machine |
TSDL | Two Stages Deep Learning |
U2R | User to Root |
WIDS | wireless intrusion detection system |
XGBoost | eXtreme Gradient Boosting |
References
- Hurley, T.; Perdomo, J.E.; Perez-Pons, A. HMM-Based Intrusion Detection System for Software Defined Networking. In Proceedings of the 2016 15th IEEE International Conference on Machine Learning and Applications (ICMLA), Anaheim, CA, USA, 18–20 December 2016; pp. 617–621. [Google Scholar] [CrossRef]
- Shone, N.; Ngoc, T.N.; Phai, V.D.; Shi, Q. A Deep Learning Approach to Network Intrusion Detection. IEEE Trans. Emerg. Top. Comput. Intell. 2018, 2, 41–50. [Google Scholar] [CrossRef] [Green Version]
- Gómez, J.; Gil, C.; Baños, R.; Márquez, A.L.; Montoya, F.G.; Montoya, M.G. A Pareto-based multi-objective evolutionary algorithm for automatic rule generation in network intrusion detection systems. Soft Comput. 2013, 17, 255–263. [Google Scholar] [CrossRef]
- Sangeetha, S.; Gayathri devi, B.; Ramya, R.; Dharani, M.K.; Sathya, P. Signature Based Semantic Intrusion Detection System on Cloud. In Information Systems Design and Intelligent Applications; Mandal, J.K., Satapathy, S.C., Kumar Sanyal, M., Sarkar, P.P., Mukhopadhyay, A., Eds.; Springer: New Delhi, India, 2015; pp. 657–666. [Google Scholar] [CrossRef]
- Dey, S.K.; Rahman, M.M. Effects of Machine Learning Approach in Flow-Based Anomaly Detection on Software-Defined Networking. Symmetry 2020, 12, 7. [Google Scholar] [CrossRef] [Green Version]
- Gao, M.; Ma, L.; Liu, H.; Zhang, Z.; Ning, Z.; Xu, J. Malicious Network Traffic Detection Based on Deep Neural Networks and Association Analysis. Sensors 2020, 20, 1452. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Nobakht, M.; Sivaraman, V.; Boreli, R. A Host-Based Intrusion Detection and Mitigation Framework for Smart Home IoT Using OpenFlow. In Proceedings of the 2016 11th International Conference on Availability, Reliability and Security (ARES), Salzburg, Austria, 31 August–2 September 2016; pp. 147–156. [Google Scholar] [CrossRef]
- Sebbar, A.; Zkik, K.; Baddi, Y.; Boulmalf, M.; Kettani, M.D.E.C.E. MitM detection and defense mechanism CBNA-RF based on machine learning for large-scale SDN context. J. Ambient. Intell. Humaniz. Comput. 2020, 11, 5875–5894. [Google Scholar] [CrossRef]
- Ngo, D.M.; Pham-Quoc, C.; Thinh, T.N. Heterogeneous Hardware-based Network Intrusion Detection System with Multiple Approaches for SDN. Mob. Netw. Appl. 2020, 25, 1178–1192. [Google Scholar] [CrossRef]
- Bag, S.; Gupta, S.; Wood, L. Big data analytics in sustainable humanitarian supply chain: Barriers and their interactions. Ann. Oper. Res. 2020. [Google Scholar] [CrossRef]
- Ali, F.; Ali, A.; Imran, M.; Naqvi, R.A.; Siddiqi, M.H.; Kwak, K.S. Traffic accident detection and condition analysis based on social networking data. Accid. Anal. Prev. 2021, 151, 105973. [Google Scholar] [CrossRef]
- Sarkar, S.K.; Roy, S.; Alsentzer, E.; McDermott, M.B.A.; Falck, F.; Bica, I.; Adams, G.; Pfohl, S.; Hyland, S.L. Machine Learning for Health (ML4H) 2020: Advancing Healthcare for All. Proc. Mach. Learn. Res. 2020, 136, 1–11. [Google Scholar]
- Ali, F.; El-Sappagh, S.; Islam, S.R.; Kwak, D.; Ali, A.; Imran, M.; Kwak, K.S. A smart healthcare monitoring system for heart disease prediction based on ensemble deep learning and feature fusion. Inf. Fusion 2020, 63, 208–222. [Google Scholar] [CrossRef]
- Lazarevic, A.; Kumar, V.; Srivastava, J. Intrusion Detection: A Survey. In Managing Cyber Threats: Issues, Approaches, and Challenges; Springer: Boston, MA, USA, 2005; pp. 19–78. [Google Scholar] [CrossRef] [Green Version]
- Sultana, N.; Chilamkurti, N.; Peng, W.; Alhadad, R. Survey on SDN based network intrusion detection system using machine learning approaches. Peer Netw. Appl. 2019, 12, 493–501. [Google Scholar] [CrossRef]
- Modi, C.; Patel, D.; Borisaniya, B.; Patel, H.; Patel, A.; Rajarajan, M. A survey of intrusion detection techniques in Cloud. J. Netw. Comput. Appl. 2013, 36, 42–57. [Google Scholar] [CrossRef]
- Bawany, N.Z.; Shamsi, J.A.; Salah, K. DDoS Attack Detection and Mitigation Using SDN: Methods, Practices, and Solutions. Arab. J. Sci. Eng. 2017, 42, 425–441. [Google Scholar] [CrossRef]
- Ye, J.; Cheng, X.; Zhu, J.; Feng, L.; Song, L. A DDoS Attack Detection Method Based on SVM in Software Defined Network. Secur. Commun. Netw. 2018, 2018, 9804061. [Google Scholar] [CrossRef]
- Latah, M.; Toker, L. Artificial intelligence enabled software-defined networking: A comprehensive overview. IET Netw. 2019, 8, 79–99. [Google Scholar] [CrossRef] [Green Version]
- Heorhiadi, V.; Reiter, M.K.; Sekar, V. Simplifying Software-Defined Network Optimization Using SOL. In Proceedings of the 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), Santa Clara, CA, USA, 16–18 March 2016; pp. 223–237. [Google Scholar]
- Martini, B.; Adami, D.; Sgambelluri, A.; Gharbaoui, M.; Donatini, L.; Giordano, S.; Castoldi, P. An SDN orchestrator for resources chaining in cloud data centers. In Proceedings of the 2014 European Conference on Networks and Communications (EuCNC), Bologna, Italy, 23–26 June 2014; pp. 1–5. [Google Scholar] [CrossRef]
- Raza, S.; Huang, G.; Chuah, C.; Seetharaman, S.; Singh, J.P. MeasuRouting: A Framework for Routing Assisted Traffic Monitoring. In Proceedings of the 2010 Proceedings IEEE INFOCOM, San Diego, CA, USA, 14–19 March 2010; pp. 1–9. [Google Scholar] [CrossRef]
- Akyildiz, I.F.; Lee, A.; Wang, P.; Luo, M.; Chou, W. A roadmap for traffic engineering in SDN-OpenFlow networks. Comput. Netw. 2014, 71, 1–30. [Google Scholar] [CrossRef]
- Manso, P.; Moura, J.; Serrão, C. SDN-Based Intrusion Detection System for Early Detection and Mitigation of DDoS Attacks. Information 2019, 10, 106. [Google Scholar] [CrossRef] [Green Version]
- Wang, P.; Chao, K.; Lin, H.; Lin, W.; Lo, C. An Efficient Flow Control Approach for SDN-Based Network Threat Detection and Migration Using Support Vector Machine. In Proceedings of the 2016 IEEE 13th International Conference on e-Business Engineering (ICEBE), Macau, China, 4–6 November 2016; pp. 56–63. [Google Scholar] [CrossRef]
- Revathi, S.; Malathi, A. A detailed analysis on NSL-KDD dataset using various machine learning techniques for intrusion detection. Int. J. Eng. Res. Technol. 2013, 2, 1848–1853. [Google Scholar]
- Tang, T.A.; Mhamdi, L.; McLernon, D.; Zaidi, S.A.R.; Ghogho, M. Deep learning approach for Network Intrusion Detection in Software Defined Networking. In Proceedings of the 2016 International Conference on Wireless Networks and Mobile Communications (WINCOM), Fez, Morocco, 26–29 October 2016; pp. 258–263. [Google Scholar] [CrossRef]
- Tavallaee, M.; Bagheri, E.; Lu, W.; Ghorbani, A.A. A detailed analysis of the KDD CUP 99 data set. In Proceedings of the 2009 IEEE Symposium on Computational Intelligence for Security and Defense Applications, Ottawa, ON, Canada, 8–10 July 2009; pp. 1–6. [Google Scholar] [CrossRef] [Green Version]
- Tang, T.A.; Mhamdi, L.; McLernon, D.; Zaidi, S.A.R.; Ghogho, M. Deep Recurrent Neural Network for Intrusion Detection in SDN-based Networks. In Proceedings of the 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft), Montreal, QC, Canada, 25–29 June 2018; pp. 202–206. [Google Scholar] [CrossRef] [Green Version]
- Ikram, S.T.; Cherukuri, A.K. Improving Accuracy of Intrusion Detection Model Using PCA and optimized SVM. J. Comput. Inf. Technol. 2016, 24, 133–148. [Google Scholar] [CrossRef] [Green Version]
- Zolotukhin, M.; Hämäläinen, T.; Kokkonen, T.; Niemelä, A.; Siltanen, J. Data Mining Approach for Detection of DDoS Attacks Utilizing SSL/TLS Protocol. In Internet of Things, Smart Spaces, and Next Generation Networks and Systems; Balandin, S., Andreev, S., Koucheryavy, Y., Eds.; Springer: Cham, Switzerland, 2015; pp. 274–285. [Google Scholar]
- Mehr, S.Y.; Ramamurthy, B. An SVM Based DDoS Attack Detection Method for Ryu SDN Controller. In Proceedings of the 15th International Conference on Emerging Networking EXperiments and Technologies, Orlando, FL, USA, 9–12 December 2019; pp. 72–73. [Google Scholar] [CrossRef]
- Khan, F.A.; Gumaei, A.; Derhab, A.; Hussain, A. A Novel Two-Stage Deep Learning Model for Efficient Network Intrusion Detection. IEEE Access 2019, 7, 30373–30385. [Google Scholar] [CrossRef]
- Malaiya, R.K.; Kwon, D.; Suh, S.C.; Kim, H.; Kim, I.; Kim, J. An Empirical Evaluation of Deep Learning for Network Anomaly Detection. IEEE Access 2019, 7, 140806–140817. [Google Scholar] [CrossRef]
- Yang Jia, M.W.; Wang, Y. Network intrusion detection algorithm based on deep neural network. IET Inf. Secur. 2019, 13, 48–53. [Google Scholar] [CrossRef]
- Yang, Y.; Zheng, K.; Wu, B.; Yang, Y.; Wang, X. Network Intrusion Detection Based on Supervised Adversarial Variational Auto-Encoder With Regularization. IEEE Access 2020, 8, 42169–42184. [Google Scholar] [CrossRef]
- Andresini, G.; Appice, A.; Mauro, N.D.; Loglisci, C.; Malerba, D. Multi-Channel Deep Feature Learning for Intrusion Detection. IEEE Access 2020, 8, 53346–53359. [Google Scholar] [CrossRef]
- Chen, T.; Guestrin, C. XGBoost: A Scalable Tree Boosting System. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, 13–17 August 2016; pp. 785–794. [Google Scholar] [CrossRef] [Green Version]
Attack Name | Attack Type |
---|---|
Denial of Service (DoS) | Memory resources |
User to Root (U2R) | Passwords, root access |
Remote to Local (R2L) | Network resources |
Probe | Network sniffing and security control |
Name | Training Set | Test Set |
---|---|---|
Number of samples | 125,973 | 22,554 |
Attack Categories | Training Set Attack Names | Test Set Attack Names |
---|---|---|
Dos | back, land, Neptune, pod, smurf, teardrop | back, land, neptune, pod, smurf, teardrop,(mailbomb), process table, udpstorm, apache2, worm |
Probe | ipsweep, nmap, portsweep, satan | ipsweep, nmap, portsweep, satan, mscan, saint |
U2R | Buffer overflow, load module, perl, rootkit | Buffer overflow, load module, perl, rootkit, sqlattack, xterm, pst |
R2L | ftp-write, guess-passwd, imap, multihop, phf, spy, warezmaster. | ftp-write, guess-passwd, imap, multihop, phf, spy, warezmaster, xlock, xsnoop, snmpguess, snmpgetattack, HTTP tunnel, send-mail, named, warez client |
Feature Name | Description |
---|---|
Duration | length (number of seconds) of the connection. |
protocol-type | type of protocol, such as tcp, udp, icmp |
src-bytes | number of data bytes from source to destination |
srv-count | number of connections to the same service as the current connection in the past two seconds |
dst-host-same-src-port-rate | percentage of connections from the port services to the destination host. |
Evaluation Metric Name | Equation |
---|---|
Accuracy (A) | (TP + FP)/(FP + TP + FN + TN) |
Percision (P) | TP/(FP + TP) |
Recall (R) | TP/(TP + FN) |
F-score (F) | (2*P*R)/(P + R) |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Alzahrani, A.O.; Alenazi, M.J.F. Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks. Future Internet 2021, 13, 111. https://doi.org/10.3390/fi13050111
Alzahrani AO, Alenazi MJF. Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks. Future Internet. 2021; 13(5):111. https://doi.org/10.3390/fi13050111
Chicago/Turabian StyleAlzahrani, Abdulsalam O., and Mohammed J. F. Alenazi. 2021. "Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks" Future Internet 13, no. 5: 111. https://doi.org/10.3390/fi13050111
APA StyleAlzahrani, A. O., & Alenazi, M. J. F. (2021). Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks. Future Internet, 13(5), 111. https://doi.org/10.3390/fi13050111