| Literature DB >> 31159512 |
Yanqing Yang1,2, Kangfeng Zheng3, Chunhua Wu4, Yixian Yang5,6.
Abstract
Intrusion detection systems play an important role in preventing security threats and protecting networks from attacks. However, with the emergence of unknown attacks and imbalanced samples, traditional machine learning methods suffer from lower detection rates and higher false positive rates. We propose a novel intrusion detection model that combines an improved conditional variational AutoEncoder (ICVAE) with a deep neural network (DNN), namely ICVAE-DNN. ICVAE is used to learn and explore potential sparse representations between network data features and classes. The trained ICVAE decoder generates new attack samples according to the specified intrusion categories to balance the training data and increase the diversity of training samples, thereby improving the detection rate of the imbalanced attacks. The trained ICVAE encoder is not only used to automatically reduce data dimension, but also to initialize the weight of DNN hidden layers, so that DNN can easily achieve global optimization through back propagation and fine tuning. The NSL-KDD and UNSW-NB15 datasets are used to evaluate the performance of the ICVAE-DNN. The ICVAE-DNN is superior to the three well-known oversampling methods in data augmentation. Moreover, the ICVAE-DNN outperforms six well-known models in detection performance, and is more effective in detecting minority attacks and unknown attacks. In addition, the ICVAE-DNN also shows better overall accuracy, detection rate and false positive rate than the nine state-of-the-art intrusion detection methods.Entities:
Keywords: deep neural network; generator network; improved conditional variational autoencoder; intrusion detection; variational inference
Year: 2019 PMID: 31159512 PMCID: PMC6603523 DOI: 10.3390/s19112528
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Variational AutoEncoder (VAE) architecture.
Figure 2Conditional variational AutoEncoder (CVAE) architecture.
Figure 3Improved conditional variational AutoEncoder (ICVAE) architecture.
Figure 4The proposed intrusion detection framework.
The confusion matrix.
| Predicted Attack | Predicted Normal | |
|---|---|---|
| Actual attack | TP | FN |
| Actual normal | FP | TN |
The class distribution of the NSL-KDD dataset.
| 0]*Category | Training Dataset | Testing Dataset | ||||
|---|---|---|---|---|---|---|
| KDDTrain+_20Percent | KDDTest+ | KDDTest-21 | ||||
| Attack | Count | Attack | Count | Attack | Count | |
| Normal | normal | 13,449 | normal | 9711 | normal | 2152 |
|
| 13,449 | 9711 | 2152 | |||
| Probe | ipsweep | 710 | ipsweep | 141 | ipsweep | 141 |
| satan | 691 | satan | 735 | satan | 727 | |
| portsweep | 587 | portsweep | 157 | portsweep | 156 | |
| nmap | 301 | nmap | 73 | nmap | 73 | |
| saint | 319 | saint | 309 | |||
| mscan | 996 | mscan | 996 | |||
|
| 2289 | 2421 | 2402 | |||
| DoS | neptune | 8282 | neptune | 4657 | neptune | 1579 |
| smurf | 529 | smurf | 665 | smurf | 627 | |
| back | 196 | back | 359 | back | 359 | |
| teardrop | 188 | teardrop | 12 | teardrop | 12 | |
| pod | 38 | pod | 41 | pod | 41 | |
| land | 1 | land | 7 | land | 7 | |
| apache2 | 737 | apache2 | 737 | |||
| mailbomb | 293 | mailbomb | 293 | |||
| processtable | 685 | processtable | 685 | |||
| udpstorm | 2 | udpstorm | 2 | |||
|
| 9234 | 7458 | 4342 | |||
| U2R | buffer_overflow | 6 | buffer_overflow | 20 | buffer_overflow | 20 |
| rootkit | 4 | rootkit | 13 | rootkit | 13 | |
| loadmodule | 1 | loadmodule | 2 | loadmodule | 2 | |
| perl | 2 | perl | 2 | |||
| httptunnel | 133 | httptunnel | 133 | |||
| ps | 15 | ps | 15 | |||
| sqlattack | 2 | sqlattack | 2 | |||
| xterm | 13 | xterm | 13 | |||
|
| 11 | 200 | 200 | |||
| R2L | guess_passwd | 10 | guess_passwd | 1231 | guess_passwd | 1231 |
| warezmaster | 7 | warezmaster | 944 | warezmaster | 944 | |
| imap | 5 | imap | 1 | imap | 1 | |
| multihop | 2 | multihop | 18 | multihop | 18 | |
| phf | 2 | phf | 2 | phf | 2 | |
| ftp_write | 1 | ftp_write | 3 | ftp_write | 3 | |
| spy | 1 | named | 17 | named | 17 | |
| warezclient | 181 | sendmail | 14 | sendmail | 14 | |
| xlock | 9 | xlock | 9 | |||
| xsnoop | 4 | xsnoop | 4 | |||
| worm | 2 | worm | 2 | |||
| snmpgetattack | 178 | snmpgetattack | 178 | |||
| snmpguess | 331 | snmpguess | 331 | |||
|
| 209 | 2754 | 2754 | |||
|
| 25,192 | 22,544 | 11,850 | |||
The class distribution of the UNSW-NB15 dataset.
| Category | Training Dataset | Testing Dataset |
|---|---|---|
| UNSW_NB15_Training-Set | UNSW_NB15_Testing-Set | |
| Normal | 56,000 | 37,000 |
| Generic | 40,000 | 18,871 |
| Exploits | 33,393 | 11,132 |
| Fuzzers | 18,184 | 6062 |
| DoS | 12,264 | 4089 |
| Reconnaissance | 10,491 | 3496 |
| Analysis | 2000 | 677 |
| Backdoor | 1746 | 583 |
| Shellcode | 1133 | 378 |
| Worms | 130 | 44 |
|
| 175,341 | 82,332 |
Figure 5Training charts on the NSL-KDD dataset.
Figure 6Training charts on the UNSW-NB15 dataset.
Number of samples generated on the NSL-KDD training dataset.
| Category | Number of Original Records | Number of Newly Generated Records | Total |
|---|---|---|---|
| Normal | 13,449 | 0 | 13,449 |
| Probe | 2289 | 11,160 | 13,449 |
| DoS | 9234 | 4215 | 13,449 |
| U2R | 11 | 13,438 | 13,449 |
| R2L | 209 | 13,240 | 13,449 |
|
| 25,192 | 42,053 | 67,245 |
Number of samples generated on the UNSW-NB15 training dataset.
| Category | Number of Original Records | Number of Newly Generated Records | Total |
|---|---|---|---|
| Normal | 56,000 | 0 | 56,000 |
| Generic | 40,000 | 16,000 | 56,000 |
| Exploits | 33,393 | 22,607 | 56,000 |
| Fuzzers | 18,184 | 37,816 | 56,000 |
| DoS | 12,264 | 43,736 | 56,000 |
| Reconnaissance | 10,491 | 45,509 | 56,000 |
| Analysis | 2000 | 54,000 | 56,000 |
| Backdoor | 1746 | 54,254 | 56,000 |
| Shellcode | 1133 | 54,867 | 56,000 |
| Worms | 130 | 55,870 | 56,000 |
|
| 175,341 | 384,659 | 560,000 |
Comparison of detection performance for different oversampling methods on the NSL-KDD (KDDTest+) data set (%).
| Model | Normal | Probe | DoS | U2R | R2L | Accuracy | Recall | Precision | F1-Score | FPR |
|---|---|---|---|---|---|---|---|---|---|---|
| ROS-DNN | 92.61 | 56.26 | 80.32 | 6.00 | 12.75 | 78.26 | 67.41 | 92.34 | 77.93 | 7.39 |
| SMOTE-DNN | 96.59 | 56.75 | 82.19 |
| 10.93 | 81.16 | 69.48 | 96.42 | 80.76 | 3.41 |
| ADASYN-DNN | 96.43 | 59.81 | 83.28 | 8.00 | 9.84 | 80.10 | 67.74 | 96.16 | 79.49 | 3.57 |
| ICVAE-DNN |
|
|
|
|
|
|
|
|
|
|
Comparison of detection performance for different oversampling methods on the NSL-KDD (KDDTest-21) data set (%).
| Model | Normal | Probe | DoS | U2R | R2L | Accuracy | Recall | Precision | F1-Score | FPR |
|---|---|---|---|---|---|---|---|---|---|---|
| ROS-DNN | 85.83 | 65.36 | 74.14 | 5.50 | 10.02 | 63.43 | 58.46 | 94.89 | 72.35 | 14.17 |
| SMOTE-DNN | 86.76 | 60.99 | 66.86 | 12.00 | 14.45 | 65.34 | 60.59 | 95.37 | 74.10 | 13.24 |
| ADASYN-DNN | 67.98 | 54.29 | 67.94 | 8.00 | 11.58 | 57.76 | 55.50 | 88.65 | 68.26 | 32.02 |
|
|
|
|
|
|
|
|
|
|
|
|
Comparison of detection performance for different oversampling methods on the UNSW-NB15 dataset (%).
| Class | ROS-DNN | SMOTE-DNN | ADASYN-DNN | ICVAE-DNN |
|---|---|---|---|---|
| Normal | 57.26 | 57.66 | 57.29 |
|
| Generic | 95.94 | 95.38 | 96.22 |
|
| Exploits | 49.69 | 50.59 | 44.36 |
|
| Fuzzers | 56.88 | 58.99 |
| 35.35 |
| DoS | 10.00 |
| 2.52 | 7.92 |
| Reconnaissance | 48.17 |
| 47.63 | 80.29 |
| Analysis | 13.44 | 15.36 |
| 15.21 |
| Backdoor |
| 42.20 | 0.86 | 20.58 |
| Shellcode | 90.74 | 84.39 | 80.69 |
|
| Worms | 34.09 | 52.27 | 47.73 |
|
|
| 80.52 | 80.92 | 80.72 |
|
|
| 99.50 |
| 99.85 | 95.68 |
|
| 74.04 | 74.30 | 74.12 |
|
|
| 84.90 | 85.22 | 85.08 |
|
|
| 42.74 | 42.34 | 42.71 |
|
Comparison of detection performance for different classification methods on the NSL-KDD (KDDTest+) dataset (%).
| Model | Normal | Probe | DoS | U2R | R2L | Accuracy | Recall | Precision | F1-Score | FPR |
|---|---|---|---|---|---|---|---|---|---|---|
| KNN | 92.78 | 59.4 | 82.25 | 3.50 | 3.56 | 76.51 | 64.19 | 92.16 | 75.68 | 7.22 |
| MultinomialNB | 96.03 |
| 37.1 | 0.50 | 22.22 | 78.73 | 65.64 | 95.62 | 77.85 | 3.97 |
| RF |
| 58.53 | 80.24 | 0.50 | 7.55 | 76.49 | 60.69 | 96.84 | 74.62 |
|
| SVM | 92.82 | 61.71 | 74.85 | 0.00 | 0.00 | 72.28 | 56.73 | 91.26 | 69.97 | 7.18 |
| DNN | 96.10 | 65.30 | 85.40 | 2.50 | 14.56 | 80.22 | 68.21 | 95.85 | 79.70 | 3.90 |
| DBN | 97.04 | 69.85 | 83.11 | 5.50 | 12.56 | 80.82 | 68.53 | 96.84 | 80.26 | 2.96 |
|
| 97.26 | 74.97 |
|
|
|
|
|
|
| 2.74 |
Comparison of detection performance for different classification methods on the NSL-KDD (KDDTest-21) dataset (%).
| Model | Normal | Probe | DoS | U2R | R2L | Accuracy | Recall | Precision | F1-Score | FPR |
|---|---|---|---|---|---|---|---|---|---|---|
| KNN | 68.49 | 59.08 | 69.81 | 3.50 | 3.56 | 55.50 | 52.62 | 88.27 | 65.93 | 31.51 |
| MultinomialNB | 83.32 |
| 38.12 | 0.50 | 22.22 | 60.08 | 54.93 | 93.69 | 69.25 | 16.68 |
| RF |
| 60.45 | 66.08 | 0.50 | 10.42 | 56.84 | 49.84 | 95.08 | 65.39 |
|
| SVM | 68.26 | 61.41 | 56.79 | 0.00 | 0.00 | 47.38 | 42.74 | 85.85 | 57.07 | 31.74 |
| DNN | 86.29 | 67.86 | 64.30 | 4.50 | 13.94 | 60.96 | 55.34 | 94.79 | 69.88 | 13.71 |
| DBN | 71.75 | 58.33 | 71.72 | 0.50 | 13.25 | 57.45 | 54.28 | 89.65 | 67.62 | 28.25 |
|
| 87.04 | 79.89 |
|
|
|
|
|
|
| 12.96 |
Comparison of detection performance for different classification methods on the UNSW-NB15 dataset (%).
| Class | KNN | MultinomialNB | RF | SVM | DNN | DBN | ICVAE-DNN |
|---|---|---|---|---|---|---|---|
| Normal | 74.56 | 57.78 | 76.42 | 57.64 | 74.31 | 69.68 |
|
| Generic |
| 96.29 | 96.73 | 96.24 | 96.41 | 96.34 | 96.31 |
| Exploits | 74.48 | 42.05 | 76.24 | 74.51 | 86.20 |
| 71.02 |
| Fuzzers | 42.33 | 42.48 | 53.33 |
| 45.53 | 55.10 | 35.35 |
| DoS | 19.44 |
| 10.37 | 0.00 | 7.65 | 8.24 | 7.92 |
| Reconnaissance | 58.94 | 36.76 | 78.52 | 0.57 | 77.46 | 79.81 |
|
| Analysis | 1.48 | 0.00 | 5.17 | 0.00 | 0.59 | 0.00 |
|
| Backdoor | 2.56 | 0.00 | 11.49 | 0.00 | 8.06 | 0.34 |
|
| Shellcode | 14.47 | 0.00 | 60.85 | 0.00 | 60.32 | 59.26 |
|
| Worms | 11.11 | 0.00 | 4.55 | 0.00 | 36.36 | 0.00 |
|
|
| 85.38 | 76.14 | 87.45 | 78.91 | 86.95 | 85.77 |
|
|
| 94.01 | 91.12 | 96.46 | 96.27 | 97.28 |
| 95.68 |
|
| 82.05 | 72.56 | 83.36 | 73.58 | 82.26 | 79.99 |
|
|
| 87.63 | 80.79 | 89.44 | 83.41 | 89.14 | 88.45 |
|
|
| 25.19 | 42.22 | 23.58 | 42.36 | 25.69 | 30.32 |
|
Comparison results based on NSL-KDD and UNSW-NB15 datasets (N/A means no available results, * Ranked first, ** Ranked second).
| Method | Dataset | Accuracy (%) | DR (%) | FPR (%) |
|---|---|---|---|---|
| SCDNN [ | NSL-KDD (KDDTest+) | 72.64 | 57.48 | N/A |
| STL [ | NSL-KDD (KDDTest+) | 74.38 | 62.99 ** | 7.21 ** |
| DNN [ | NSL-KDD (KDDTest+) | 75.75 | N/A | N/A |
| Gaussian–Bernoulli RBM [ | NSL-KDD (KDDTest+) | 73.23 | N/A | N/A |
| RNN-IDS [ | NSL-KDD (KDDTest+) | 81.29 ** | N/A | N/A |
| ID-CVAE [ | NSL-KDD (KDDTest+) | 80.10 | N/A | N/A |
|
| NSL-KDD (KDDTest+) |
|
|
|
| SCDNN [ | NSL-KDD (KDDTest-21) | 44.55 | 37.85 | N/A |
| STL [ | NSL-KDD (KDDTest-21) | 57.34 | 52.73 ** | 15.06 ** |
| RNN-IDS [ | NSL-KDD (KDDTest-21) | 64.67 ** | N/A | N/A |
|
| NSL-KDD (KDDTest-21) |
|
|
|
| CASCADE-ANN [ | UNSW-NB15 | 86.40 ** | 86.74 ** | 13.10 * |
| EM Clustering [ | UNSW-NB15 | 78.47 | N/A | N/A |
| DT [ | UNSW-NB15 | 85.56 | N/A | N/A |
|
| UNSW-NB15 |
|
|
|