IoT Multi-Vector Cyberattack Detection Based on Machine Learning Algorithms: Traffic Features Analysis, Experiments, and Efficiency
Abstract
:1. Introduction
1.1. Motivation
1.2. Objectives and Contribution
2. The State-of-the-Art
3. Machine Learning Algorithms for Cyberattack Detection
4. IoT Multi-Vector Cyberattack Detection Based on Machine Learning Algorithms
4.1. Detection Steps
- Traffic obtaining;
- Grouping packets by type, source device, and time. Packets from each device are grouped by type and by N records, according to the last connection time;
- Feature extraction;
- Feature classification based on the machine learning algorithm;
- Result producing.
4.2. Features Description
- Flow-based features;
- MQTT-based features;
- DNS-based features;
- HTTP-based features.
5. Experiments
5.1. Evaluation Setting
5.2. Dataset Description
5.3. Training and Testing
5.4. Implementation Platform
5.5. Results
6. Conclusions and Future Work
- Different Internet of Things protocols [64] to remove signs of traffic, which will improve the accuracy of attack detection in the lack of flow-based analysis cases;
- Efficient ways to reduce the number of traffic features sufficient to detect attacks;
- Development of ML-based methods for dependability assurance of IoT systems by combining attacks and intrusion detection, redundancy, and recovery procedures [65].
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Nozomi Networks Labs. New OT/IoT Security Report: Trends and Countermeasures for Critical Infrastructure Attacks. Available online: https://www.nozominetworks.com/blog/new-ot-iot-security-report-trends-and-countermeasures-for-critical-infrastructure-attacks/ (accessed on 3 February 2022).
- Global Cyber Alliance. GCA Internet Integrity Papers: IoT Policy and Attack Report. Available online: https://www.globalcyberalliance.org/wp-content/uploads/IoT-Policy-and-Attack-Report_FINAL.pdf (accessed on 5 December 2021).
- Shaaban, A.M.; Chlup, S.; El-Araby, N.; Schmittner, C. Towards Optimized Security Attributes for IoT Devices in Smart Agriculture Based on the IEC 62443 Security Standard. Appl. Sci. 2022, 12, 5653. [Google Scholar] [CrossRef]
- Seo, S.; Kim, D. IoDM: A Study on a IoT-Based Organizational Deception Modeling with Adaptive General-Sum Game Competition. Electronics 2022, 11, 1623. [Google Scholar] [CrossRef]
- Makarichev, V.; Lukin, V.; Illiashenko, O.; Kharchenko, V. Digital Image Representation by Atomic Functions: The Compression and Protection of Data for Edge Computing in IoT Systems. Sensors 2022, 22, 3751. [Google Scholar] [CrossRef]
- Bliss, D.; Garbos, R.; Kane, P.; Kharchenko, V.; Kochanski, T.; Rucinski, A. Homo Digitus: Its Dependable and Resilient Smart Ecosystem. Smart Cities 2021, 4, 514–531. [Google Scholar] [CrossRef]
- Deorankar, A.V.; Thakare, S.S. Survey on Anomaly Detection of (IoT)- Internet of Things Cyberattacks Using Machine Learning. In Proceedings of the 2020 Fourth International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 11–13 March 2020; pp. 115–117. [Google Scholar] [CrossRef]
- Hristov, A.; Trifonov, R.A. Model for Identification of Compromised Devices as a Result of Cyberattack on IoT Devices. In Proceedings of the 2021 International Conference on Information Technologies (InfoTech), Varna, Bulgaria, 16–17 September 2021; pp. 1–4. [Google Scholar] [CrossRef]
- Lysenko, S.; Bobrovnikova, K.; Shchuka, R.; Savenko, O. A Cyberattacks Detection Technique Based on Evolutionary Algorithms. In Proceedings of the 2020 IEEE 11th International Conference on Dependable Systems, Services and Technologies (DESSERT), Kyiv, Ukraine, 14–18 May 2020; pp. 127–132. [Google Scholar]
- Lysenko, S.; Pomorova, O.; Savenko, O.; Kryshchuk, A.; Bobrovnikova, K. DNS-based Anti-evasion Technique for Botnets Detection. In Proceedings of the 8th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications, Warsaw, Poland, 24–26 September 2015; pp. 453–458. [Google Scholar]
- Savenko, B.; Lysenko, S.; Bobrovnikova, K.; Savenko, O.; Markowsky, G. Detection DNS Tunneling Botnets. In Proceedings of the 2021 IEEE 11th International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications, Cracow, Poland, 22–25 September 2021; Volume 1, pp. 64–69. [Google Scholar]
- Lysenko, S.; Savenko, O.; Bobrovnikova, K. DDoS Botnet Detection Technique Based on the Use of the Semi-Supervised Fuzzy c-Means Clustering. CEUR-WS 2018, 2104, 688–695. [Google Scholar]
- Lysenko, S.; Bobrovnikova, K.; Matiukh, S.; Hurman, I.; Savenko, O. Detection of the botnets’ low-rate DDoS attacks based on self-similarity. Int. J. Electr. Comput. Eng. 2020, 10, 3651–3659. [Google Scholar] [CrossRef]
- Shire, R.; Shiaeles, S.; Bendiab, K.; Ghita, B.; Kolokotronis, N. Malware Squid: A Novel IoT Malware Traffic Analysis Framework Using Convolutional Neural Network and Binary Visualisation. In Ininternet of Things, Smart Spaces, and Next Generation Networks and Systems; Springer: Cham, Switzerland, 2019; pp. 65–76. [Google Scholar]
- Elmrabit, N.; Zhou, F.; Li, F.; Zhou, H. Evaluation of machine learning algorithms for anomaly detection. In Proceedings of the 2020 International Conference on Cyber Security and Protection of Digital Services (Cyber Security), Dublin, Ireland, 15–19 June 2020; pp. 1–8. [Google Scholar]
- Bagui, S.; Wang, X.; Bagui, S. Machine Learning Based Intrusion Detection for IoT Botnet. Int. J. Mach. Learn. Comput. 2021, 11, 399–406. [Google Scholar] [CrossRef]
- Kumar, P.; Gupta, G.P.; Tripathi, R. Toward design of an intelligent cyberattack detection system using hybrid feature reduced approach for IoT networks. Arab. J. Sci. Eng. 2021, 46, 3749–3778. [Google Scholar] [CrossRef]
- Ravi, N.; Shalinie, S.M. Learning-driven detection and mitigation of DDoS attack in IoT via SDN-cloud architecture. IEEE Internet Things J. 2020, 7, 3559–3570. [Google Scholar] [CrossRef]
- Otoum, Y.; Liu, D.; Nayak, A. DL-IDS: A deep learning-based intrusion detection framework for securing IoT. Trans. Emerg. Telecommun. Technol. 2019, 33, e3803. [Google Scholar] [CrossRef]
- Verma, A.; Ranga, V. Machine learning based intrusion detection systems for IoT applications. Wirel. Pers. Commun. 2020, 111, 2287–2310. [Google Scholar] [CrossRef]
- Alrashdi, I.; Alqazzaz, A.; Aloufi, E.; Alharthi, R.; Zohdy, M.; Ming, H. Ad-IoT: Anomaly Detection of IoT Cyberattacks in smart City Using Machine Learning. In Proceedings of the 2019 IEEE 9th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, USA, 7–9 January 2019; pp. 305–310. [Google Scholar]
- Krishna, E.S.; Thangavelu, A. Attack detection in IoT devices using hybrid metaheuristic lion optimization algorithm and firefly optimization algorithm. Int. J. Syst. Assur. Eng. Manag. 2021, 1–14. [Google Scholar] [CrossRef]
- Mihoub, A.; Fredj, O.B.; Cheikhrouhou, O.; Derhab, A.; Krichen, M. Denial of service attack detection and mitigation for internet of things using looking-back-enabled machine learning techniques. Comput. Electr. Eng. 2022, 98, 107716. [Google Scholar] [CrossRef]
- Khan, M.A.; Khan Khattk, M.A.; Latif, S.; Shah, A.A.; Ur Rehman, M.; Boulila, W.; Ahmad, J. Voting classifier-based intrusion detection for IoT networks. In Advances on Smart and Soft Computing; Springer: Singapore, 2022; pp. 313–328. [Google Scholar]
- Alharbi, A.; Alosaimi, W.; Alyami, H.; Rauf, H.T.; Damaševičius, R. Botnet attack detection using local global best bat algorithm for industrial internet of things. Electronics 2021, 10, 1341. [Google Scholar] [CrossRef]
- Liu, H.; Lang, B. Machine learning and deep learning methods for intrusion detection systems: A survey. Appl. Sci. 2019, 9, 4396. [Google Scholar] [CrossRef] [Green Version]
- Saia, R.; Carta, S.; Recupero, D.R. A Probabilistic-driven Ensemble Approach to Perform Event Classification in Intrusion Detection System. In Proceedings of the 10th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management, Seville, Spain, 18–20 September 2018; pp. 141–148. [Google Scholar]
- Abdulhammed, R.; Musafer, H.; Alessa, A.; Faezipour, M.; Abuzneid, A. Features dimensionality reduction approaches for machine learning based network intrusion detection. Electronics 2019, 8, 322. [Google Scholar] [CrossRef] [Green Version]
- Abdulhammed, R.; Faezipour, M.; Abuzneid, A.; AbuMallouh, A. Deep and machine learning approaches for anomaly-based intrusion detection of imbalanced network traffic. IEEE Sens. Lett. 2018, 3, 1–4. [Google Scholar] [CrossRef]
- Carta, S.; Podda, A.S.; Recupero, D.R.; Saia, R. A local feature engineering strategy to improve network anomaly detection. Future Internet 2020, 12, 177. [Google Scholar] [CrossRef]
- Rokach, L.; Maimon, O. Data Mining with Decision Trees: Theory and Applications; World Scientific: Singapore, 2014; p. 81. [Google Scholar]
- Flow of Decision Tree Algorithm. Available online: https://www.analyticsvidhya.com/blog/2022/04/complete-flow-of-decision-tree-algorithm/ (accessed on 10 December 2021).
- Kotu, V.; Deshpande, B. Data Science: Concepts and Practice; Morgan Kaufmann: San Francisco, CA, USA, 2019; pp. 65–163. [Google Scholar]
- Polamuri, S. How the Random Forest Algorithm Works in Machine Learning. Available online: https://dataaspirant.com/2017/05/22/random-forest-algorithm-machine-learing (accessed on 10 December 2021).
- Biau, G.; Scornet, E.A. Random Forest Guided Tour. Test 2016, 25, 197–227. [Google Scholar] [CrossRef] [Green Version]
- Scornet, E.; Biau, G.; Vert, J.-P. Consistency of random forests. Ann. Statist. 2015, 43, 1716–1741. [Google Scholar] [CrossRef]
- Athey, S.; Tibshirani, J.; Wager, S. Generalized random forests. Ann. Statist. 2019, 47, 1148–1178. [Google Scholar] [CrossRef] [Green Version]
- Ronaghan, S. The Mathematics of Decision Trees, Random Forest and Feature Importance in Scikit-Learn and Spark. Available online: https://towardsdatascience.com/the-mathematics-of-decision-trees-random-forest-and-feature-importance-in-scikit-learn-and-spark-f2861df67e3 (accessed on 10 December 2021).
- Campos, G.O.; Zimek, A.; Sander, J.; Campello, R.J.; Micenková, B.; Schubert, E.; Assent, I.; Houle, M.E. On the evaluation of unsupervised outlier detection: Measures, datasets, and an empirical study. Data Min. Knowl. Discov. 2016, 30, 891–927. [Google Scholar] [CrossRef]
- Chen, T.; He, T.; Benesty, M.; Khotilovich, V.; Tang, Y.; Cho, H.; Chen, K. Xgboost: Extreme gradient boosting. R Package Version 0.4-2 2015, 1, 1–4. [Google Scholar]
- Weston, J.; Mukherjee, S.; Chapelle, O.; Pontil, M.; Poggio, T.; Vapnik, V. Feature selection for SVMs. Advances in neural information processing systems 2001, 13, 668–674. [Google Scholar]
- Chapelle, O.; Vapnik, V.; Bousquet, O.; Mukherjee, S. Choosing multiple parameters for support vector machines. Mach. Learn. 2002, 46, 131–159. [Google Scholar] [CrossRef]
- Lysenko, S.; Bobrovnikova, K.; Savenko, O.; Kryshchuk, A. BotGRABBER: SVM-Based Self-Adaptive System for the Network Resilience Against the Botnets’ Cyberattacks. In International Conference on Computer Networks; Springer: Cham, Switzerland, 2019; pp. 127–143. [Google Scholar]
- GoldenEye Is a HTTP DoS Test Tool. Available online: https://www.kali.org/tools/goldeneye/ (accessed on 11 December 2021).
- hping3 Network Tool. Available online: https://github.com/antirez/hping (accessed on 11 December 2021).
- DNS Tunneling Tool. Available online: https://github.com/yarrick/iodine (accessed on 11 December 2021).
- Zeek. An Open Source Network Security Monitoring Tool. Available online: https://zeek.org/ (accessed on 11 May 2022).
- UCI Machine Learning Repository. Available online: https://archive.ics.uci.edu/ml/index.php (accessed on 11 December 2021).
- Kaggle. DS2OS Traffic Traces. Available online: https://www.kaggle.com/datasets/francoisxa/ds2ostraffictraces (accessed on 11 December 2021).
- IEEEDataPort. The Bot-IoT Dataset. Available online: https://ieee-dataport.org/documents/bot-iot-dataset (accessed on 11 December 2021).
- Kaggle. N-BaIoT Dataset to Detect IoT Botnet Attacks. Available online: https://www.kaggle.com/datasets/mkashifn/nbaiot-datasetURL (accessed on 11 December 2021).
- Hochschule Coburg. CIDDS-Coburg Intrusion Detection Data Sets. Available online: https://www.hs-coburg.de/forschung/forschungsprojekte-oeffentlich/informationstechnologie/cidds-coburg-intrusion-detection-data-sets.html (accessed on 11 December 2021).
- UNSW Sydney. The UNSW-NB15 Dataset. Available online: https://research.unsw.edu.au/projects/unsw-nb15-dataset (accessed on 11 December 2021).
- UNB. University of New Brunswick. NSL-KDD Dataset. Available online: https://www.unb.ca/cic/datasets/nsl.html (accessed on 11 December 2021).
- What Is the Mirai Botnet? Available online: https://www.cloudflare.com/learning/ddos/glossary/mirai-botnet/ (accessed on 11 May 2022).
- Gafgyt Botnet Lifts DDoS Tricks from Mirai. Available online: https://threatpost.com/gafgyt-botnet-ddos-mirai/165424/ (accessed on 11 May 2022).
- Dark Nexus, the Latest IoT Botnet Targets a Wide Range of Devices. Available online: https://crazygreek.co.uk/dark-nexus-iot-botnet-targets-devices/ (accessed on 11 May 2022).
- Scikit-Learn. Machine Learning in Python. Available online: https://scikit-learn.org/stable/index.html (accessed on 11 May 2022).
- Sklearn.Tree.DecisionTreeClassifier—Scikit-Learn 1.0.2 Documentation. Available online: https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html (accessed on 11 May 2022).
- Sklearn.Ensemble.RandomForestClassifier—Scikit-Learn 1.0.2 Documentation. Available online: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html (accessed on 15 May 2022).
- Sklearn.Neighbors.KNeighborsClassifier—Scikit-Learn 1.0.2 Documentation. Available online: https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html (accessed on 15 May 2022).
- Sklearn.Neighbors.GradientBoostingClassifier—Scikit-Learn 1.0.2 Documentation. Available online: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html (accessed on 11 May 2022).
- Sklearn.Svm.SVC—Scikit-Learn 1.0.2 Documentation. Available online: https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html (accessed on 15 May 2022).
- Kolisnyk, M. Vulnerability analysis and method of selection of communication protocols for information transfer in Internet of Things systems. Radioelectron. Comput. Syst. 2021, 1, 133–149. [Google Scholar] [CrossRef]
- Illiashenko, O.; Kolisnyk, M.; Strielkina, A.; Kotsiuba, I.; Kharchenko, V. Conception and application of dependable Internet of Things based systems. Radio Electron. Comput. Sci. Control 2020, 4, 139–150. [Google Scholar] [CrossRef]
Authors | Goal | MLA | Data Set | Result |
---|---|---|---|---|
Shire, R.; Shiaeles, S.; Bendiab, K.; Ghita B.; Kolokotronis, N. [14] | malware detection, zero-day malware classification | Convolutional Neural Network and binary visualization | Real network environments | Accuracy of 91.32%, Precision of 91.67%, Recall of 91.03% |
Elmrabit, N.; Zhou, F.; Li, F.; Zhou H. [15] | anomaly detection, attack detection | Logistic Regression, Decision Tree, Adaptive boosting, KNN, Random Forest, Naive Bayes, Gated Recurrent Units, Simple Recurrent Neural Network, Convolutional Neural Network and Long short-Term Memory, Convolutional Neural Network, Long short-Term Memory, Deep Neural Network | UNSW-NB15, CICIDS-2017, ICS Cyberattack | Performance about 99.9% using Random Forest (CICIDS-2017) |
Bagui, X. Wang; Bagui, S. [16] | intrusion detection | Logistic regression, SVM, random forest | UCI Machine Learning Repository | Accuracy of about 99% |
Kumar, P.; Gupta, G.P.; Tripathi, R. [17] | cyber-attack detection against IoT networks | K-nearest neighbor, random forest, XGBoost | DS2OS, NSL-KDD, BoT-IoT | Accuracy up to 99%, detection 90–100% |
Ravi N.; Shalinie S.M. [18] | DDoS attacks detection and attacks mitigation | ELM, semi-supervised extreme learning machines | UNB-ISCX | Accuracy of about 96.28% |
Otoum, Y.; Liu, D.; Nayak A. [19] | DoS, user-to-root (U2R), remote-to-local (R2L) detection, probe, intrusions | Stacked-deep polynomial network | NSL-KDD | Accuracy up to 99.02%, Precision up to 99.4%, recall up to 98.3%, F1-score up to 98.8% |
Verma, A.; Ranga, V. [20] | Survey on machine learning algorithms for DoS attacks detection | AdaBoost, extremely randomized trees, multilayer perceptron, classification and regression trees, random forest, gradient boosted machine, extreme gradient boosting | UNSW-NB15, NSL-KDD, CIDDS-001 | Regression trees, classification trees, and EG boosting show the best results—accuracy up to 96.7%, specificity up to 96.2%, sensitivity up to 97.3% |
Alrashdi, I.; Alqazzaz, A.; Aloufi, E.; Alharthi, R.; Zohdy, M.; Ming, H. [21] | Detection of DDoS attacks | Bat Algorithm | N-BaIoT | Accuracy up to 90% |
Krishna, E.S.; Thangavelu, A. [22] | Detection of the DDoS attacks | Random Forest | NSL-KDD, NBaIoT | Accuracy up to 99.98%, precision up to 99.87%, recall up to 100%, and F-score up to 99.73% |
Mihoub, A.; Fredj, O.B.; Cheikhrouhou, O.; Derhab, A.; Krichen, M. [23] | Investigation of DoS/DDoS attacks detection for IoT based on ML algorithms | Looking-back-enabled random forest | IoT-Bot | Accuracy up to 99.81% |
Khan, M.A.; Khan Khattk, M.A.; Latif, S.; Shah, A.A.; Ur Rehman, M.; Boulila, W.; Ahmad, J. [24] | intrusion detection | Combined decision tree, naive Bayes, random forest, and K-Nearest Neighbors using a voting-based technique | TON IoT | Accuracy up to 88%, Precision up to 90%, Recall up to 88%, F-score of 88% for DT-RF-NB based on binary classification with a combined IoT dataset |
Alharbi, A.; Alosaimi, W.; Alyami, H.; Rauf, H.T. [25] | detection of DDoS attacks | Bat algorithm | N-BaIoT | Accuracy up to 90% |
Saia, R.; Carta, S.; Recupero, D.R. [27] | intrusion events detection | Multilayer perceptron, decision tree, adaptive boosting, gradient boosting, random forests | NSL-KDD | Better performance compared to single classifiers in terms of specificity, without significant degradation in other aspects, since there is little degradation in terms of mean F-score, but a positive mean AUC (compared to competitor approaches), demonstrates the effectiveness of the approach |
Abdulhammed, R.; Musafer, H.; Alessa, A.; Faezipour, M.; Abuzneid, A. [28] | developing the features dimensionality reduction approaches for machine learning-based IDS | Bayesian network, random forest, linear discriminant analysis, quadratic discriminant analysis | CICIDS2017 | Reducing the feature dimensions of a dataset from 81 to 10, with high accuracy of 99.6% in both multi-class and binary classification |
Abdulhammed, R.; Faezipour, M.; Abuzneid, A.; AbuMallouh, A. [29] | applying various approaches for handling imbalanced datasets to design effective IDS | Random forest, deep neural networks, variational autoencoder, voting, stacking | CIDDS-001 | Attacks detection with up to 99.99% accuracy |
Carta, S.; Podda, A.S.; Recupero, D.R.; Saia, R. [30] | solving such cybersecurity problems, as the difficulty of distinguishing illegitimate activities from legitimate ones | Random forests, decision tree, gradient boosting, adaptive boosting, multilayer perceptron | NSL-KDD, CICIDS2017, UNSW-NB15 | Improving the performance of the state-of-the-art canonical solutions |
# | Features Designation | Value Description |
---|---|---|
1 | f1 | Protocol type |
2 | f2 | Source IP address |
3 | f3 | Destination IP address |
4 | f4 | Source port |
5 | f5 | Destination port |
6 | f6 | Last connection time |
7 | f7 | Transaction bytes from f2 to f3 |
8 | f8 | Transaction bytes from f3 to f2 |
9 | f9 | Mean packet size transmitted by f2 |
10 | f10 | Mean packet size transmitted by f3 |
11 | f11 | Source bits per second |
12 | f12 | TTL value, f2 to f3 |
13 | f13 | TTL value, f3 to f2 |
14 | f14 | Interpacket interval |
15 | f15 | Bandwidth |
16 | f16 | Packet jitter |
# | Features Designation | Value Description |
---|---|---|
1 | f18 | The amount of connections to f3 in N gathered records according to f6 |
2 | f19 | The amount of connections of f2 in N gathered records according to f6 |
3 | f20 | The amount of connections of f2 and f5 in N gathered records according to f6 |
4 | f21 | The amount of connections to f3 and f4 in N gathered records according to f6 |
5 | f22 | The amount of connections of f2 and f3 in N gathered records according to f6 |
# | Features Designation | Value Description |
---|---|---|
1 | f48 | HTTP request method (GET, POST, HEAD) |
2 | f49 | HOST header value |
3 | f50 | Length of the HOST header value |
4 | f51 | URL in the request |
5 | f52 | Length of URL |
6 | f53 | HTTP pipelining depth |
7 | f54 | Uncompressed size of the transferred data from the client |
8 | f55 | Uncompressed size of the transferred data from the server |
9 | f56 | Percentage of f48 with the same f49 in N records according to f6 |
10 | f57 | Percentage of the f49 the with same the f51 in N records according to f6 |
11 | f58 | Percentage of f48 with the same f51 in N records according to f6 |
# | Features Designation | Value Description |
---|---|---|
1 | f23 | Requested domain name |
2 | f24 | Value specifying the request type |
3 | f25 | Length of f23 |
4 | f26 | Amount of unique characters in f23 |
5 | f27 | Entropy of f23 |
6 | f28 | TTL-period, mode (the value that appears most often in a set of data), in N records according to f6 |
7 | f29 | TTL-period, median (the numerical value separating the higher half of a data sample from the lower half), in N records according to f6 |
8 | f30 | TTL-period, average value, in N records according to f6 |
9 | f31 | Amount of A-records corresponding to f23 in the incoming DNS messages (the feature is used if value f31 > 1), in N records according to f6 |
10 | f32 | Amount of IP addresses concerned with f23 (feature is used if value f31 = 1), in N records according to f6 |
11 | f33 | Average distance between the IP addresses concerned with f23 (feature is used if value f31 = 1), in N records according to f6 |
12 | f34 | Average distance between the IP addresses in the set of A-records for f23 in the incoming DNS message (feature is used if value f31 > 1), in N records according to f6 |
13 | f35 | Amount of unique IP addresses in sets of A-records corresponding to f23 in the DNS messages (feature is used if value f31 > 1), in N records according to f6 |
14 | f36 | Average distance between unique IP addresses in sets of A-records corresponding to f23 in the DNS messages (feature is used if value f31 > 1), in N records according to f6 |
15 | f37 | Domain name amounts that share IP addresses corresponding to f23, in N records according to f6 |
16 | f38 | Sign of the usage of uncommon types of DNS records, or DNS records that are not commonly used by a typical client (e.g., TXT are most often used for tunneling (excluding mail servers), KEY, or NULL) |
17 | f39 | The entropy of the DNS records, which are contained in the DNS messages (CNAME, TXT, NS, MX, KEY, NULL, etc.) |
18 | f40 | Maximum size of the DNS messages about f23, in N records according to f6 |
19 | f41 | Sign of success of DNS query (f41 = 0 if DNS query failed, and f41 = 1 if DNS query was successful) |
20 | f42 | Answer length |
21 | f43 | Mean class value in N records according to f6 |
22 | f44 | Mean type value in N records according to f6 |
23 | f45 | Amount of f2 and f23 in N records according to f6 |
24 | f46 | Amount of f23 to the same f2 in N records according to f6 |
25 | f47 | Percentage of the domain in N records according to f6 |
Parameter | Value | Description |
---|---|---|
criterion | gini | The function to measure the quality of a split. |
splitter | best | The strategy used to choose the split at each node. |
max_depth | None | The maximum depth of the tree. |
min_samples_split | 3 | The minimum number of samples required to split an internal node. |
min_samples_leaf | 1 | The minimum number of samples required to be at a leaf node. |
min_weight_fraction_leaf | 0.0 | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. |
max_features | auto | The number of features to consider when looking for the best split. |
random_state | RandomState instance | Controls the randomness of the estimator. |
class_weight | balanced | Weights associated with classes. |
ccp_alpha | 0.0 | Complexity parameter used for minimal cost complexity pruning. |
Parameter | Value | Description |
---|---|---|
n_estimators | 100 | The number of trees in the forest. |
criterion | gini | The function to measure the quality of a split. |
max_depth | None | The maximum depth of the tree. |
min_samples_split | 2 | The minimum number of samples required to split an internal node. |
min_samples_lea | 1 | The minimum number of samples required to be at a leaf node. |
min_weight_fraction_leaf | 0.0 | The minimum weighted fraction of the sum total of weights. |
max_features | log2 | The number of features to consider when looking for the best split. |
class_weight | balanced | Weights associated with classes. |
ccp_alpha | 0.0 | Complexity parameter used for minimal cost complexity pruning. |
Parameter | Value | Description |
---|---|---|
n_neighbors | 5 | Number of neighbors. |
weights | distance | Weight function used in prediction. |
algorithm | kd_tree | The algorithm used to compute the nearest neighbors. |
leaf_size | 30 | Leaf size passed to KDTree. |
p | 2 | Power parameter for the Minkowski metric. |
metric | str | The distance metric to use for the tree. |
metric_params | dict | The number of parallel jobs to run for the neighbors’ search. |
Parameter | Value | Description |
---|---|---|
loss | exponential | The loss function to be optimized. |
learning_rate | 0.1 | Learning rate shrinks the contribution of each tree. |
n_estimators | 100 | The number of boosting stages to perform. |
subsample | 1.0 | The fraction of samples to be used for fitting the individual base learners. |
criterion | squared_error | The function to measure the quality of a split. |
min_samples_split | 2 | The minimum number of samples required to split an internal node. |
min_weight_fraction_leaf | 0.0 | The minimum weighted fraction of the sum total of weights (of all the input samples) required to be at a leaf node. |
max_depth | 3 | The maximum depth of the individual regression estimator. |
random_state | RandomState instance | Controls the random seed given to each tree estimator at each boosting iteration. |
max_features | None | The number of features to consider when looking for the best split. |
max_leaf_nodes | None | Grow trees with max_leaf_nodes in the best-first fashion. |
validation_fraction | 0.1 | The proportion of training data to set aside as the validation set for early stopping. |
n_iter_no_change | None | The decision as to whether early stopping will be used to terminate training when the validation score does not improve. |
tol | 1 × 103 | Tolerance for the early stopping. |
ccp_alpha | 0.0 | Complexity parameter used for minimal cost complexity pruning. |
Parameter | Value | Description |
---|---|---|
C | 1.0 | Regularization parameter. |
kernel | rbf | Specifies the kernel type to be used in the algorithm. |
gamma | auto | Kernel coefficient. |
tol | 1 × 103 | Tolerance for stopping criterion. |
cache_size | 100 | Specify the size of the kernel cache (in MB). |
max_iter | −1 | Hard limit on iterations (no limit). |
random_state | RandomState instance | Controls the pseudo-random number generation to shuffle the data for probability estimates. |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Router/ Mirai | TCP | RF | 0.999479 | 3620 | 2 | 4 | 2024 | 0.9994748 | 0.999896 | 0.999572 | 0.999615 |
DT | 0.998584 | 3612 | 3 | 5 | 2030 | 0.99917 | 0.998618 | 0.998894 | 0.998994 | ||
kNN | 0.999469 | 3603 | 1 | 2 | 2044 | 0.999723 | 0.999445 | 0.999584 | 0.999692 | ||
XGBoost | 0.998938 | 3562 | 5 | 1 | 2082 | 0.998598 | 0.999719 | 0.999158 | 0.999573 | ||
SVM | 0.996991 | 3544 | 6 | 11 | 2089 | 0.99831 | 0.996906 | 0.997607 | 0.997881 | ||
UDP | RF | 0.999767 | 7531 | 5 | 2 | 2012 | 0.999937 | 0.999835 | 0.999935 | 0.999841 | |
DT | 0.999267 | 7515 | 4 | 3 | 2028 | 0.999468 | 0.999601 | 0.999534 | 0.99975 | ||
kNN | 0.999476 | 7470 | 2 | 3 | 2075 | 0.999732 | 0.999599 | 0.999665 | 0.999821 | ||
XGBoost | 0.999686 | 7465 | 1 | 2 | 2082 | 0.999866 | 0.999732 | 0.999799 | 0.999827 | ||
SVM | 0.998534 | 7455 | 10 | 17 | 2068 | 0.998678 | 0.998678 | 0.998678 | 0.999174 | ||
HTTP GET | RF | 0.999694 | 6434 | 3 | 3 | 2060 | 0.999834 | 0.999734 | 0.999734 | 0.999839 | |
DT | 0.999412 | 6419 | 1 | 4 | 2076 | 0.999844 | 0.999377 | 0.999611 | 0.999793 | ||
kNN | 0.999412 | 6387 | 1 | 4 | 2108 | 0.999843 | 0.999374 | 0.999609 | 0.999458 | ||
XGBoost | 0.999529 | 6340 | 2 | 2 | 2156 | 0.999685 | 0.999685 | 0.999685 | 0.999671 | ||
SVM | 0.997412 | 6381 | 5 | 14 | 2100 | 0.998636 | 0.99637 | 0.997502 | 0.999051 | ||
DNS tunneling | RF | 0.999624 | 5978 | 3 | 4 | 2005 | 0.999798 | 0.999731 | 0.999615 | 0.999944 | |
DT | 0.999249 | 5935 | 2 | 4 | 2049 | 0.999663 | 0.999326 | 0.999495 | 0.999928 | ||
kNN | 0.999374 | 5920 | 3 | 2 | 2065 | 0.999493 | 0.999662 | 0.999578 | 0.999632 | ||
XGBoost | 0.998999 | 5903 | 5 | 3 | 2079 | 0.999154 | 0.999492 | 0.999323 | 0.999186 | ||
SVM | 0.997247 | 5899 | 5 | 14 | 2072 | 0.998649 | 0.99542 | 0.997032 | 0.997547 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Router/ Gafgyt | TCP | RF | 0.999714 | 11984 | 2 | 2 | 2002 | 0.999833 | 0.999833 | 0.999833 | 0.999835 |
DT | 0.999571 | 11963 | 2 | 4 | 2021 | 0.999833 | 0.999666 | 0.999749 | 0.999757 | ||
kNN | 0.999357 | 11917 | 4 | 5 | 2064 | 0.999664 | 0.999581 | 0.999623 | 0.999792 | ||
XGBoost | 0.999643 | 11881 | 3 | 2 | 2104 | 0.999748 | 0.999832 | 0.99979 | 0.999734 | ||
SVM | 0.998713 | 11888 | 7 | 11 | 2084 | 0.999412 | 0.999076 | 0.999244 | 0.999523 | ||
UDP | RF | 0.999738 | 4498 | 2 | 1 | 1999 | 0.999656 | 0.999878 | 0.999667 | 0.999882 | |
DT | 0.999077 | 4453 | 4 | 2 | 2041 | 0.999103 | 0.999551 | 0.999327 | 0.99947 | ||
kNN | 0.999385 | 4430 | 3 | 1 | 2066 | 0.999323 | 0.999774 | 0.999549 | 0.999648 | ||
XGBOOST | 0.999077 | 4391 | 5 | 1 | 2103 | 0.998863 | 0.999772 | 0.999317 | 0.999712 | ||
SVM | 0.998308 | 4433 | 6 | 9 | 4433 | 0.999056 | 0.998867 | 0.998961 | 0.998861 | ||
HTTP GET | RF | 0.999784 | 21082 | 2 | 3 | 2013 | 0.999905 | 0.999858 | 0.999881 | 0.999913 | |
DT | 0.99987 | 21034 | 1 | 2 | 2063 | 0.999952 | 0.999905 | 0.999929 | 0.999912 | ||
kNN | 0.999697 | 20997 | 2 | 5 | 2096 | 0.999905 | 0.999762 | 0.999833 | 0.999971 | ||
XGBoost | 0.999827 | 20990 | 1 | 3 | 2106 | 0.999952 | 0.999857 | 0.999905 | 0.999845 | ||
SVM | 0.998961 | 20986 | 6 | 17 | 18684 | 0.998409 | 0.996144 | 0.997275 | 0.999221 | ||
DNS tunneling | RF | 0.999846 | 3191 | 2 | 4 | 2003 | 0.999674 | 0.999748 | 0.999561 | 0.999783 | |
DT | 0.998269 | 3153 | 5 | 4 | 2038 | 0.998417 | 0.998733 | 0.998575 | 0.999548 | ||
kNN | 0.998654 | 3115 | 2 | 5 | 2078 | 0.999358 | 0.998397 | 0.998878 | 0.999539 | ||
XGBoost | 0.999615 | 3074 | 1 | 1 | 2124 | 0.999675 | 0.999675 | 0.999675 | 0.999882 | ||
SVM | 0.996154 | 3121 | 10 | 11 | 1485 | 0.998919 | 0.995688 | 0.997301 | 0.997861 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Router/ Dark nexus | TCP | RF | 0.999333 | 5490 | 4 | 1 | 2005 | 0.999272 | 0.999818 | 0.999545 | 0.999691 |
DT | 0.9992 | 5472 | 5 | 1 | 2022 | 0.999087 | 0.999817 | 0.999452 | 0.999982 | ||
kNN | 0.998933 | 5455 | 3 | 5 | 2037 | 0.99945 | 0.999084 | 0.999267 | 0.999836 | ||
XGBOOST | 0.9992 | 5417 | 2 | 4 | 2077 | 0.999631 | 0.999262 | 0.999446 | 0.999285 | ||
SVM | 0.9976 | 5394 | 9 | 9 | 2088 | 0.998334 | 0.998334 | 0.998334 | 0.999444 | ||
UDP | RF | 0.999344 | 10196 | 5 | 3 | 1996 | 0.99951 | 0.999706 | 0.999608 | 0.999488 | |
DT | 0.999672 | 10171 | 1 | 3 | 2025 | 0.999902 | 0.999705 | 0.999803 | 0.999932 | ||
kNN | 0.999426 | 10146 | 3 | 4 | 2047 | 0.999704 | 0.999606 | 0.999655 | 0.999835 | ||
XGBOOST | 0.999426 | 10120 | 2 | 5 | 2073 | 0.999802 | 0.999506 | 0.999654 | 0.999844 | ||
SVM | 0.998279 | 10137 | 7 | 9 | 10137 | 0.998301 | 0.997736 | 0.998019 | 0.998421 | ||
HTTP GET | RF | 0.999771 | 19767 | 2 | 3 | 2018 | 0.999899 | 0.999848 | 0.999874 | 0.999853 | |
DT | 0.999725 | 19746 | 3 | 3 | 2038 | 0.999848 | 0.999848 | 0.999848 | 0.999995 | ||
kNN | 0.999679 | 19716 | 2 | 5 | 2067 | 0.999899 | 0.999746 | 0.999823 | 0.999931 | ||
XGBOOST | 0.999771 | 19666 | 1 | 4 | 2119 | 0.999949 | 0.999797 | 0.999873 | 0.999794 | ||
SVM | 0.99899 | 19665 | 4 | 18 | 19665 | 0.99909 | 0.995918 | 0.997502 | 0.999452 | ||
DNS tunneling | RF | 0.999298 | 9351 | 3 | 5 | 2041 | 0.999679 | 0.999466 | 0.999572 | 0.999457 | |
DT | 0.999474 | 9301 | 4 | 2 | 2093 | 0.99957 | 0.999785 | 0.999678 | 0.999974 | ||
kNN | 0.999737 | 9285 | 2 | 1 | 2112 | 0.999785 | 0.999892 | 0.999838 | 0.999859 | ||
XGBOOST | 0.999386 | 9243 | 5 | 2 | 2150 | 0.999459 | 0.999784 | 0.999621 | 0.999482 | ||
SVM | 0.997895 | 9302 | 7 | 10 | 9302 | 0.998109 | 0.99542 | 0.996763 | 0.998561 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Thermostat/ Mirai | TCP | RF | 0.999938 | 3623 | 1 | 5 | 2021 | 0.999724 | 0.999622 | 0.999773 | 0.999913 |
DT | 0.998938 | 3618 | 1 | 5 | 2026 | 0.999724 | 0.99862 | 0.999171 | 0.999446 | ||
kNN | 0.998938 | 3569 | 5 | 1 | 2075 | 0.998601 | 0.99972 | 0.99916 | 0.999017 | ||
XGBOOST | 0.999646 | 3528 | 1 | 1 | 2120 | 0.999717 | 0.999717 | 0.999717 | 0.999923 | ||
SVM | 0.996106 | 3535 | 5 | 17 | 2093 | 0.998588 | 0.995214 | 0.996898 | 0.999678 | ||
UDP | RF | 0.999986 | 7495 | 2 | 1 | 2052 | 0.999933 | 0.999897 | 0.9999 | 0.999865 | |
DT | 0.999791 | 7451 | 1 | 1 | 2097 | 0.999866 | 0.999866 | 0.999866 | 0.999834 | ||
kNN | 0.999372 | 7446 | 1 | 5 | 2098 | 0.999866 | 0.999329 | 0.999597 | 0.999701 | ||
XGBOOST | 0.999476 | 7407 | 1 | 4 | 2138 | 0.999865 | 0.99946 | 0.999663 | 0.999991 | ||
SVM | 0.997906 | 7446 | 3 | 10 | 7446 | 0.999056 | 0.997172 | 0.998113 | 0.999816 | ||
HTTP GET | RF | 0.999859 | 6438 | 4 | 4 | 2054 | 0.999879 | 0.999779 | 0.999779 | 0.999861 | |
DT | 0.999529 | 6391 | 2 | 2 | 2105 | 0.999687 | 0.999687 | 0.999687 | 0.999722 | ||
kNN | 0.999412 | 6369 | 4 | 1 | 2126 | 0.999372 | 0.999843 | 0.999608 | 0.999893 | ||
XGBOOST | 0.999294 | 6343 | 5 | 1 | 2151 | 0.999212 | 0.999842 | 0.999527 | 0.999791 | ||
SVM | 0.997176 | 6402 | 9 | 10 | 6402 | 0.998409 | 0.996144 | 0.997275 | 0.999465 | ||
DNS tunneling | RF | 0.999649 | 5976 | 1 | 5 | 2008 | 0.999833 | 0.999864 | 0.999498 | 0.999692 | |
DT | 0.998874 | 5967 | 4 | 5 | 2014 | 0.99933 | 0.999163 | 0.999246 | 0.999617 | ||
kNN | 0.999249 | 5925 | 3 | 3 | 2059 | 0.999494 | 0.999494 | 0.999494 | 0.999828 | ||
XGBOOST | 0.999374 | 5876 | 4 | 1 | 2109 | 0.99932 | 0.99983 | 0.999575 | 0.999422 | ||
SVM | 0.996996 | 5890 | 10 | 15 | 5890 | 0.998379 | 0.995152 | 0.996763 | 0.998059 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Thermostat/ Gafgyt | TCP | RF | 0.999943 | 11973 | 3 | 2 | 2012 | 0.999849 | 0.999833 | 0.999891 | 0.999954 |
DT | 0.999714 | 11942 | 2 | 2 | 2044 | 0.999833 | 0.999833 | 0.999833 | 0.999876 | ||
kNN | 0.999571 | 11919 | 2 | 4 | 2065 | 0.999832 | 0.999665 | 0.999748 | 0.999744 | ||
XGBOOST | 0.999786 | 11903 | 1 | 2 | 2084 | 0.999916 | 0.999832 | 0.999874 | 0.999962 | ||
SVM | 0.99857 | 11885 | 7 | 13 | 2085 | 0.999411 | 0.998907 | 0.999159 | 0.998787 | ||
UDP | RF | 0.999815 | 4494 | 4 | 5 | 1997 | 0.999811 | 0.999889 | 0.999993 | 0.999972 | |
DT | 0.998923 | 4459 | 2 | 5 | 2034 | 0.999552 | 0.99888 | 0.999216 | 0.998947 | ||
kNN | 0.999538 | 4435 | 2 | 1 | 2062 | 0.999549 | 0.999775 | 0.999662 | 0.999642 | ||
XGBOOST | 0.998923 | 4400 | 3 | 4 | 2093 | 0.999319 | 0.999092 | 0.999205 | 0.999741 | ||
SVM | 0.996769 | 4420 | 6 | 12 | 4420 | 0.99849 | 0.997548 | 0.998019 | 0.998866 | ||
HTTP GET | RF | 0.999784 | 21087 | 3 | 2 | 2008 | 0.999858 | 0.999905 | 0.999881 | 0.999862 | |
DT | 0.99961 | 21042 | 4 | 5 | 2049 | 0.99981 | 0.999762 | 0.999786 | 0.999649 | ||
kNN | 0.99974 | 21025 | 1 | 5 | 2069 | 0.999952 | 0.999762 | 0.999857 | 0.999824 | ||
XGBOOST | 0.99974 | 20983 | 1 | 5 | 2111 | 0.999952 | 0.999762 | 0.999857 | 0.999743 | ||
SVM | 0.999351 | 20992 | 8 | 10 | 20992 | 0.998409 | 0.998182 | 0.998295 | 0.999371 | ||
DNS tunneling | RF | 0.999931 | 3187 | 3 | 1 | 2009 | 0.99976 | 0.999886 | 0.999773 | 0.999842 | |
DT | 0.999231 | 3170 | 2 | 2 | 2026 | 0.999369 | 0.999369 | 0.999369 | 0.999636 | ||
kNN | 0.999231 | 3125 | 1 | 3 | 2071 | 0.99968 | 0.999041 | 0.99936 | 0.999325 | ||
XGBOOST | 0.998654 | 3084 | 2 | 5 | 2109 | 0.999352 | 0.998381 | 0.998866 | 0.998948 | ||
SVM | 0.995962 | 3137 | 7 | 9 | 3137 | 0.998649 | 0.995688 | 0.997166 | 0.998563 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Thermostat/ Dark nexus | TCP | RF | 0.999067 | 5484 | 5 | 2 | 2009 | 0.999889 | 0.999735 | 0.999862 | 0.999807 |
DT | 0.999333 | 5457 | 4 | 1 | 2038 | 0.999268 | 0.999817 | 0.999542 | 0.999866 | ||
kNN | 0.999067 | 5440 | 2 | 5 | 2053 | 0.999632 | 0.999082 | 0.999357 | 0.999787 | ||
XGBOOST | 0.9988 | 5409 | 4 | 5 | 2082 | 0.999261 | 0.999076 | 0.999169 | 0.999392 | ||
SVM | 0.9972 | 5386 | 9 | 12 | 2093 | 0.998332 | 0.997777 | 0.998054 | 0.998168 | ||
UDP | RF | 0.99988 | 10188 | 5 | 5 | 2002 | 0.99988 | 0.99988 | 0.99988 | 0.99988 | |
DT | 0.999344 | 10146 | 3 | 5 | 2046 | 0.999704 | 0.999507 | 0.999606 | 0.999544 | ||
kNN | 0.999262 | 10140 | 5 | 4 | 2051 | 0.999507 | 0.999606 | 0.999556 | 0.999830 | ||
XGBOOST | 0.999344 | 10130 | 5 | 3 | 2062 | 0.999507 | 0.999704 | 0.999605 | 0.999510 | ||
SVM | 0.998033 | 10073 | 3 | 16 | 10073 | 0.99849 | 0.996984 | 0.997736 | 0.998590 | ||
HTTP GET | RF | 0.999633 | 19765 | 3 | 5 | 2017 | 0.999848 | 0.999747 | 0.999798 | 0.999937 | |
DT | 0.999541 | 19730 | 5 | 5 | 2050 | 0.999747 | 0.999747 | 0.999747 | 0.999730 | ||
kNN | 0.999725 | 19716 | 2 | 4 | 2068 | 0.999899 | 0.999797 | 0.999848 | 0.999950 | ||
XGBOOST | 0.999679 | 19680 | 3 | 4 | 2103 | 0.999848 | 0.999797 | 0.999822 | 0.999980 | ||
SVM | 0.999082 | 19644 | 4 | 13 | 19644 | 0.998182 | 0.997275 | 0.997728 | 0.999110 | ||
DNS tunneling | RF | 0.999649 | 9381 | 3 | 1 | 2015 | 0.99968 | 0.999893 | 0.999787 | 0.999683 | |
DT | 0.999737 | 9345 | 1 | 2 | 2052 | 0.999893 | 0.999786 | 0.99984 | 0.999960 | ||
kNN | 0.999211 | 9335 | 4 | 5 | 2056 | 0.999572 | 0.999465 | 0.999518 | 0.999830 | ||
XGBOOST | 0.999561 | 9305 | 3 | 2 | 2090 | 0.999678 | 0.999785 | 0.999731 | 0.999730 | ||
SVM | 0.998421 | 9339 | 4 | 13 | 2044 | 0.998379 | 0.996763 | 0.99757 | 0.999860 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Camcorder/ Mirai | TCP | RF | 0.999292 | 3639 | 2 | 2 | 2007 | 0.999451 | 0.999451 | 0.999451 | 0.99907 |
DT | 0.998584 | 3623 | 4 | 4 | 2019 | 0.998897 | 0.998897 | 0.998897 | 0.999863 | ||
kNN | 0.999646 | 3598 | 1 | 1 | 2050 | 0.999722 | 0.999722 | 0.999722 | 0.999781 | ||
XGBOOST | 0.998938 | 3592 | 3 | 3 | 2052 | 0.999166 | 0.999166 | 0.999166 | 0.999396 | ||
SVM | 0.996106 | 3560 | 8 | 14 | 2068 | 0.997758 | 0.996083 | 0.99692 | 0.998166 | ||
UDP | RF | 0.999872 | 7545 | 2 | 4 | 1999 | 0.999835 | 0.99987 | 0.999603 | 0.99983 | |
DT | 0.999267 | 7497 | 5 | 2 | 2046 | 0.999334 | 0.999733 | 0.999533 | 0.999701 | ||
kNN | 0.998953 | 7451 | 5 | 5 | 2089 | 0.999329 | 0.999329 | 0.999329 | 0.999833 | ||
XGBOOST | 0.999581 | 7444 | 1 | 3 | 2102 | 0.999866 | 0.999597 | 0.999731 | 0.999515 | ||
SVM | 0.997592 | 7412 | 6 | 9 | 7412 | 0.998867 | 0.996796 | 0.99783 | 0.998597 | ||
HTTP GET | RF | 0.999529 | 6479 | 2 | 2 | 2017 | 0.999691 | 0.999691 | 0.999691 | 0.99993 | |
DT | 0.999412 | 6461 | 2 | 3 | 2034 | 0.999691 | 0.999536 | 0.999613 | 0.999737 | ||
kNN | 0.999412 | 6437 | 3 | 2 | 2058 | 0.999534 | 0.999689 | 0.999612 | 0.999959 | ||
XGBOOST | 0.999412 | 6421 | 2 | 3 | 2074 | 0.999689 | 0.999533 | 0.999611 | 0.999982 | ||
SVM | 0.998353 | 6405 | 7 | 10 | 6405 | 0.998409 | 0.998409 | 0.998409 | 0.999113 | ||
DNS tunneling | RF | 0.999249 | 5978 | 4 | 2 | 2006 | 0.999331 | 0.999666 | 0.999498 | 0.99968 | |
DT | 0.998999 | 5959 | 4 | 4 | 2023 | 0.999329 | 0.999329 | 0.999329 | 0.999963 | ||
kNN | 0.999124 | 5942 | 4 | 3 | 2041 | 0.999327 | 0.999495 | 0.999411 | 0.999832 | ||
XGBOOST | 0.998874 | 5914 | 5 | 4 | 2067 | 0.999155 | 0.999324 | 0.99924 | 0.999737 | ||
SVM | 0.997121 | 5914 | 5 | 8 | 5914 | 0.99757 | 0.996225 | 0.996897 | 0.999861 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Camcorder/ Gafgyt | TCP | RF | 0.999971 | 11981 | 5 | 1 | 2003 | 0.999983 | 0.999917 | 0.99985 | 0.999889 |
DT | 0.999643 | 11941 | 1 | 4 | 2044 | 0.999916 | 0.999665 | 0.999791 | 0.999486 | ||
kNN | 0.999571 | 11924 | 5 | 1 | 2060 | 0.999581 | 0.999916 | 0.999748 | 0.999991 | ||
XGBOOST | 0.999571 | 11916 | 3 | 3 | 2068 | 0.999748 | 0.999748 | 0.999748 | 0.999364 | ||
SVM | 0.998713 | 11920 | 10 | 8 | 2052 | 0.999162 | 0.999329 | 0.999246 | 0.999484 | ||
UDP | RF | 0.999923 | 4496 | 4 | 3 | 1997 | 0.999811 | 0.999833 | 0.999822 | 0.999913 | |
DT | 0.998615 | 4465 | 5 | 4 | 2026 | 0.998881 | 0.999105 | 0.998993 | 0.999888 | ||
kNN | 0.999077 | 4430 | 1 | 5 | 2064 | 0.999774 | 0.998873 | 0.999323 | 0.999442 | ||
XGBOOST | 0.999231 | 4387 | 2 | 3 | 2108 | 0.999544 | 0.999317 | 0.99943 | 0.999591 | ||
SVM | 0.997231 | 4365 | 8 | 11 | 1193 | 0.998301 | 0.998301 | 0.998301 | 0.997732 | ||
HTTP GET | RF | 0.99974 | 21056 | 3 | 3 | 2038 | 0.999858 | 0.999858 | 0.999858 | 0.999965 | |
DT | 0.999827 | 21049 | 1 | 3 | 2047 | 0.999952 | 0.999857 | 0.999905 | 0.999425 | ||
kNN | 0.999784 | 21006 | 4 | 1 | 2089 | 0.99981 | 0.999952 | 0.999881 | 0.999628 | ||
XGBOOST | 0.99974 | 20958 | 5 | 1 | 2136 | 0.999761 | 0.999952 | 0.999857 | 0.999901 | ||
SVM | 0.999091 | 21005 | 8 | 20 | 21005 | 0.998636 | 0.996596 | 0.997615 | 0.999821 | ||
DNS tunneling | RF | 0.999038 | 3182 | 4 | 1 | 2013 | 0.999745 | 0.999686 | 0.999215 | 0.999491 | |
DT | 0.998077 | 3176 | 5 | 5 | 2014 | 0.998428 | 0.998428 | 0.998428 | 0.999020 | ||
kNN | 0.998846 | 3165 | 2 | 4 | 2029 | 0.999368 | 0.998738 | 0.999053 | 0.999290 | ||
XGBOOST | 0.998462 | 3160 | 4 | 4 | 2032 | 0.998736 | 0.998736 | 0.998736 | 0.999390 | ||
SVM | 0.996923 | 3123 | 5 | 9 | 3123 | 0.998379 | 0.997301 | 0.99784 | 0.997460 |
Device/ Botnet | Attack | Algorithm | Accuracy | TP | FP | FN | TN | Precision | Recall | F1 Score | AUC |
---|---|---|---|---|---|---|---|---|---|---|---|
Camcorder/ Dark Nexus | TCP | RF | 0.999722 | 5423 | 5 | 1 | 2071 | 0.999779 | 0.999816 | 0.999747 | 0.99986 |
DT | 0.998933 | 5403 | 3 | 5 | 2089 | 0.999445 | 0.999075 | 0.99926 | 0.999869 | ||
kNN | 0.9988 | 5378 | 4 | 5 | 2113 | 0.999257 | 0.999071 | 0.999164 | 0.999911 | ||
EGB | 0.9992 | 5359 | 1 | 5 | 2135 | 0.999813 | 0.999068 | 0.999441 | 0.999932 | ||
SVM | 0.997867 | 5336 | 10 | 6 | 2148 | 0.998129 | 0.998877 | 0.998503 | 0.999542 | ||
UDP | RF | 0.999918 | 10187 | 5 | 5 | 2003 | 0.999809 | 0.999839 | 0.999851 | 0.999861 | |
DT | 0.99959 | 10139 | 4 | 1 | 2056 | 0.999606 | 0.999901 | 0.999753 | 0.998747 | ||
kNN | 0.999426 | 10132 | 4 | 3 | 2061 | 0.999605 | 0.999704 | 0.999655 | 0.999406 | ||
EGB | 0.999262 | 10124 | 4 | 5 | 2067 | 0.999605 | 0.999506 | 0.999556 | 0.999904 | ||
SVM | 0.998115 | 10105 | 7 | 16 | 2072 | 0.999308 | 0.998419 | 0.998863 | 0.999489 | ||
HTTP GET | RF | 0.999633 | 19769 | 3 | 5 | 2013 | 0.999848 | 0.999747 | 0.999798 | 0.999851 | |
DT | 0.999587 | 19733 | 5 | 4 | 2048 | 0.999747 | 0.999797 | 0.999772 | 0.999996 | ||
kNN | 0.999862 | 19726 | 1 | 2 | 2061 | 0.999949 | 0.999899 | 0.999924 | 0.999952 | ||
EGB | 0.999633 | 19709 | 4 | 4 | 2073 | 0.999797 | 0.999797 | 0.999797 | 0.999766 | ||
SVM | 0.999036 | 19704 | 8 | 13 | 2065 | 0.999594 | 0.999341 | 0.999467 | 0.999123 | ||
DNS tunneling | RF | 0.999474 | 9385 | 4 | 2 | 2009 | 0.999574 | 0.999787 | 0.99968 | 0.999921 | |
DT | 0.999386 | 9344 | 5 | 2 | 2049 | 0.999465 | 0.999786 | 0.999626 | 0.998696 | ||
kNN | 0.999649 | 9318 | 3 | 1 | 2078 | 0.999678 | 0.999893 | 0.999785 | 0.999282 | ||
EGB | 0.999386 | 9305 | 2 | 5 | 2088 | 0.999785 | 0.999463 | 0.999624 | 0.999645 | ||
SVM | 0.998421 | 9317 | 8 | 10 | 2065 | 0.999142 | 0.998928 | 0.999035 | 0.998664 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 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
Lysenko, S.; Bobrovnikova, K.; Kharchenko, V.; Savenko, O. IoT Multi-Vector Cyberattack Detection Based on Machine Learning Algorithms: Traffic Features Analysis, Experiments, and Efficiency. Algorithms 2022, 15, 239. https://doi.org/10.3390/a15070239
Lysenko S, Bobrovnikova K, Kharchenko V, Savenko O. IoT Multi-Vector Cyberattack Detection Based on Machine Learning Algorithms: Traffic Features Analysis, Experiments, and Efficiency. Algorithms. 2022; 15(7):239. https://doi.org/10.3390/a15070239
Chicago/Turabian StyleLysenko, Sergii, Kira Bobrovnikova, Vyacheslav Kharchenko, and Oleg Savenko. 2022. "IoT Multi-Vector Cyberattack Detection Based on Machine Learning Algorithms: Traffic Features Analysis, Experiments, and Efficiency" Algorithms 15, no. 7: 239. https://doi.org/10.3390/a15070239
APA StyleLysenko, S., Bobrovnikova, K., Kharchenko, V., & Savenko, O. (2022). IoT Multi-Vector Cyberattack Detection Based on Machine Learning Algorithms: Traffic Features Analysis, Experiments, and Efficiency. Algorithms, 15(7), 239. https://doi.org/10.3390/a15070239