| Literature DB >> 28846608 |
Manuel Lopez-Martin1, Belen Carro2, Antonio Sanchez-Esguevillas3, Jaime Lloret4.
Abstract
The purpose of a Network Intrusion Detection System is to detect intrusive, malicious activities or policy violations in a host or host's network. In current networks, such systems are becoming more important as the number and variety of attacks increase along with the volume and sensitiveness of the information exchanged. This is of particular interest to Internet of Things networks, where an intrusion detection system will be critical as its economic importance continues to grow, making it the focus of future intrusion attacks. In this work, we propose a new network intrusion detection method that is appropriate for an Internet of Things network. The proposed method is based on a conditional variational autoencoder with a specific architecture that integrates the intrusion labels inside the decoder layers. The proposed method is less complex than other unsupervised methods based on a variational autoencoder and it provides better classification results than other familiar classifiers. More important, the method can perform feature reconstruction, that is, it is able to recover missing features from incomplete training datasets. We demonstrate that the reconstruction accuracy is very high, even for categorical features with a high number of distinct values. This work is unique in the network intrusion detection field, presenting the first application of a conditional variational autoencoder and providing the first algorithm to perform feature recovery.Entities:
Keywords: conditional variational autoencoder; feature recovery; intrusion detection; neural networks; variational methods
Year: 2017 PMID: 28846608 PMCID: PMC5621014 DOI: 10.3390/s17091967
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Comparison of ID-CVAE with a typical VAE architecture.
Figure 2Details on the loss function elements for the ID-CVAE model.
Figure 3ID-CVAE model details.
Figure 4Classification framework.
Figure 5Classification performance metrics (aggregated) vs. different classifiers.
Figure 6Classification performance metrics (One vs. Rest) vs. intrusion label.
Classification confusion matrix.
| Prediction | ||||||||
|---|---|---|---|---|---|---|---|---|
| DoS | Normal | Probe | R2L | U2R | Total | Percentage (%) | ||
| 6295 | 916 | 61 | 162 | 24 | 7458 | 33.08% | ||
| 119 | 8917 | 610 | 36 | 29 | 9711 | 43.08% | ||
| 368 | 252 | 1762 | 18 | 21 | 2421 | 10.74% | ||
| 4 | 1430 | 32 | 858 | 230 | 2554 | 11.33% | ||
| 0 | 345 | 25 | 7 | 23 | 400 | 1.77% | ||
| 6786 | 11860 | 2490 | 1081 | 327 | 22544 | 100.00% | ||
| 30.10% | 52.61% | 11.05% | 4.80% | 1.45% | 100.00% | |||
Impact of layer used in the decoder to insert the labels.
| Model | Accuracy | F1 | Precision | Recall |
|---|---|---|---|---|
| 0.7791 | 0.7625 | 0.7888 | 0.7791 | |
| 0.8010 | 0.7908 | 0.8159 | 0.8010 | |
| 0.7547 | 0.7389 | 0.7584 | 0.7547 |
Figure 7Feature reconstruction framework.
Figure 8Performance metrics (aggregated) for predicting missing features of NSL-KDD test dataset.
Figure 9Performance metrics (One vs. Rest) for reconstruction of all features values when feature: ‘protocol’ is missing.
Figure 10Performance metrics (One vs. Rest) for reconstruction of all features values when feature: ‘flag’ is missing.
Figure 11Performance metrics (One vs. Rest) for reconstruction of all features values when feature: ‘service’ is missing.
Confusion matrix for reconstruction of all features values when feature: ‘protocol’ is missing.
| Prediction | ||||||
|---|---|---|---|---|---|---|
| icmp | tcp | udp | Total | Percentage (%) | ||
| 1022 | 19 | 2 | 1043 | 4.63% | ||
| 13 | 18791 | 76 | 18880 | 83.75% | ||
| 7 | 79 | 2535 | 2621 | 11.63% | ||
| 1042 | 18889 | 2613 | 22544 | 100.00% | ||
| 4.62% | 83.79% | 11.59% | 100.00% | |||
Detailed performance metrics for reconstruction of all features values when feature: ‘protocol’ is missing.
| Label Value | Frequency | Accuracy | F1 | Precision | Recall | FPR | NPV |
|---|---|---|---|---|---|---|---|
| tcp | 83.75% | 0.9917 | 0.9950 | 0.9948 | 0.9953 | 0.0267 | 0.9757 |
| udp | 11.63% | 0.9927 | 0.9687 | 0.9701 | 0.9672 | 0.0039 | 0.9957 |
| icmp | 4.63% | 0.9982 | 0.9803 | 0.9808 | 0.9799 | 0.0009 | 0.9990 |