Detection of Security Attacks in Industrial IoT Networks: A Blockchain and Machine Learning Approach
Abstract
:1. Introduction
- Authentication: Apply cryptographic hash algorithms to counter side channel attacks.
- Privacy: Using symmetric or asymmetric encryption algorithms can prevent unauthorized access to sensor information while it is being captured or sent to the next layer.
- Sensitive information: With a K-Anonymity approach it is possible to protect personal or location data.
- Risk analysis: Allows to identify new threats and helps to determine the best way to prevent information leaks and ensure appropriate security strategies.
- Authentication: A point-to-point authentication process can prevent unauthorized access to the IoT network.
- Privacy: Monitoring network activity against any type of intrusion and activating information integrity mechanisms ensures defense against such attacks.
- Routing Security: Implementing routing algorithms that guarantee the use of alternative paths can help the system to determine errors and have contingency mechanisms in case of intrusion.
- Authentication: Blocking access to non-self-hosting users with strong authentication mechanisms and the creation of user profiles that allow access segregation.
- Intrusion detection: Intrusion detection techniques can provide solutions to many security threats by generating alerts in case of suspicious activity.
- Information security: Use of encryption technologies to prevent information theft and other malicious activities.
2. Related Works
2.1. Blockchain in the IoT Context
- Autonomy: Transactions can be executed independently and automatically in a prescribed manner. Even the parties involved in the transaction are the ones who make the agreement instead of executing it. There is no need to worry about manipulation and corruption by an intermediary.
- Trust: Records are encrypted using somewhat symmetrical encryption rates. It is difficult for a hacker to break the codes and infiltrate the smart contract.
- Accuracy: Records are faster, cheaper and more accurate than traditional ones. They can avoid the human errors caused by filling out forms.
2.2. Machine Learning in the Context of IoT Cibersecurity
2.3. Related Projects
3. Solution Proposal
3.1. Machine Learning and Blockchain Algorithm’s Selection
3.1.1. Machine Learning Algorithm
Algorithm 1: KNN Algorithm |
Data: Training Data Set, Test Data |
Result: Predicted class for each Test Data |
Initialization of the KNN sets |
Attack prediction for the test data |
Offline process: |
Real time attack prediction for the captured packets |
Online process: |
3.1.2. Blockchain Algorithm
Algorithm 2: Blockchain Algorithm with AES |
Data: Edge Node Encryption Key Set (K), Current transaction time, Sensor |
information to be recorded |
Result: Secure storage of Edge sensor information |
Initialization of the chain |
Capturing communication packets from the node |
Creating a new block |
Verification of chain integrity |
4. Experimental Results
4.1. Scenario Configuration
4.2. Attacks Configuration
4.3. K-Nearest Neighbors Algorithm Setup and Results
- Number of neighbors: The KNN algorithm is based on calculating the closest distance between the data, that is, it categorizes new data according to its closeness to the others. If this value increases, it takes a greater amount of more distant elements to evaluate.
- Amount of traces: The amount of traces affects the learning process and load of the algorithm.
4.4. Blockchain Algorithm Setup and Results
- Total number of blocks: This allows us to determine until what point the algorithm can support transactions without wasting time between transactions and verifying the integrity of the chain.
- Number of simultaneous nodes: This variable allows us to know if it is possible to scale the model to larger and more distributed IIoT networks
4.5. Comparative Analysis of the Results Obtained against an IDS
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Mcginthy, J.M.; Michaels, A.J. Secure Industrial Internet of Things Critical Infrastructure Node Design. IEEE Internet Things J. 2019, 6, 8021–8037. [Google Scholar] [CrossRef]
- Lee, S.K.; Bae, M.; Kim, H. Future of IoT Networks: A Survey. Appl. Sci. 2017, 71, 1072. [Google Scholar] [CrossRef]
- Lee, I.; Bae, M.; Kim, H. Internet of Things (IoT) Cybersecurity: Literature Review and IoT Cyber Risk Management. Future Internet 2020, 12, 157. [Google Scholar] [CrossRef]
- Tawalbeh, L.; Muheidat, F.; Tawalbeh, M.; Quwaider, M. IoT Privacy and Security: Challenges and Solutions. Appl. Sci. 2020, 10, 4102. [Google Scholar] [CrossRef]
- The State of IoT Security. October 2017. Available online: https://www.gemalto.com/m2m/documents/iot-security-report (accessed on 5 September 2020).
- Abdullah, A.; Hamad, R.; Abdulrahman, M.; Moala, H.; Elkhediri, S. CyberSecurity: A Review of Internet of Things (IoT) Security Issues, Challenges and Techniques. In Proceedings of the 2nd International Conference on Computer Applications and Information Security, ICCAIS 2019, Riyadh, Saudi Arabia, 1–3 May 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Yu, Y.; Li, Y.; Tian, J.; Liu, J. Blockchain-Based Solutions to Security and Privacy Issues in the Internet of Things. IEEE Wirel. Commun. 2018, 25, 12–18. [Google Scholar] [CrossRef]
- Yang, K.; Ren, J.; Zhu, Y.; Zhang, W. Active Learning for Wireless IoT Intrusion Detection. IEEE Wirel. Commun. 2018, 25, 19–25. [Google Scholar] [CrossRef] [Green Version]
- Erhan, L.; Ndubuaku, M.; Mauro, M.D.; Song, W.; Chen, M.; Fortino, G.; Bagdasar, O.; Liotta, A. Smart Anomaly Detection in Sensor Systems: A Multi-Perspective Review. Inf. Fusion 2021, 67, 64–79. [Google Scholar] [CrossRef]
- Jeon, J.H.; Kim, K.H.; Kim, J.H. Blockchain based data security enhanced IoT server platform. In Proceedings of the International Conference on Information Networking, Chiang Mai, Thailand, 10–12 January 2018; pp. 941–944. [Google Scholar] [CrossRef]
- Suhail, S.; Hong, C.S.; Lodhi, M.A.; Zafar, F.; Khan, A.; Bashir, F. Data trustworthiness in IoT. In Proceedings of the International Conference on Information Networking, Chiang Mai, Thailand, 10–12 January 2018; pp. 414–419. [Google Scholar] [CrossRef]
- Kshirsagar, D.D.; Sale, S.S.; Tagad, D.K.; Khandagale, G. Network Intrusion Detection based on attack pattern. In Proceedings of the ICECT 2011-2011 3rd International Conference on Electronics Computer Technology, Kanyakumari, India, 8–10 April 2011; pp. 283–286. [Google Scholar] [CrossRef]
- Zhang, Y.; Li, P.; Wang, X. Intrusion Detection for IoT Based on Improved Genetic Algorithm and Deep Belief Network. IEEE Access 2019, 7, 31711–31722. [Google Scholar] [CrossRef]
- Moustafa, N.; Turnbull, B.; Choo, K.R. An Ensemble Intrusion Detection Technique based on proposed Statistical Flow Features for Protecting Network Traffic of Internet of Things. IEEE Internet Things J. 2018, 6, 4815–4830. [Google Scholar] [CrossRef]
- Bagaa, M.; Taleb, T.; Bernal, J.; Skarmeta, A. A machine learning Security Framework for Iot Systems. IEEE Access 2020, 8, 114066–114077. [Google Scholar] [CrossRef]
- Susilo, B.; Sari, R. Intrusion Detection in IoT Networks Using Deep Learning Algorithm. Information 2020, 11, 279. [Google Scholar] [CrossRef]
- Liu, J.; Kantarci, B.; Adams, C. Machine Learning-Driven Intrusion Detection for Contiki-NG-Based IoT Networks Exposed to NSL-KDD Dataset. In Proceedings of the ACM Workshop on Wireless Security and Machine Learning, Linz, Austria, 13 July 2020. [Google Scholar] [CrossRef]
- Almiani, M.; AbuGhazleh, B.; Al-Rahayfeh, A.; Atiewi, S.; Razaque, A. Deep Recurrent Neural Network For IoT Intrusion Detection System. Sci. Direct Simul. Model. Pract. Theory 2020, 101, 102031. [Google Scholar] [CrossRef]
- Eskandari, M.; Janjua, Z.H.; Vecchio, M.; Antonelli, F. Passban IDS: An Intelligent Anomaly Based Intrusion Detection System for IoT Edge Devices. IEEE Internet Things J. 2020, 7, 6882–6897. [Google Scholar] [CrossRef]
- Pokhrel, S.; Abbas, R.; Aryal, B. IoT Security: Botnet detection in IoT using Machine learning. arXiv 2021, arXiv:2104.02231. [Google Scholar]
- Shafiq, M.; Tian, Z.; Sun, Y.; Du, X.; Guizani, M. Selection of effective machine learning algorithm and Bot-IoT attacks traffic identification for internet of things in smart city. Future Gener. Comput. Syst. 2020, 107, 433–442. [Google Scholar] [CrossRef]
- Kirupakar, J.; Shalinie, S.M. Situation aware intrusion detection system design for industrial IoT gateways. In Proceedings of the 2019 International Conference on Computational Intelligence in Data Science (ICCIDS), Gurugram, India, 21–23 February 2019. [Google Scholar] [CrossRef]
- Ray, S. A Quick Review of machine learning Algorithms. In Proceedings of the 2019 International Conference on Machine Learning, Big Data, Cloud and Parallel Computing (COMITCon), Faridabad, India, 14–16 February 2019; pp. 35–39. [Google Scholar] [CrossRef]
- Ponmaniraj, S.; Rashmi, R.; Anand, M.V. IDS Based Network Security Architecture with TCP/IP Parameters using Machine Learning. In Proceedings of the 2018 International Conference on Computing, Power and Communication Technologies (GUCON), Greater Noida, India, 28–29 September 2018; pp. 111–114. [Google Scholar] [CrossRef]
- Au, E. Building a Minimal Blockchain in Python: Understanding Blockchain by Coding. 2019. Available online: https://towardsdatascience.com/building-a-minimal-blockchain-in-python-4f2e9934101d (accessed on 18 July 2020).
- Moustafa, N.; Slay, J. UNSW-NB15: A comprehensive data set for network intrusion detection systems (UNSW-NB15 network data set). In Proceedings of the IEEE Military Communications and Information Systems Conference, Canberra, ACT, Australia, 10–12 November 2015. [Google Scholar] [CrossRef]
- OWASP IoT Security. 2018 OWASP IoT Top 10. Available online: https://owasp.org/www-pdf-archive/OWASP-IoT-Top-10-2018-final.pdf (accessed on 23 June 2020).
- Zhan, Y.; Chen, H.; Zhang, G.C. An optimization algorithm of K-NN classification. In Proceedings of the 2006 International Conference on Machine Learning and Cybernetics, Dalian, China, 13–16 August 2006; pp. 2246–2251. [Google Scholar] [CrossRef]
- Skynet Solutions “EasyIDS 0.2”. 2007. Available online: https://skynetsolutions.com/easyids-0-2-released/ (accessed on 11 June 2020).
Proposal | Uses Blockchain | Uses Machine Learning | Recent Dataset | Comparable to Regular IDS? |
---|---|---|---|---|
[10] | Yes | No | N/A | No |
[11] | Yes | No | N/A | No |
[12] | No | Yes | N/A | Yes |
[8] | No | Yes | 1999 | Yes |
[13] | No | Yes | 1999 | No |
[14] | No | Yes | 2015 | No |
[15] | No | Yes | 1999 | No |
[16] | No | Yes | 2015 | No |
[17] | No | Yes | 1999 | No |
[18] | No | Yes | 1999 | No |
[19] | No | Yes | Own Dataset | No |
[20] | No | Yes | 2015 | No |
[21] | No | Yes | 2015 | No |
Our proposal | Yes | Yes | 2015 (Suited) | Yes |
Parameter | Relevance |
---|---|
Protocol | It clearly indicates the protocol of the transmission, helping to better identify the traffic of a target application. |
Frame size | It helps to establish an average package size of a target application. |
Source port | More clearly identifies the proprietary or application-specific port of a target application. |
Destination Port | More clearly identifies the proprietary or application-specific port of a target application. |
Epoch time | Allows a numerical value to be given to the time and date of transmission of a packet. |
TTL | Used by attackers to try to alter intercepted or altered packets. |
Flags | When an attacker tries to exploit open ports or services, the attacker uses specific flags. |
Window size | The size of the window gives an indication of the communication established between two hosts. |
Sequence number | Used by attackers to request the retransmission of packages. |
Attack Type | Amount |
---|---|
Normal | 2,218,764 |
Fuzzers | 24,246 |
Analysis | 2677 |
Backdoors | 2329 |
DoS | 16,353 |
Exploits | 44,525 |
Generic | 215,481 |
Reconnaissance | 13,987 |
Shellcode | 1511 |
Worms | 174 |
Attack Type | Amount of Traces | Number of Neighbors | Loading Time | Accuracy |
---|---|---|---|---|
DoS | 100,000 | 316 | 88.01 s | 95% |
DoS | 50,000 | 224 | 15.75 s | 97% |
DoS | 33,333 | 183 | 8.29 s | 95% |
Fuzzers | 100,000 | 1000 | 133.58 s | 62% |
Fuzzers | 100,000 | 2000 | 188.12 s | 78% |
Fuzzers | 100,000 | 5000 | 373.45 s | 99% |
Fuzzers | 100,000 | 316 | 85.66 s | 62% |
Fuzzers | 50,000 | 224 | 14.64 s | 62% |
Fuzzers | 33,333 | 183 | 8.75 s | 62% |
Fuzzers | 20,000 | 200 | 9.44 s | 62% |
Fuzzers | 20,000 | 1000 | 16.77 s | 82% |
Fuzzers | 20,000 | 10,000 | 100.55 s | 82% |
DoS and Fuzzers | 120,000 | 5000 | 339.59 s | 92% |
DoS and Fuzzers | 120,000 | 7500 | 560.29 s | 82% |
DoS and Fuzzers | 120,000 | 346 | 123.85 s | 62% |
DoS and Fuzzers | 60,000 | 245 | 22.2 s | 62% |
DoS and Fuzzers | 40,000 | 200 | 11.98 s | 62% |
Best Scenario | Best Scenario | Best Scenario | |
---|---|---|---|
Normal-DoS | Normal-Fuzzers | Normal-DoS-Fuzzers | |
Amount of traces | 50,000 | 100,000 | 120,000 |
Number of neighbors | 224 | 5000 | 5000 |
Accuracy (avg) | 0.9636 | 0.99 | 0.9208 |
Precision normal (avg) | 0.97 | 1.00 | 0.97 |
Precision DoS (avg) | 0.9368 | N/A | 0.8096 |
Precision Fuzzers (avg) | N/A | 0.9432 | 0.8336 |
Recall normal (avg) | 0.986 | 0.986 | 0.9868 |
Recall DoS (avg) | 0.8808 | N/A | 0.7732 |
Recall Fuzzers (avg) | N/A | 0.998 | 0.8192 |
F1-score normal (avg) | 0.9796 | 0.99 | 0.98 |
F1-score DoS (avg) | 0.9068 | N/A | 0.7912 |
F1-score Fuzzers (avg) | N/A | 0.97 | 0.826 |
Percentage of | 80% | 80% | 68% |
normal traffic | |||
Percentage of | 20% | N/A | 16% |
DoS traffic | |||
Percentage of | N/A | 20% | 16% |
Fuzzers traffic | |||
Number of samples | 25 | 25 | 25 |
Confidence interval | 0.00192 | 0.0011 | |
for accuracy (95%) | |||
Standard Deviation | 0.00489 | 0.0028 | |
Lower interval | 0.9616 | 0.99 | 0.9197 |
Upper interval | 0.9655 | 0.99 | 0.9219 |
Number of Total Blocks | Error Rate | Maximum Verification Time |
---|---|---|
1 | 0% | 7.99 × 10 s |
2 | 0% | 9.99 × 10 s |
4 | 0% | 1.59 × 10 s |
8 | 0% | 2.89 × 10 s |
16 | 0% | 5.39 × 10 s |
32 | 0% | 0.0001 s |
64 | 0% | 0.0002 s |
128 | 0% | 0.00042 s |
256 | 0% | 0.00087 s |
512 | 0% | 0.0023 s |
1024 | 0% | 0.0081 s |
2048 | 0% | 0.010 s |
4096 | 0% | 0.014 s |
8192 | 0% | 0.055 s |
16,384 | 0% | 0.11 s |
32,768 | 0% | 0.30 s |
Number of Concurrent Nodes | Error Rate | Maximum Verification Time |
---|---|---|
1 | 0% | 9.99 × 10 s |
2 | 0% | 1.5 × 10 s |
4 | 0% | 2.10 × 10 s |
8 | 0% | 3.5 × 10 s |
16 | 0% | 5.90 × 10 s |
32 | 0% | 0.0001 s |
64 | 0% | 0.0002 s |
128 | 0% | 0.0004 s |
256 | 0% | 0.0008 s |
512 | 0% | 0.002 s |
1024 | 0% | 0.0071 s |
2048 | 0% | 0.012 s |
4096 | 0% | 0.033 s |
8192 | 0% | 0.0819 s |
16,384 | 0% | 0.14 s |
32,768 | 0% | 0.515 s |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 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
Vargas, H.; Lozano-Garzon, C.; Montoya, G.A.; Donoso, Y. Detection of Security Attacks in Industrial IoT Networks: A Blockchain and Machine Learning Approach. Electronics 2021, 10, 2662. https://doi.org/10.3390/electronics10212662
Vargas H, Lozano-Garzon C, Montoya GA, Donoso Y. Detection of Security Attacks in Industrial IoT Networks: A Blockchain and Machine Learning Approach. Electronics. 2021; 10(21):2662. https://doi.org/10.3390/electronics10212662
Chicago/Turabian StyleVargas, Henry, Carlos Lozano-Garzon, Germán A. Montoya, and Yezid Donoso. 2021. "Detection of Security Attacks in Industrial IoT Networks: A Blockchain and Machine Learning Approach" Electronics 10, no. 21: 2662. https://doi.org/10.3390/electronics10212662
APA StyleVargas, H., Lozano-Garzon, C., Montoya, G. A., & Donoso, Y. (2021). Detection of Security Attacks in Industrial IoT Networks: A Blockchain and Machine Learning Approach. Electronics, 10(21), 2662. https://doi.org/10.3390/electronics10212662