| Literature DB >> 34138657 |
Isra Al-Turaiki1, Najwa Altwaijry2.
Abstract
Cybersecurity protects and recovers computer systems and networks from cyber attacks. The importance of cybersecurity is growing commensurately with people's increasing reliance on technology. An anomaly detection-based network intrusion detection system is essential to any security framework within a computer network. In this article, we propose two models based on deep learning to address the binary and multiclass classification of network attacks. We use a convolutional neural network architecture for our models. In addition, a hybrid two-step preprocessing approach is proposed to generate meaningful features. The proposed approach combines dimensionality reduction and feature engineering using deep feature synthesis. The performance of our models is evaluated using two benchmark data sets, namely the network security laboratory-knowledge discovery in databases data set and the University of New South Wales Network Based 2015 data set. The performance is compared with similar deep learning approaches in the literature, as well as state-of-the-art classification models. Experimental results show that our models achieve good performance in terms of accuracy and recall, outperforming similar models in the literature.Entities:
Keywords: NSL-KDD; UNSW-NB15; convolutional neural network; cybersecurity; machine learning; network intrusion detection system
Year: 2021 PMID: 34138657 PMCID: PMC8233218 DOI: 10.1089/big.2020.0263
Source DB: PubMed Journal: Big Data ISSN: 2167-6461 Impact factor: 2.128
Nomenclature of abbreviations
| Acronym | Definition |
|---|---|
| ADNIDS | Anomaly detection-based intrusion detection system |
| ANN | Artificial neural networks |
| BFGS | Broyden–Fletcher–Goldfarb–Shannon |
| CNN | Convolutional neural network |
| DFS | Deep feature synthesis |
| DNN | Deep neural network |
| FC | Fuzzy clustering |
| GRU | Gated recurrent unit |
| LPBoost | Linear programming boosting |
| LSTM | Long short-term memory |
| MNB | Modified Naive Bayes |
| NDAE | Nonsymmetric deep autoencoder |
| NIDS | Network intrusion detection system |
| NSL-KDD | Network security laboratory |
| PCA | Principal component analysis |
| ReLU | Rectified linear unit |
| RF | Random forests |
| RNN | Recurrent neural networks |
| SNIDS | Signature-based network intrusion detection system |
| SOM | Self-organized maps |
| STL | Self-taught learning |
| SVM | Support vector machines |
FIG. 1.Sample input using the different preprocessing methods for the same data point. (a) 2D-representation, (b) PCA-DFS.
FIG. 2.Proposed CNN model. CNN, convolutional neural network.
Performance comparison with several related literature approaches for binary classification on network security laboratory-knowledge discovery in databases
| Model | Accuracy | Precision | Recall | F-measure | Training data sets | Testing data sets |
|---|---|---|---|---|---|---|
| STL-IDS[ | 84.96% | 96.23% | 76.57% | 85.28% | KDDTrain | KDDTest |
| ANN[ | 81.20% | N/A | N/A | N/A | KDDTrain | KDDTest |
| DNN[ | 85.44% | 95.95% | KDDTrain | KDDTest | ||
| AlertNet[ | 80.10% | 69.20% | 80.70% | KDDTrain | KDDTest | |
| SDN-DDN[ | 75.75% | 83.00% | 75.00% | 74.00% | KDDTrain | KDDTest |
| RNN-IDS[ | 83.28% | N/A | N/A | KDDTrain | KDDTest | |
| GoogLeNet[ | 77.04% | 91.66 | 65.64% | 76.50 | KDDTrain | KDDTest |
| ResNet-5027 | 79.14% | 91.97 | 69.41% | 79.12 | KDDTrain | KDDTest |
| TSE-IDS[ | 85.79% | 88.00% | 86.80% | 87.4% | KDDTrain | KDDTest |
| BDNN[ | 84.70% | 79.45% | 87.00% | 83.05% | KDDTrain | KDDTest |
| BCNN | 89.00% | 89.00% | KDDTrain | KDDTest | ||
| BCNN-DFS | 90.00% | 90.00% | KDDTrain | KDDTest | ||
| Naive Bayes | 76.12% | 92.38% | 63.27% | 75.10% | KDDTrain | KDDTest |
| J48 | 81.53% | 69.61% | 81.10% | KDDTrain | KDDTest | |
| Random Forest | 80.45% | 67.72% | 79.77% | KDDTrain | KDDTest | |
| Bagging | 82.63% | 91.87% | 76.23% | 83.32% | KDDTrain | KDDTest |
| Adaboost | 78.44% | 95.28% | 65.37% | 77.54% | KDDTrain | KDDTest |
| BDNN[ | 99.50% | 99.45% | 99.69% | 99.57% | 80% of KDDTrain | 20% of KDDTrain |
| BCNN | 99.50% | 99.20% | 99.11% | 99.57% | 80% of KDDTrain | 20% of KDDTrain |
| BCNN-DFS | 99.62% | 99.7% | 99.6% | 99.6% | 80% of KDDTrain | 20% of KDDTrain |
The highest performance measures obtained are shown in bold.
BCNN , binary classification convolutional neural network; BDNN, binary classification deep neural network; TSE-IDS, two-stage classifier ensemble for intelligent anomaly-based intrusion detection system.
Performance comparisons with several related literature approaches for multiclass classification on NSL-KDD
| Model | Accuracy | Precision | Recall | F-measure | Training data sets | Testing data sets |
|---|---|---|---|---|---|---|
| STL-IDS[ | 80.48% | 68.28% | KDDTrain | KDDTest | ||
| ANN[ | 79.9% | N/A | N/A | N/A | KDDTrain | KDDTest |
| DNN[ | 79.10% | 83% | 68% | 75.76% | KDDTrain | KDDTest |
| AlertNet[ | 78.50% | 81.00% | 78.50% | 76.50% | KDDTrain | KDDTest |
| RNN-IDS[ | N/A | N/A | KDDTrain | KDDTest | ||
| RNN[ | N/A | 69.73% | N/A | KDDTrain | KDDTest | |
| CNN[ | 79.48% | N/A | 68.66% | N/A | KDDTrain | KDDTest |
| MDNN[ | 77.55% | 81.23% | 77.55% | 75.43% | KDDTrain | KDDTest |
| MCNN | 83% | 81% | KDDTrain | KDDTest | ||
| MCNN-DFS | 81% | 84% | KDDTrain | KDDTest | ||
| Naive Bayes | 72.73% | 76.1% | 72.7% | 72.6% | KDDTrain | KDDTest |
| J48 | 74.99% | 79.6% | 75.0% | 71.1% | KDDTrain | KDDTest |
| Random Forest | 76.45% | 82.1% | 76.4% | 72.5% | KDDTrain | KDDTest |
| Bagging | 74.83% | 78.3% | 74.8% | 71.6% | KDDTrain | KDDTest |
| Adaboost | 66.43% | N/A | 66.0% | N/A | KDDTrain | KDDTest |
| MDNN[ | 99.5% | 99.53% | 99.5% | 99.51% | 80% of KDDTrain | 20% of KDDTrain |
| MCNN | 99.5% | 99.5% | 99.5% | 99.5% | 80% of KDDTrain | 20% of KDDTrain |
| MCNN-DFS | 99.7% | 99.5% | 99.80% | 99.6% | 80% of KDDTrain | 20% of KDDTrain |
| NDAE[ | 85.42% | 100.00% | 85.42% | 87.37% | 90% of KDDTrain | 10% of KDDTrain |
The highest performance measures obtained are shown in bold.
MCNN, multi classification convolutional neural network; MDNN, multi classification deep neural network.
Performance comparison with several related literature approaches for binary classification on UNSW-NB15
| Model | Accuracy | Precision | Recall | F-measure | Training data sets | Testing data sets |
|---|---|---|---|---|---|---|
| AlertNet[ | 78.40% | 72.50% | 82.00% | U-train | U-test | |
| TSE-IDS[ | 91.60% | 91.30% | 91.45% | U-train | U-test | |
| BDNN[ | 80.63% | 86.00% | 81.00% | 79.00% | U-train | U-test |
| BCNN | 91.00% | 90.00% | U-train | U-test | ||
| BCNN-DFS | 89.00% | 89.00% | 89.00% | U-train | U-test | |
| Naive Bayes | 77.13% | 83.59% | 72.74% | 77.79% | U-train | U-test |
| J48 | 76.95% | 70.50% | 82.69% | U-train | U-test | |
| Random Forest | 80.94% | 74.34% | 99.84% | 85.23% | U-train | U-test |
| Bagging | 76.95% | 70.50% | 82.69% | U-train | U-test | |
| Adaboost | 78.13% | 71.63% | 99.82% | 83.41% | U-train | U-test |
| BDNN[ | 93.21% | 94% | 93% | 93% | 80% of U-train | 20% U-train |
| BCNN | 94.42% | 95% | 94% | 94% | 80% of U-train | 20% U-train |
| BCNN-DFS | 96% | 96% | 96% | 80% of U-train | 20% U-train |
The highest performance measures obtained are shown in bold.
U-train is UNSW-NB15-training-set, and U-test is UNSW-NB15-testing-set.
UNSW-NB15, University of New South Wales Network Based 2015.
Performance comparison with several related literature approaches for multiclass classification on the UNSW-NB15 data set
| Model | Accuracy | Precision | Recall | F-measure | Training data sets | Testing data sets |
|---|---|---|---|---|---|---|
| AlertNet[ | 66.00% | 62.30% | 66.00% | 59.60% | U-train | U-test |
| MDNN[ | 62.87% | 76.00% | 63.00% | 64.00% | U-train | U-test |
| MCNN | U-train | U-test | ||||
| MCNN-DFS | U-train | U-test | ||||
| Naive Bayes | 45.22% | 29.67% | 38.62% | 33.56% | U-train | U-test |
| J48 | 51.50% | 28.18% | 21.48% | 24.38% | U-train | U-test |
| Random Forest | 68.09% | 62.51% | 35.15% | 44.99% | U-train | U-test |
| Bagging | 51.45% | 32.85% | 21.45% | 25.95% | U-train | U-test |
| Adaboost | 51.50% | 28.18% | 21.48% | 24.38% | U-train | U-test |
| MDNN[ | 72.54% | 73% | 73% | 69% | 80% of U-train | 20% of U-train |
| MCNN | 77.27% | 77% | 70% | 69% | 80% of U-train | 20% of U-train |
| MCNN-DFS | 80% of U-train | 20% of U-train |
The highest performance measures obtained are shown in bold.
U-train is UNSW-NB15-training-set, and U-test is UNSW-NB15-testing-set.
MCNN-DFS case study on UNSW-NB15
Class “Analysis” on UNSW-NB15
Computational complexity
| Training time | Prediction time (seconds) | | Parameters | ||
|---|---|---|---|---|---|
| Total | Trainable | Nontrainable | |||
| BCNN | 00:04:40 | 4.17 | 586,878 | 586,768 | 110 |
| MCNN | 00:34:10 | 3.59 | 1,827,045 | 1,826,935 | 110 |
| BCNN | 00:14:54 | 3.82 | 762,938 | 762,798 | 140 |
| MCNN | 02:21:41 | 4.02 | 2,531,210 | 2,531,070 | 140 |
MDNN[29] confusion matrix on UNSW-NB15
| Predicted | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Analysis | Backdoor | DoS | Exploits | Fuzzers | Generic | Normal | Reconnaissance | Shellcode | Worms | ||
| Actual | Analysis | 0 | 0 | 0 | 499 | 137 | 16 | 25 | 0 | 0 | 0 |
| Backdoor | 0 | 0 | 0 | 389 | 172 | 16 | 6 | 0 | 0 | 0 | |
| DoS | 0 | 0 | 0 | 3617 | 426 | 29 | 16 | 1 | 0 | 0 | |
| Exploits | 0 | 0 | 0 | 9475 | 1558 | 52 | 47 | 0 | 0 | 0 | |
| Fuzzers | 0 | 0 | 0 | 1473 | 4534 | 32 | 23 | 0 | 0 | 0 | |
| Generic | 0 | 0 | 0 | 1503 | 501 | 16,350 | 517 | 0 | 0 | 0 | |
| Normal | 0 | 0 | 0 | 4096 | 11,487 | 9 | 21,408 | 0 | 0 | 0 | |
| Reconnaissance | 0 | 0 | 0 | 2084 | 1409 | 0 | 1 | 2 | 0 | 0 | |
| Shellcode | 0 | 0 | 0 | 182 | 195 | 0 | 1 | 0 | 0 | 0 | |
| Worms | 0 | 0 | 0 | 37 | 7 | 0 | 0 | 0 | 0 | 0 | |
DoS, denial of service.
MCNN Confusion matrix on UNSW-NB15
| Predicted | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Analysis | Backdoor | DoS | Exploits | Fuzzers | Generic | Normal | Reconnaissance | Shellcode | Worms | ||
| Actual | Analysis | 9 | 241 | 380 | 10 | 2 | 0 | 35 | 0 | 0 | 0 |
| Backdoor | 10 | 183 | 367 | 9 | 4 | 0 | 0 | 1 | 9 | 0 | |
| DoS | 30 | 2016 | 1261 | 536 | 104 | 8 | 25 | 32 | 66 | 11 | |
| Exploits | 54 | 2006 | 1552 | 6494 | 267 | 21 | 136 | 355 | 212 | 35 | |
| Fuzzers | 19 | 506 | 745 | 176 | 3897 | 0 | 440 | 39 | 237 | 3 | |
| Generic | 10 | 22 | 122 | 356 | 114 | 18,184 | 11 | 4 | 39 | 9 | |
| Normal | 992 | 1 | 132 | 574 | 10,859 | 4 | 23,955 | 78 | 392 | 13 | |
| Reconnaissance | 2 | 267 | 73 | 142 | 39 | 1 | 12 | 2887 | 71 | 2 | |
| Shellcode | 0 | 0 | 8 | 18 | 38 | 0 | 6 | 9 | 296 | 3 | |
| Worms | 0 | 0 | 0 | 14 | 4 | 1 | 0 | 1 | 1 | 23 | |
Distribution of attacks in the NSL-KDD data set
| Attack | Training set | Attribute |
|---|---|---|
| DoS | 45,927 | back, land, teardrop, neptune, pod, smurf |
| 7458 | back, land, teardrop, neptune, pod, smurf, | |
| Probing | 11,656 | ipsweep, nmap, portsweep, satan |
| 2421 | ipsweep, nmap, portsweep, satan, | |
| U2R | 52 | loadmodule, buffer-overflow, perl, rootkit |
| 200 | buffer-overflow, loadmodule, perl, rootkit, | |
| R2L | 995 | fpt-write, guess-passwd, imap, multihop, phf, spy, warezclient, warezmaster |
| 2754 | fpt-write, guess-passwd, imap, multihop, phf, spy, warezmaster, |
The testing set has some specific attack types that are not present in the training set, such attacks are given in bold.
R2L, remote to local attack; U2R, user to root attack.
Details of the 41 attributes in the NSL-KDD data set
| No. | Feature name | Type |
|---|---|---|
| Basic features | ||
| 1 | Duration | Con |
| 2 | Protocol_type | Sym |
| 3 | Service | Sym |
| 4 | Flag | Sym |
| 5 | Src_bytes | Con |
| 6 | Dst_bytes | Con |
| 7 | Land | Sym |
| 8 | wrong_fragment | Con |
| 9 | Urgent | Con |
| 10 | Bot | Con |
| Content features | ||
| 11 | Num_failed _logins | Con |
| 12 | Logged_in | Sym |
| 13 | Num_compromised | Con |
| 14 | Root_shell | Con |
| 15 | Su_attempted | Con |
| 16 | Num_root | Con |
| 17 | Num_file_creations | Con |
| 18 | Num_shells | Con |
| 19 | Num_access_files | Con |
| 20 | Num_outbound_cmds | Con |
| 21 | Is_host_login | Sym |
| 22 | Is_guest_login | Sym |
| Traffic features | ||
| 23 | count | Con |
| 24 | Srv_count | Con |
| 25 | Serror_rate | Con |
| 26 | Srv_scrror_rate | Con |
| 27 | Rcrror_rate | Con |
| 28 | Srv_rcrror_rate | Con |
| 29 | Same_srv_rate | Con |
| 30 | diff_srv_rate | Con |
| 31 | Srv_diff_host_rate | Con |
| 32 | Dst_host_count | Con |
| 33 | Dst_host_srv_count | Con |
| 34 | Dst_host_same_srv_rate | Con |
| 35 | Dst_host_diif_srv_rate | Con |
| 36 | dst_bost_same_src_port_rate | Con |
| 37 | Dst_host_srv_diff_host_rate | Con |
| 38 | Dst_host_serror_rate | Con |
| 39 | Dst_bost_srv_scrror_rate | Con |
| 40 | Dst_host_rcrror_rate | Con |
| 41 | Dst_host_srv_rerror_rate | Con |
Con, continuous; Sym, symbolic.
Distribution of attacks in the UNSW-NB15 data set
| Attack class | Training set | Testing set |
|---|---|---|
| Normal | 56,000 | 37,000 |
| Fuzzers | 18,184 | 6062 |
| Analysis | 2000 | 677 |
| Backdoor | 1746 | 583 |
| DoS | 12,264 | 4089 |
| Exploits | 33,393 | 11,132 |
| Generic | 40,000 | 18,871 |
| Reconnaissance | 10,491 | 3496 |
| Shellcode | 1133 | 378 |
| Worms | 130 | 44 |
| Total | 175,341 | 82,332 |