DDoS Attack Prevention for Internet of Thing Devices Using Ethereum Blockchain Technology
Abstract
:1. Introduction
- We use Ethereum blockchain technology to authenticate and validate these devices, which provides an authentic and tamper-proof platform to replace the present centralized system solutions and prevent DDoS attacks on IoT devices on the application layer.
- To prevent connecting to and communicating with IoT networks in the future, we track and store the IP addresses of malicious devices inside the blockchain.
2. Background
DDoS Taxonomy
- HTTP flood attack: The cybercriminal in this attack uses legitimate HTTP GET or POST requests to launch a DDoS attack. These attacks do not use spoofing or reflection tactics, so they need less bandwidth to reach the targeted server than other attacks.
- DNS service attack: DNS flood is a distributed denial-of-service (DDoS) attack in which an attacker floods a domain’s DNS servers with requests to interrupt DNS resolution for that domain. A DNS flood attack can make it impossible for a server, API, or web application to respond to legitimate traffic because DNS resolution will be interrupted. Since the huge amount of traffic also arrives from various specific sites, querying for actual records on the domain and mimicking legal traffic, DNS flood attacks can be difficult to differentiate from regular heavy traffic.
3. Related Work
3.1. Traditional Solutions
3.2. Blockchain Technology Solutions
4. Proposed Prevention System
4.1. System Overview
- It allows the verifier to identify manager IoT devices that can create groups with different unique IDs.
- It has the ability to compile and deploy a smart contract by the verifier or developer on EVM to generate the address we chose for mandatory use to run all system functions.
- It allows the verifier to add a follower IoT device based on an existing group and ensures that the follower already has an identity card assigned by the manager IoT device before joining the blockchain.
- It prevents follower IoT devices from communicating with the target server if the object’s ID does not exist on the white trusted list or if it exists on the white trusted list. Still, it exceeds the defined factor value called (gas limit).
4.2. System Design
- Verifier or Developer: who implements the smart contract.
- Manager IoT Device: who creates the group and assigns the follower IoT device’s lightweight certificate using the manager IoT private key.
- Follower IoT Device: who sends request transactions to join the blockchain and then sends another transaction to communicate with the main server on the IoT network.
4.2.1. Initialization Process
4.2.2. Communication Process
- Validating if the follower IoT device object ID is already stored in a white trusted list that contains only the authenticated follower devices.
- Checking the gas limit value specified in a smart contract. The gas limit value refers to the fee required to conduct a transaction on Ethereum successfully. Each device has a different gas limit value due to the nature of the entire transaction. Therefore, if any device exceeds the gas limit value, it will identify the target server as a DoS attack. The technical inference here is that we should monitor the device’s behavior. If we notice any device with abnormal behavior, then this device must be labeled and classified as a malicious device. From here, the system will drop it from the white trusted list.
4.2.3. System Setup and Requirements
Environments
- Remix IDE: a development environment and open-source web and desktop application. It comes with a large number of plugins, and it has a user-friendly interface that supports a quick development cycle. Furthermore, Remix IDE is generally used for the full smart contract development process.
- Ganache Command Line: a blockchain emulator or local Ethereum client that is quick and easy to customize. It enables the user to make blockchain calls without paying the price of hosting an Ethereum node.
- QT Framework: The Qt is a modern framework with an IDE that comes with many extremely intuitive and modularized C++ library classes and APIs to make application development easier.
Libraries and Languages
- JSON-RPC Library: It is a JavaScript library that interacts with the Ethereum blockchain and smart contract functions.
- Solc-js is a JavaScript binding for the solidity compiler that runs via node.js.
- The C and C++ languages.
4.2.4. Smart Contract for the Proposed System
- Mapping is the key-value type used to store and retrieve values for a specific key.
- Constructor: this is the function to initialize the instance variables used in the smart contract code.
- The modifier is the keyword in solidity language used to create the customized logic. There are two customized modifiers in the smart contract we create. First is the “ControlOf” modifier, which is added in the header of the “Send” function. This ensures the communication process is done only between the IP addresses stored within the trusted white-list. Second, the “OnlyConcernedObject” modifier is added in the header of the “ReadMSG” function; the sole function of this is to assure that the message is readable only by the specified addresses.
- Functions are a piece of code used to deliver the needed requirements. The smart contract has six main functions, BC_Send, BC_ReadMSG, BC_AddNode, BC_SaveNode, BC_Verify, and BC_CheckGasValue. All these functions are divided into two categories, functions related to the initialization phase, such as BC_AddNode, BC_SaveNode, and BC_Verify, and functions related to the communication phase, such as BC_CheckGasValue, BC_Send, and BC_ReadMSG, as shown in Algorithms 1 and 2.
Algorithm 1: Smart Contract Initialization Phase |
begin if (ObjIdExists (obj.id, bc) == true) then return Error (); if AddrIdExists (obj.grpId, bc) then return Error (); if (obj.type == manager) then { if GrpIdExists(obj.grpId, bc) == true then return Error (); }else if (obj.type == follower) then { if GrpIdExists(obj.grpId, bc) == true then return Error (); }if (bc.CertificateVerif (obj.certificate) == false) then return Error (); else return Error (); end // Initialization phase finished with success |
Algorithm 2: Smart Contract Communication Phase |
begin if (ObjIdExists (sender.id, bc) == false OR ObjIdExists (receiver.id, bc)== false) then return Error (); if (sender.grpId != receiver.grpId) then return Error (); if (bc.SignVerif (sender.msg) == false) then return Error (); if (bc.CurrentGaslimitValue >(AllowedGasLimitValue)) then return Error (); LabelDeviceAsMalicious(); dropFromWhiteList(); end // Communication phase finished with success |
5. Results and Evaluation
5.1. System Evaluation
5.1.1. Comparing Existing Centralized Solutions and Our Decentralized Solution
5.1.2. System Security and Integrity
- Authentication and message integrity: A certificate is used by each IoT device’s followers (for the initialization transaction). During the initialization process, the certificate is only sent to valid objects. All exchanged transactions are signed using the private keys associated with the certificates using the ECDSA algorithm. As a result, signatures protect the device’s authenticity and the message’s integrity, which ensures that no device can join the network without the certification.
- Identification: Each IoT Device has a unique identification (an object ID linked to a group ID and a public address). The Manager’s signature on the certificate ensures that this identity is trustworthy. This device’s private key, tied to its identification, is used to sign each message it sends. As a result, the system can recognize it immediately.
- Non-repudiation: Since the transactions are signed with a private key only known by the device that owns it, it can only be used by that device. As a result, it cannot deny that a message was signed.
- Scalability: Our system is constructed on a public blockchain, built on a peer-to-peer network. Peer-to-peer networks are well recognized as one of the greatest solutions for a large-scale system.
- Reliability: Our decentralized system is dependable because it uses a P2P network that is considered dependable according to the entire function. If a part of the system fails, other parts are not affected, and they will still be running; then, the decentralized system is not a single point of failure.
- Sybil attack protection: In our system, each device can only have one identity at a time, and each identity can only have one key pair. The private key associated with this identity must sign each communication message. Furthermore, the system must authorize all IDs, so an attacker cannot use a false identity.
- Message replay protection: Every message is recognized as a transaction. Each transaction has a timestamp and must go through a consensus phase to be considered legitimate. As a result, an attacker will be unable to respond to messages since the consensus process will reject them.
- DoS/DDoS protection: Blockchains are robust to DoS/DDoS cyber-attacks due to their decentralized architecture. Services are indeed copied and spread over multiple network nodes. That is to say, even if an attacker gets to disable one node, he or she will not be able to disable all of the other nodes. Furthermore, transactions are expensive, discouraging an attacker from sending a large number of transactions. Furthermore, in some blockchains, such as Ethereum, the price of a transaction is linked to the amount of data sent.
5.1.3. Evaluating System Performance
Algorithms and Time Complexity
- Verify Node Algorithm Pseudo Code (Algorithm 3): this algorithm is used to check if the follower IoT device has a card identity or not; it takes a time complexity of O(C), where C is constant. This algorithm will only add a constant effect to the complexity.
Algorithm 3: Verify Node Before Joining it Into Network |
//This code checks if a node has a card identity //It is a Boolean returning value that returns true if the node has a card or returns false when the node does not have a card Begin if ((ecrecover(hash, v, _r, _s) == masterAddr) || (ecrecover(hash, v + 1, _r, _s) ==masterAddr)) then Return true; else Return false. End; |
- Convert From Address to Byte Algorithm Pseudo Code (Algorithm 4): this algorithm is used to convert the hexadecimal address to bytes (n) to be easily used in the computer system. This algorithm will take a time complexity of O(n) because of the loop iterations, so it has a linear time complexity.
Algorithm 4: Convert from address to byte |
Begin bytes memory baddr = FromAddressToBytes(addr); // Call Method that convert bytes memory res = new bytes (1 + 1 + 20); uint i = 0; res[i++] = byte(v1); res[i++] = byte(v2); uint j = 0; for (j = 0; j < n; j++) { res[i++] = baddr[j]; } return res; End; |
- Add Node Algorithm Pseudo Code (Algorithm 5): This algorithm is used to add the new follower IoT device (n) inside a group (m) in the blockchain network. The time complexity (worst case) will be a time complexity of O(m + n). It will check m conditions for outer nested ifs until finding the true condition and will check n conditions for the inner nested if. The best case is if the condition is matched at first, if that may take constant time as in a simple if-else statement.
Algorithm 5: Add Node to Network |
//this function take important parameters such as category, group Id, Object id Begin if (ids[msg.sender]. length != 0) Return error(); if (NodeMemberId != address(0)) Return error(); if (_category == 0) { if (grpIdMasters[_grpId] != address(0)) Return error(); else { grpIdMasters [_grpId] = msg.sender; } } else {if (CallVerifyFunction == false) { Return error();} else { Call SaveNode(msg.sender, _grpId, _id) function; } } End; |
- Communications between Nodes (Send/Read Messages by Destination) (Algorithm 6): This algorithm is used to establish the communication process (Read and Send) between IoT devices in the same group; it will take a time complexity of a constant time O(C), where C is constant, and a good network configuration will improve sending and receiving messages.
Algorithm 6: Communications between Nodes (Send and Read Messages by Destination) |
Begin Send (sender, receiver, string memory msg)public ControlOf(sender, receiver) // send message { boxes[receiver] = msg; } ReadMSG (addr) OnlyConcernedObject(addr)public returns (string memory) // Read message by intended destination { return boxes[addr]; } End; |
- Save Node Algorithm Pseudo Code (Algorithm 7): This algorithm is used to save the IP address of the follower IoT device inside the white trusted list in the blockchain; it takes a constant time complexity O(C), where C is constant.
Algorithm 7: Save Added Node |
Begin SaveNode(address _addr, _grpId, Object _id) public{ ids[_addr] = AddWith(_grpId, _id); } End; |
- Check Gas Limit Value Algorithm Pseudo Code (Algorithm 8): This algorithm has a nested loop—two for loops that iterate among all element’s nodes(n) and check every node’s gas value if it exceeds the maximum given gas value, so the worst and average case will be a time complexity of O(n2). The best-case scenario is when the algorithm finds the node that exceeds the gas limit in the first location or index in the array; there is no need to iterate all loop iterations, and the time complexity will decrease.
Algorithm 8: Check Gas Limit Value |
Begin Arr[allNodes]; Define MaximumGasValueGiven = Arr[NodeID].GasMaximum; For i to n { For j = i + 1 to n { If(Arr[j].GasValue > MaximumGasValueGiven) Return Error(); LabelDeviceAsMalicious(); DropFromWhiteList();//Delete element from array } } |
Evaluation Results
Comparing the Results with Related Works
6. Conclusions and Future Directions
Author Contributions
Funding
Conflicts of Interest
References
- Otoum, Y.; Liu, D.; Nayak, A. DL-IDS: A deep learning–based intrusion detection framework for securing IoT. Trans. Emerg. Telecommun. Technol. 2022, 33, e3803. [Google Scholar] [CrossRef]
- Abu Al-Haija, Q.; Al-Saraireh, J. Asymmetric Identification Model for Human-Robot Contacts via Supervised Learning. Symmetry 2022, 14, 591. [Google Scholar] [CrossRef]
- Madakam, S.; Ramaswamy, R.; Tripathi, S. Internet of Things (IoT): A Literature Review. J. Comput. Commun. 2015, 3, 164–173. [Google Scholar] [CrossRef]
- Abu Al-Haija, Q.; Al-Badawi, A. Attack-Aware IoT Network Traffic Routing Leveraging Ensemble Learning. Sensors 2022, 22, 241. [Google Scholar] [CrossRef]
- Albulayhi, K.; Abu Al-Haija, Q.; Alsuhibany, S.A.; Jillepalli, A.A.; Ashrafuzzaman, M.; Sheldon, F.T. IoT Intrusion Detection Using Machine Learning with a Novel High Performing Feature Selection Method. Appl. Sci. 2022, 12, 5015. [Google Scholar] [CrossRef]
- Ahmad, A.; AbuHour, Y.; Younisse, R.; Alslman, Y.; Alnagi, E.; Abu Al-Haija, Q. MID-Crypt: A Cryptographic Algorithm for Advanced Medical Images Protection. J. Sens. Actuator Netw. 2022, 11, 24. [Google Scholar] [CrossRef]
- Ahmed, Z.; Danish, S.M.; Qureshi, H.K.; Lestas, M. Protecting IoTs from Mirai botnet attacks using blockchains. In Proceedings of the IEEE International Workshop on Computer Aided Modeling and Design of Communication Links and Networks, CAMAD, 2019, Limassol, Cyprus, 11–13 September 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Szabo, N. Smart Contracts. 1994. Available online: http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html (accessed on 3 March 2022).
- Jamader, A.R.; Das, P.; Acharya, B.R. BcIoT: Blockchain-based ddos prevention architecture for IoT. In Proceedings of the 2019 International Conference on Intelligent Computing and Control Systems, ICCS 2019, Madurai, India, 15–17 May 2019; pp. 377–382. [Google Scholar] [CrossRef]
- Gul, M.J.; Rehman, A.; Paul, A.; Rho, S.; Riaz, R.; Kim, J. Blockchain Expansion to secure Assets with Fog Node on Special Duty. Soft Comput. 2020, 24, 15209–15221. [Google Scholar] [CrossRef]
- Javaid, U.; Siang, A.K.; Aman, M.N.; Sikdar, B. Mitigating IoT device-based DDoS attacks using blockchain. In Proceedings of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems, Part of MobiSys 2018, Munich, Germany, 15 June 2018; pp. 71–76. [Google Scholar] [CrossRef]
- Badruddoja, S.; Dantu, R.; Widick, L.; Zaccagni, Z.; Upadhyay, K. Integrating DOTS with blockchain can secure massive IoT sensors. In Proceedings of the 34th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2020, New Orleans, LA, USA, 18–22 May 2020; pp. 937–946. [Google Scholar] [CrossRef]
- Bose, A.; Aujla, G.S.; Singh, M.; Kumar, N.; Cao, H. Blockchain as a Service for Software Defined Networks: A Denial-of-Service Attack Perspective. In Proceedings of the 2019 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech), Fukuoka, Japan, 5–8 August 2019; pp. 901–906. [Google Scholar]
- Christidis, K.; DevetsikIoTis, M. Blockchains and Smart Contracts for the Internet of Things. IEEE Access 2016, 4, 2292–2303. [Google Scholar] [CrossRef]
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Decentralized Bus. Rev. 2008, 21260. [Google Scholar]
- Chen, H.; Pendleton, M.; Njilla, L.; Xu, S. A Survey on Ethereum Systems Security: Vulnerabilities, Attacks, and Defenses. ACM Comput. Surv. 2020, 53, 1–43. [Google Scholar] [CrossRef]
- Sengupta, J.; Ruj, S.; Das Bit, S. A Comprehensive Survey on Attacks, Security Issues, and Blockchain Solutions for IoT and IIoT. J. Netw. Comput. Appl. 2020, 149, 102481. [Google Scholar] [CrossRef]
- Vishwakarma, R.; Jain, A.K. A survey of DDoS attacking techniques and defence mechanisms in the IoT network. Telecommun. Syst. 2020, 73, 3–25. [Google Scholar] [CrossRef]
- Abu Al-Haija, Q.; Al-Dala’ien, M. ELBA-IoT: An Ensemble Learning Model for Botnet Attack Detection in IoT Networks. J. Sens. Actuator Netw. 2022, 11, 18. [Google Scholar] [CrossRef]
- Roohi, A.; Adeel, M.; Shah, M.A. DDoS in IoT: A roadmap towards security countermeasures. In Proceedings of the 25th IEEE International Conference on Automation and Computing, Lancaster, UK, 5–7 September 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Bairagi, J.; Joshi, S.; Barshikar, S. A Survey on Internet of Things. Int. J. Comput. Sci. Eng. 2018, 6, 492–496. [Google Scholar] [CrossRef]
- Cloudflare Inc. Cloudflare Advanced DDoS Protection. Cloudflare.Com, 1. 2018. 1–7. Available online: https://www.cloudflare.com/media/pdf/cloudflare-whitepaper-ddos.pdf (accessed on 22 May 2022).
- Jonker, M.; Sperotto, A.; Van Rijswijk-Deij, R.; Sadre, R.; Pras, A. Measuring the adoption of DDoS protection services. In Proceedings of the ACM SIGCOMM Internet Measurement Conference, IMC, New York, NY, USA, 14–16 November 2016; pp. 279–285. [Google Scholar] [CrossRef]
- Mlytics. DDoS Protection. Available online: https://www.mlytics.com/features/ddos-protection (accessed on 13 June 2022).
- Anirudh, M.; Arul Thileeban, S.; Nallathambi, D.J. Use of honeypots for mitigating DoS attacks targeted on IoT networks. In Proceedings of the International Conference on Computer, Communication, and Signal Processing: Special Focus on IoT, ICCCSP, Chennai, India, 10–11 January 2017; pp. 8–11. [Google Scholar] [CrossRef]
- Kothmayr, T.; Schmitt, C.; Hu, W.; Brünig, M.; Carle, G. DTLS based security and two-way authentication for the Internet of Things. Ad Hoc Netw. 2013, 11, 2710–2723. [Google Scholar] [CrossRef]
- Yeh, H.L.; Chen, T.H.; Liu, P.C.; Kim, T.H.; Wei, H.W. A secured authentication protocol for wireless sensor networks using elliptic curves cryptography. Sensors 2011, 11, 4767–4779. [Google Scholar] [CrossRef]
- Wan, Y.; Gao, Y.; Hu, Y. Blockchain application and collaborative innovation in the manufacturing industry: Based on the perspective of social trust. Technol. Forecast. Soc. Chang. 2002, 177, 121540. [Google Scholar] [CrossRef]
- Natsheh, A.B.A.-S. DDoS Attack Mitigation Using Ethereum Blockchain; Princess Sumaya University for Technology: Amman, Jordan, 2019. [Google Scholar]
- Hayat, R.F.; Aurangzeb, S.; Aleem, M.; Srivastava, G.; Lin, J.C.W. ML-DDoS: A Blockchain-Based Multilevel DDoS Mitigation Mechanism for IoT Environments. IEEE Trans. Eng. Manag. 2022, 1–14. [Google Scholar] [CrossRef]
- Sundareswaran, N.; Sasirekha, S. Packet Filtering Mechanism to Defend Against DDoS Attack in Blockchain Network. Evolutionary Computing and Mobile Sustainable Networks; Springer: Singapore, 2022; pp. 201–214. [Google Scholar]
- Sajjad, S.M.; Mufti, M.R.; Yousaf, M.; Aslam, W.; Alshahrani, R.; Nemri, N.; Chen, C.M. Detection and Blockchain-Based Collaborative Mitigation of Internet of Things Botnets. Wirel. Commun. Mob. Comput. 2022, 2022, 1194899. [Google Scholar] [CrossRef]
- Singh, M.; Aujla, G.S.; Singh, A.; Kumar, N.; Garg, S. Deep-Learning-Based Blockchain Framework for Secure Software-Defined Industrial Networks. IEEE Trans. Ind. Inform. 2021, 17, 606–616. [Google Scholar] [CrossRef]
- Abou, Z.; Houda, E.; Hafid, A.; Khoukhi, L. IoT environment based on blockchain using SDN. In Proceedings of the 2019 IEEE Global Communications Conference (GLOBECOM), Waikoloa, HI, USA, 9–13 December 2019; pp. 1–6. [Google Scholar]
- Rodrigues, B.; Bocek, T.; Lareida, A.; Hausheer, D.; Rafati, S.; Stiller, B. A blockchain-based architecture for collaborative DDoS mitigation with smart contracts. In Proceedings of the IFIP International Conference on Autonomous Infrastructure, Management and Security, Zurich, Switzerland, 10–13 July 2017; pp. 16–29. [Google Scholar] [CrossRef]
- Wani, S.; Imthiyas, M.; Almohamedh, H.; Alhamed, K.M.; Almotairi, S.; Gulzar, Y. Distributed Denial of Service (DDoS) Mitigation Using Blockchain—A Comprehensive Insight. Symmetry 2021, 13, 227. [Google Scholar] [CrossRef]
- Jiang, S.; Yang, L.; Gao, X.; Zhou, Y.; Feng, T.; Song, Y.; Cheng, G. BSD-Guard: A Collaborative Blockchain-Based Approach for Detection and Mitigating SDN-Targeted DDoS Attacks. Secur. Commun. Netw. 2022, 2022, 1608689. [Google Scholar] [CrossRef]
- Jan, M.A. State-of-the-Art Congestion Control Protocols in WSN: A Survey-EUDL. Available online: https://eudl.eu/doi/10.4108/eai.26-3-2018.154379 (accessed on 20 April 2022).
- Zamani, R.; Moghaddam, M.P.; Haghifam, M.R. Dynamic Characteristics Preserving Data Compressing Algorithm For Transactive Energy Management Frameworks. IEEE Trans. Ind. Inform. 2022, 1. [Google Scholar] [CrossRef]
- Odeh, A.; Keshta, I.; Al-Haija, Q.A. Analysis of Blockchain in the Healthcare Sector: Application and Issues. Symmetry 2022, 14, 1760. [Google Scholar] [CrossRef]
Study | Advantages | Disadvantages |
---|---|---|
Ahmed et. al. [7] | Blockchain technology stores and shares the list of IPs for each device with other nodes by comparing the number of packets each device generates with the threshold value. This mitigates the Mirai attack. | The type of blockchain is private and has a centralized nature. Only one node is responsible for the verification process. |
Natsheh et al. [8] | The Ethereum blockchain is used, and the legitimate list is created using a smart contract to check if the device’s IP address is legitimate or not to communicate with the server. | The proposed solution used a private blockchain with a centralized verification procedure that only one node can manage. The authors fail to specify the DDoS kind and IoT layer they are concentrating on. |
Badruddoja et al. [12] | Blockchain technology is integrated with DOTS to help to detect the DDoS attack when mapped on IoT edge computing. | The authentication and implementation processes are not discussed in depth. |
Javid et al. [11] | A blockchain with IoT integration and a predetermined value called the “gas-limit” are utilized; if the device exceeds this value, communication with the server is prevented. | Scalability difficulties will always exist in such a system. During registration, the process for trusting an IoT device at the server is not discussed in depth. |
Jamader et al. [9] | The framework (BcIoT) utilizes end-to-end security based on the blockchain and smart contracts to create a safe communication environment and improve availability. | The fundamental drawback of this approach is that all data, whether it came from malicious software or not, is stored on a blockchain, which causes scalability problems. |
Bose. et al. [13] | Blockchain can ensure the quality and integrity of data traversing between SDN layers. | There is no experimental evidence for DDoS mitigation. The only thing implemented is the setup. The experimental method and results are not presented clearly. |
Gul. et al. [10] | Blockchain successfully protects the transaction data in fog networks. Blockchain-based networks prevent any attempt to change transactional data. | Blockchain is only used as a record-keeping system. |
Singh et al. [33] | The blockchain secures switch registration and verification, while a deep Boltzmann machine helps anomaly detection. The effectiveness of detection is increased significantly. | The cost of computation and communication is higher. |
Machine Name | CPU Architecture | CPU Mode | CPU Processor | RAM | OS |
---|---|---|---|---|---|
Laptop HP | Intel(R) Core(TM) i7 | x64-based | [email protected] GHz 2.40 GHz | 8 GB | Ubuntu 22.04 |
Personal Computer | Intel(R) Core(TM) i7 | x64-based | [email protected] 2.60 GHz | 16 GB | Ubuntu 22.04 |
Parameter | Parameter Responsibility |
---|---|
Initialization Phase: | |
1. Unique manager device ID and unique group ID. | These parameters are needed to create a new group inside the blockchain, such as (the smart home group). |
2. Follower device public address, follower group ID, follower object ID, and the signature of the manager’s private key. | These parameters are needed to create the follower identity card or certificate as a first step to joining the blockchain by signing with the manager’s private key. |
3. Follower device private key and manager public key. | ECC digital signature algorithm is used to check the validity of the follower identity card or certificate using the follower private key before joining the blockchain by verifying it using the manager public key. |
Communication Phase: | |
1. Follower device object ID and trusted white-list | These are needed to validate if the follower IoT device object ID is already stored in a white trusted list that contains only the authenticated follower devices. |
2. Gas limit value | Each device has a different gas limit value due to the nature of the entire transaction. Therefore, if any device exceeds the gas limit value, it will identify the target server as a DoS attack. |
Related Work | Protocol/Number of Messages | Authentication Time per Request (ms) |
---|---|---|
[26] | DTLS/8 Messages | 2.1 × 101 ms |
[27] | ECC/5 Messages | 2.3 × 101 ms |
[38] | NA/4 Messages | >1 ms |
Proposed System | ECC/2 Messages | 1.2 × 10−2 ms |
Reference/Year | Service | Type of Authentication Protocol | DDoS Mitigation/Prevention |
---|---|---|---|
[10]/2020 | Blockchain and smart contracts are used for securing configuration files and transaction records in a fog network against DDOS attacks. | The blockchain Expansion Algorithm is used to determine if connections may be created between databases of other parties and the fog. Once a special-duty fog node has been discovered, it offers cloud services that allow connectivity between clouds without needing an additional connection. | Prevention. |
[13]/2019 | Blockchain is used to mitigate DDOS attacks in SDNs by ensuring data transfer between their layers’ integrity and validity. | The virtual controller verifies the transactions or flows table entries. When it discovers the correct flow entries in the legitimate switches, the actual SDN controller updates the entries in the same way. | Mitigation. |
[33]/2021 | Deep learning and blockchain avoid DDOS attacks in SDN industrial networks. | A blockchain using a voting-based consensus mechanism and a deep-Boltzmann-machine-based flow analyzer are deployed at the control plane to authenticate the anomalous switch requests. | Prevention. |
[7]/2019 | SDN, blockchain, and smart contracts mitigate the Mirai botnet attack. | The task of forwarding packets from connected hosts outside the network falls under the Autonomous System’s (AS) responsibility. The AS is responsible for maintaining a list of host IP addresses and the threshold for each host that determines whether the host is malicious or not. | Mitigation. |
This Work/2022 | Ethereum blockchain technology and smart contract are used to authenticate and validate IoT devices, which provides an authentic and tamper-proof platform to replace the present centralized system solutions and prevent DDoS attacks on IoT devices on the application layer. Additionally, to prevent connecting to and communicating with IoT networks in the future, we track and store the IP addresses of malicious devices inside the blockchain. | The ECDSA algorithm is used to check the validity of the follower identity card or certificate using the follower private key before joining the blockchain by verifying it using the manager public key to prevent any malicious device from communicating with the server. | Prevention. |
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
Ibrahim, R.F.; Abu Al-Haija, Q.; Ahmad, A. DDoS Attack Prevention for Internet of Thing Devices Using Ethereum Blockchain Technology. Sensors 2022, 22, 6806. https://doi.org/10.3390/s22186806
Ibrahim RF, Abu Al-Haija Q, Ahmad A. DDoS Attack Prevention for Internet of Thing Devices Using Ethereum Blockchain Technology. Sensors. 2022; 22(18):6806. https://doi.org/10.3390/s22186806
Chicago/Turabian StyleIbrahim, Rahmeh Fawaz, Qasem Abu Al-Haija, and Ashraf Ahmad. 2022. "DDoS Attack Prevention for Internet of Thing Devices Using Ethereum Blockchain Technology" Sensors 22, no. 18: 6806. https://doi.org/10.3390/s22186806
APA StyleIbrahim, R. F., Abu Al-Haija, Q., & Ahmad, A. (2022). DDoS Attack Prevention for Internet of Thing Devices Using Ethereum Blockchain Technology. Sensors, 22(18), 6806. https://doi.org/10.3390/s22186806