Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks

Software-defined Networking (SDN) has recently developed and been put forward as a promising and encouraging solution for future internet architecture. Managed, the centralized and controlled network has become more flexible and visible using SDN. On the other hand, these advantages bring us a more...

Full description

Bibliographic Details
Main Authors: Abdulsalam O. Alzahrani, Mohammed J. F. Alenazi
Format: Article
Language:English
Published: MDPI AG 2021-04-01
Series:Future Internet
Subjects:
Online Access:https://www.mdpi.com/1999-5903/13/5/111
id doaj-b21f583624134e4e8df3148def681419
record_format Article
spelling doaj-b21f583624134e4e8df3148def6814192021-04-28T23:02:30ZengMDPI AGFuture Internet1999-59032021-04-011311111110.3390/fi13050111Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined NetworksAbdulsalam O. Alzahrani0Mohammed J. F. Alenazi1Department of Computer Engineering, CCIS, King Saud University, Riyadh 11461, Saudi ArabiaDepartment of Computer Engineering, CCIS, King Saud University, Riyadh 11461, Saudi ArabiaSoftware-defined Networking (SDN) has recently developed and been put forward as a promising and encouraging solution for future internet architecture. Managed, the centralized and controlled network has become more flexible and visible using SDN. On the other hand, these advantages bring us a more vulnerable environment and dangerous threats, causing network breakdowns, systems paralysis, online banking frauds and robberies. These issues have a significantly destructive impact on organizations, companies or even economies. Accuracy, high performance and real-time systems are essential to achieve this goal successfully. Extending intelligent machine learning algorithms in a network intrusion detection system (NIDS) through a software-defined network (SDN) has attracted considerable attention in the last decade. Big data availability, the diversity of data analysis techniques, and the massive improvement in the machine learning algorithms enable the building of an effective, reliable and dependable system for detecting different types of attacks that frequently target networks. This study demonstrates the use of machine learning algorithms for traffic monitoring to detect malicious behavior in the network as part of NIDS in the SDN controller. Different classical and advanced tree-based machine learning techniques, Decision Tree, Random Forest and XGBoost are chosen to demonstrate attack detection. The NSL-KDD dataset is used for training and testing the proposed methods; it is considered a benchmarking dataset for several state-of-the-art approaches in NIDS. Several advanced preprocessing techniques are performed on the dataset in order to extract the best form of the data, which produces outstanding results compared to other systems. Using just five out of 41 features of NSL-KDD, a multi-class classification task is conducted by detecting whether there is an attack and classifying the type of attack (DDoS, PROBE, R2L, and U2R), accomplishing an accuracy of 95.95%.https://www.mdpi.com/1999-5903/13/5/111network intrusion detection system (NIDS)software defined network (SDN)NSL-KDDXGBoostmachine learningfeature scaling
collection DOAJ
language English
format Article
sources DOAJ
author Abdulsalam O. Alzahrani
Mohammed J. F. Alenazi
spellingShingle Abdulsalam O. Alzahrani
Mohammed J. F. Alenazi
Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
Future Internet
network intrusion detection system (NIDS)
software defined network (SDN)
NSL-KDD
XGBoost
machine learning
feature scaling
author_facet Abdulsalam O. Alzahrani
Mohammed J. F. Alenazi
author_sort Abdulsalam O. Alzahrani
title Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
title_short Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
title_full Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
title_fullStr Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
title_full_unstemmed Designing a Network Intrusion Detection System Based on Machine Learning for Software Defined Networks
title_sort designing a network intrusion detection system based on machine learning for software defined networks
publisher MDPI AG
series Future Internet
issn 1999-5903
publishDate 2021-04-01
description Software-defined Networking (SDN) has recently developed and been put forward as a promising and encouraging solution for future internet architecture. Managed, the centralized and controlled network has become more flexible and visible using SDN. On the other hand, these advantages bring us a more vulnerable environment and dangerous threats, causing network breakdowns, systems paralysis, online banking frauds and robberies. These issues have a significantly destructive impact on organizations, companies or even economies. Accuracy, high performance and real-time systems are essential to achieve this goal successfully. Extending intelligent machine learning algorithms in a network intrusion detection system (NIDS) through a software-defined network (SDN) has attracted considerable attention in the last decade. Big data availability, the diversity of data analysis techniques, and the massive improvement in the machine learning algorithms enable the building of an effective, reliable and dependable system for detecting different types of attacks that frequently target networks. This study demonstrates the use of machine learning algorithms for traffic monitoring to detect malicious behavior in the network as part of NIDS in the SDN controller. Different classical and advanced tree-based machine learning techniques, Decision Tree, Random Forest and XGBoost are chosen to demonstrate attack detection. The NSL-KDD dataset is used for training and testing the proposed methods; it is considered a benchmarking dataset for several state-of-the-art approaches in NIDS. Several advanced preprocessing techniques are performed on the dataset in order to extract the best form of the data, which produces outstanding results compared to other systems. Using just five out of 41 features of NSL-KDD, a multi-class classification task is conducted by detecting whether there is an attack and classifying the type of attack (DDoS, PROBE, R2L, and U2R), accomplishing an accuracy of 95.95%.
topic network intrusion detection system (NIDS)
software defined network (SDN)
NSL-KDD
XGBoost
machine learning
feature scaling
url https://www.mdpi.com/1999-5903/13/5/111
work_keys_str_mv AT abdulsalamoalzahrani designinganetworkintrusiondetectionsystembasedonmachinelearningforsoftwaredefinednetworks
AT mohammedjfalenazi designinganetworkintrusiondetectionsystembasedonmachinelearningforsoftwaredefinednetworks
_version_ 1721503069657628672