A Highly Secure IoT Firmware Update Mechanism Using Blockchain
Abstract
:1. Introduction
- (1)
- Integrity: The firmware update process must ensure the integrity of a firmware update. When an adversary intercepts the firmware update file transmission and replaces it with malicious malware, the device will install the malware instead of the original update file.
- (2)
- Downloading firmware update: Most of the current proposals to download a firmware update are based on a typical centralized client-server architecture. These proposals commonly use the over-the-air (OTA) update for IoT devices because it is quick and convenient for users. They can connect the device to a computer and download the updates through the Internet. However, since most OTA updates adopt a centralized way, they are vulnerable to a single point of failure and generate the latency issue. Server failure and network latency will cause the delay of critical update. Therefore, considering the scalability and heterogeneity of IoT devices, the use of decentralized models can assist in this process to minimize the overall network overhead and eliminate the single point of failure.
- (3)
- Request for firmware update: When massive IoT devices request firmware updates at the same time, how to cope with the update service availability of massive IoT devices is an essential issue.
- (4)
- Authentic firmware: The firmware update file needs to be checked to make sure it is not malicious.
2. Related Work
2.1. IoT Firmware Attack
2.1.1. Default Password Attack
2.1.2. Vehicle Network Attack
2.1.3. Printer Attack
2.2. Blockchain Technology
3. Proposed Architecture and Mechanism
3.1. Security Goals
- (1)
- Firmware integrity: A secure firmware updating platform must ensure the integrity of uploaded firmware update files.
- (2)
- Malicious code resistance: A secure firmware update platform must be able to help IoT devices resist a variety of malicious codes because IoT devices are lightweight and lack a strong malicious code scanning mechanism.
- (3)
- Distributed denial-of-service (DDoS) resistance: When massive IoT devices request a firmware update at the same time, these requests will precipitate a DDoS problem. A secure firmware updating platform must be able to alleviate such a DDoS problem.
3.2. System Architecture
- (1)
- Genesis node: The genesis node is responsible for defining the functions of the smart contract. After the completion of the smart contract, the genesis node exits the system or becomes a blockchain node, losing the ability of writing a smart contract.
- (2)
- Smart contract: The smart contract contains functions that will be used in the system, including determining which node is an uploader and whether the firmware is authenticated and can be called by other blockchain nodes.
- (3)
- Blockchain node: The blockchain node is responsible for verifying and uploading files, and in order to complete the assigned tasks, the blockchain nodes must be devices with high computing power, such as personal computers and company servers.
- (4)
- Manufacturer node: The manufacturer node is one of the blockchain nodes. The difference between the manufacturer node and the blockchain node is that the manufacturer node has the function of uploading files, and the rest of the permissions are the same as the blockchain nodes.
- (5)
- Distributed data storage: In order to reduce the burden on each node and improve the security of the system, the files are stored in a decentralized database, and only the necessary file information is stored in each node.
- (6)
- IoT device: Because the IoT device is not one of the blockchain nodes, the device does not need to have powerful computing power and only needs to be able to communicate with the blockchain node. This method can increase the diversity of the system.
- (1)
- Writing a smart contract in the blockchain system by genesis node.
- (2)
- Blockchain node and manufacturer node fetch the smart contract address.
- (3)
- Genesis node exits the system or turns to a general blockchain node.
- (4)
- The manufacturer node initiates a transaction of file uploading.
- (5)
- Obtaining files by other blockchain nodes through smart contracts.
- (6)
- The node participating in the verification performs out-of-chain antivirus and returns the result to the smart contract.
- (7)
- The smart contract assigns one of the verification nodes to upload the file or reject the transaction of file uploading according to the verification result.
- (8)
- The assigned verification node uploads the file to the distributed data storage and obtains the address.
- (9)
- The assigned node records the file address into smart contract.
- (10)
- The IoT device queries for a new firmware by blockchain node.
- (11)
- The blockchain node queries through the smart contract whether there is an update file available for download.
- (12)
- The blockchain node returns the query result to the IoT device.
- (13)
- The IoT device downloads the update file or does not perform the action according to the result of the return.
- (14)
- Steps (1) to (3) are “Blockchain Network Setup”, Steps (4) to (9) are “File Transmission”, and Steps (10) to (13) are “File Downloading”.
3.3. Proposed Mechanism
3.3.1. Blockchain Network Setup
- Step 1
- The smart contract created by the genesis node, which defines the system functions, can increase the usability of smart contracts and avoid the inconvenience of writing smart contracts. When the blockchain network is setting up, the smart contract defines the function to avoid the writing of smart contracts conflicting with another node.
- Step 2
- The node that wrote the contract knows the address where the smart contract is stored. As a result, the node that wants to join the blockchain network, including the general blockchain node and the manufacturer node, needs to ask the genesis node for the contract address. After informing other nodes of the contract address, the genesis node exits the blockchain network or becomes a general node and thus loses the authority to write a smart contract.
3.3.2. Firmware Update File Transmission
- Step 1
- The manufacturer who wants to upload the firmware update file sends the request through the smart contract and transmits the file to other blockchain nodes for verification. This method ensures that the manufacturer cannot change the file after being deployed. The manufacturer needs to call the upload file function before uploading the file and provide the update file address to complete the upload action. In the smart contract, the address of the manufacturer node is mapped to a column in the file information. It will initialize the parameters in the column, including firmware original address, download point, the number of nodes that execute firmware update validation but pass or fail the validation, whether to complete validation, and the address of the uploader. The file uploading is shown in Algorithm 1.
Algorithm 1: File uploading |
Input: manufacturer_address, file_address Output: True/False N ← mapping (manufacturer_address) Initialize File_information [ N ] //File_address ← file_address //Download_point ← NULL //Pass ← 0 //Reject ← 0 //Check ← false //Finish ← false //Uploader ← NULL |
- Step 2
- When the manufacturer sends the request, the other nodes can verify the file provided by the manufacturer. The verification method needs to execute on a local host, which the verification is off-chain processing in each node. The reason that we do not verify the file on the blockchain is to enhance the varieties of virus code detection. By comparing the virus code, off-chain processing is more reliable than the inspection by the specific file check node. The virus scanning for firmware files is shown in Algorithm 2.
Algorithm 2: Virus scanning for firmware files |
Input: manufacturer_address Output: True/False N ← mapping (manufacturer_address) Get File_address by File_information [ N ] Download file F by File_address if F passes antivirus tool, then Pass ← Pass + 1 //in File_information [ N ] else Reject ← Reject + 1 //in File_information [ N ] end if |
- Step 3
- The verified firmware update file is transmitted to the distributed file server by the blockchain node, and the distributed file server returns the address where the file is stored. Finally, the address returned by the distributed file server is stored in the ledger. If the file does not pass the verification, the node participating in the verification notifies the manufacturer that the file upload request is not successful. The biggest weakness of blockchain is that the requirement of storage space is too large. By storing files in the distributed file server, only the file addresses are stored on the ledger, and therefore they can reduce the needs of system storage. Additionally, the distributed file server is stronger to defend DoS attacks than a single file server, so this proposed mechanism has high system security. In this step, the smart contract decides whether to upload based on the result of each nodes’ returns. If the file is verified, the smart contract will assign a node participating in the verification to upload the file to the distributed data storage. At the same time, the record information is recorded in the file information. In the following, the procedure of the uploader assigning is first shown in Algorithm 3, and the uploading of file download point is shown in Algorithm 4.
Algorithm 3: Uploader assigning |
Input: manufacturer_address Output: True/False N ← mapping (manufacturer_address) Get Pass by File_information [ N ] Get Reject by File_information [ N ] if Pass + Reject > threshold_1 and Pass/(Pass + Reject) > threshold_2 then //threshold_1 and threshold_2 are defined by genesis node Uploader ← one of validation nodes’ addresses //Uploader is in File_information [ N ] else Uploader ← NULL Check ← True //Check is in File_information [ N ] end if |
Algorithm 4: Uploading of file download point |
Input: manufacturer_address, node_address Output: True/False N ← mapping (manufacturer_address) Get Uploader by File_information [ N ] if Uploader == node_address then Download_point ← download_point //“Download_point” is in File_information [ N ] //“download_point” is file address in distributed database Finish ← True //in File_information [ N ] else print(“Cannot Update File Information”) end if |
3.3.3. Firmware Update File Downloading
- Key generation procedure: The HSM is responsible for generating the pseudo-identity and corresponding public/private keys for its own IoT device.
- Step 1
- The IoT device that wants to execute the firmware update sends a request to a blockchain node and transmits the corresponding device type and current version so that the blockchain node can confirm whether an update file is available for download. Since the blockchain node needs to have the computing power for verification, and the IoT device does not necessarily have sufficient computing power, it cannot become a member of the blockchain nodes.
- Step 2
- After receiving the IoT device request, the node checks whether there is an eligible update file by the smart contract. As the data on the chain will increase over time, the system has to find the data on the chain quickly. Through the smart contract, it is more efficient than the local search and can determine the correctness of the results.
- Step 3
- The blockchain node informs the IoT device of the result of the request. If the information of the updated file is recorded on the ledger, the result of the return is the downloaded address of the file, and the IoT device can download the file through the address. If the information of the update file cannot be found, blockchain node returns the message “No update file is available for downloading.”
- Step 4
- The IoT device downloads the file by using the file address obtained from the blockchain node. The correctness of the file downloaded through the above steps can be ensured by the blockchain features and consensus mechanism.
4. Security Analysis
4.1. Secure IoT Firmware Update System
4.2. Suggestions for a Secure Smart Contract
4.2.1. The DAO Attack
4.2.2. GovernMental Attack
4.3. Security Comparisons among Several Related Schemes
5. Experimental Evaluation and Comparison
5.1. Experimental Environment
5.2. Evaluation of Firmware Uploading
5.3. Evaluation of Firmware Downloading
5.4. Functionality Comparisons
6. Conclusions
- (1)
- This research proposes a method of using a distributed database to reduce the storage space by storing firmware information on a ledger, instead of storing firmware itself.
- (2)
- After downloading the firmware in the proposed system, the correctness and integrity of the obtained firmware of IoT devices can be ensured.
- (3)
- IoT devices download the firmware through the download point of the distributed database, instead of going through the manufacturer.
- (4)
- This study does not only reduce the burden of manufacturers’ servers, but also prevents the manufacturers from tampering the firmware after deploying it.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Zhang, Z.; Cho, M. IoT Security: Ongoing Challenges and Research Opportunities. In Proceedings of the IEEE 7th International Conference on Service-Oriented Computing and Applications, Matsue, Japan, 17–19 November 2014. [Google Scholar]
- Jgamblin. Mirai BotNet. 2017. Available online: https://github.com/jgamblin/Mirai-Source-Code (accessed on 25 November 2021).
- Herzberg, B.; Bekerman, D.; Zeifman, I. Breaking Down Mirai: An IoT DDoS Botnet Analysis. 2016. Available online: https://www.incapsula.com/blog/malware-analysis-mirai-ddos-botnet.html (accessed on 25 November 2021).
- FCA US LLC Wired. FCA US Responds to Wired Car Hack Story with Security Patch. 2015. Available online: http://www.todaysmotorvehicles.com/article/automotive-design-electronics-safety-hackers-patch-wired-fca-072315/ (accessed on 15 October 2021).
- Cui, A.; Costello, M.; Stolfo, S. When Firmware Modifications Attack: A Case Study of Embedded Exploitation. In Proceedings of the 20th Symposium on Network and Distributed System Security, San Diego, CA, USA, 24–27 February 2013. [Google Scholar]
- Mercer, D. Smart Home Will Drive Internet of Things Top 50 Billion Devices, Says Strategy Analytics. 2017. Available online: https://www.strategyanalytics.com/strategy-analytics/ (accessed on 25 November 2021).
- Insecam. Network Live IP Video Cameras Directory. 2021. Available online: https://www.insecam.org/ (accessed on 25 November 2021).
- Cottrell, A.; Bethur, J.; Markey, T.; Srikant, M.; Srinivasan, L. Secure Firmware Update. U.S. Patent US20060143600A1, 29 June 2006. [Google Scholar]
- Heer, T.; Garcia, O.; René, M.; Loong, H.; Sandeep, K.; Kumar, S.; Wehrle, K. Security Challenges in the IP-based Internet of Things. Wirel. Pers. Commun. 2011, 61, 527–542. [Google Scholar] [CrossRef] [Green Version]
- Zandberg, K.; Schleiser, K.; Acosta, F.; Tschofenig, H.; Baccelli, E. Secure firmware updates for constrained IoT devices using open standards: A reality check. IEEE Access 2019, 7, 71907–71920. [Google Scholar] [CrossRef]
- Lee, B.; Lee, J.H. Blockchain-based Secure Firmware Update for Embedded Devices in An Internet of Things Environment. J. Supercomput. 2017, 73, 1152–1167. [Google Scholar] [CrossRef]
- Boudguiga, A.; Bouzerna, N.; Granboulan, L.; Olivereau, A.; Quesnel, F.; Roger, A.; Sirdey, R. Towards Better Availability and Accountability for IoT Updates by Means of a Blockchain. In Proceedings of the IEEE European Symposium on Security and Privacy Workshops, Paris, France, 26–28 April 2017. [Google Scholar]
- Yohan, A.; Lo, N. An Over-the-blockchain Firmware Update Framework for IoT Devices. In Proceedings of the IEEE Conference on Dependable and Secure Computing, Kaohsiung, Taiwan, 10–13 December 2019. [Google Scholar]
- Krebs. Mirai IoT Botnet Co-Authors Plead Guilty. 2017. Available online: https://krebsonsecurity.com/2017/12/mirai-iot-botnet-co-authors-plead-guilty/ (accessed on 25 November 2021).
- Kolias, C.; Kambourakis, G.; Stavrou, A.; Voas, J. DDoS in the IoT: Mirai and Other Botnets. Computer 2017, 50, 80–84. [Google Scholar] [CrossRef]
- Sinanović, H.; Mrdovic, S. Analysis of Mirai Malicious Software. In Proceedings of the 25th International Conference on Software, Telecommunications and Computer Networks, Split, Croatia, 21–23 September 2017. [Google Scholar]
- Sarkar, S. Thousands of Printers Hacked across the Globe after Critical Flaw Exposed. 2017. Available online: https://www.techradar.com/news/thousands-of-printers-hacked-across-the-globe-after-critical-flaw-exposed (accessed on 25 November 2021).
- Tschorsch, F.; Scheuermann, B. Bitcoin and Beyond: A Technical Survey on Decentralized Digital Currencies. IEEE Commun. Surv. Tutor. 2016, 18, 2084–2123. [Google Scholar] [CrossRef]
- Nakamoto, S. Bitcoin: A Peer-to-peer Electronic Cash System. 2008. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 25 November 2021).
- HOMESTEAD. Ethereum: Blockchain App Platforms. 2021. Available online: https://www.ethereum.org/ (accessed on 25 November 2021).
- Wood, G. Ethereum: A Secure Decentralized Generalized Transaction Ledger; Ethereum Yellow Paper. 2021. Available online: https://ethereum.github.io/yellowpaper/paper.pdf (accessed on 31 December 2021).
- Atzei, N.; Bartoletti, M.; Cimoli, T. A Survey of Attacks on Ethereum Smart Contracts. In Proceedings of the International Conference on Principles of Security and Trust, Uppsala, Sweden, 22–29 April 2017; pp. 164–186. [Google Scholar]
- Bartoletti, M.; Carta, S.; Cimoli, T.; Saia, R. Dissecting Ponzi Schemes on Ethereum: Identification, Analysis, and Impact. arXiv 2017, arXiv:1703.03779. [Google Scholar] [CrossRef]
- HOMESTEAD. Hyperledger: The Linux Foundation Projects. 2021. Available online: https://www.hyperledger.org/ (accessed on 25 November 2021).
- Cachin, C. Architecture of the Hyperledger Blockchain Fabric. In Proceedings of the Workshop on Distributed Cryptocurrencies and Consensus Ledgers, Chicago, IL, USA, 25 July 2016. [Google Scholar]
- HOMESTEAD. An Introduction to IOTA. 2018. Available online: https://iotasupport.com/whatisiota_de.shtml (accessed on 25 November 2021).
- Popov, S. The Tangle. 2018. Available online: https://iota.org/IOTA_Whitepaper.pdf (accessed on 25 November 2021).
- Burkhardt, D.; Werling, M.; Lasi, H. Distributed Ledger. In Proceedings of the IEEE International Conference on Engineering, Technology and Innovation, Stuttgart, Germany, 17–20 June 2018. [Google Scholar]
- Moubarak, J.; Filiol, E.; Chamoun, M. On Blockchain Security and Relevant Attacks. In Proceedings of the IEEE Middle East and North Africa Communications Conference, Jounieh, Lebanon, 18–20 April 2018. [Google Scholar]
- Saraf, C.; Sabadra, S. Blockchain Platforms: A Compendium. In Proceedings of the IEEE International Conference on Innovative Research and Development, Bangkok, Thailand, 11–12 May 2018. [Google Scholar]
- Moubarak, J.; Filiol, E.; Chamoun, M. Comparative Analysis of Blockchain Technologies and TOR Network: Two Faces of the Same Reality. In Proceedings of the 1st Cyber Security in Networking Conference, Rio de Janeiro, Brazil, 18–20 October 2017. [Google Scholar]
- Raya, M.; Hubaux, J.P. Securing Vehicular Ad Hoc Networks. J. Comput. Secur. 2007, 15, 39–68. [Google Scholar] [CrossRef] [Green Version]
- Zhang, C.; Lu, R.; Lin, X.; Ho, P.; Shen, X. An Efficient Identity-based Batch Verification Scheme for Vehicular Sensor Networks. In Proceedings of the Twenty-seventh IEEE INFOCOM, Phoenix, Arizona, 13–18 April 2008. [Google Scholar]
- Moran, B.; Tschofenig, H.; Birkholz, H. Firmware Updates for Internet of Things Devices—An Information Model for Manifests. IETF Internet Draft. 2019. Available online: https://tools.ietf.org/id/draft-ietf-suit-information-model-02.html (accessed on 25 November 2021).
- Rosenfeld, M. Analysis of HashRate-based Double-spending. arXiv 2014, arXiv:1402.2009v1. [Google Scholar]
- Whittaker, Z. Hackers Dropped a Secret Backdoor in Asus’ Update Software. 2019. Available online: https://techcrunch.com/2019/03/25/asus-update-backdoor/ (accessed on 25 November 2021).
- Cyborkian. Internet Chemotherapy. 2017. Available online: https://archive.fo/PQAnU (accessed on 25 November 2021).
- Jiang, B.; Liu, Y.; Chan, W. ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, Montpellier, France, 3–7 September 2018. [Google Scholar]
- Siegel, D. Understanding the DAO Attack. 2016. Available online: https://www.coindesk.com/understanding-dao-hack-journalists (accessed on 25 November 2021).
- Unknown Author. GovernMental. 2021. Available online: http://governmental.github.io/GovernMental/ (accessed on 25 November 2021).
- Han, J.; Susilo, W.; Mu, Y. Identity-Based Secure Distributed Data Storage Schemes. IEEE Trans. Comput. 2014, 63, 941–953. [Google Scholar] [CrossRef]
- Hassija, V.; Chamola, V.; Saxena, V.; Jain, D.; Goyal, P.; Sikdar, B. A Survey on IoT Security: Application Areas, Security Threats, and Solution Architectures. IEEE Access 2019, 7, 82721–82743. [Google Scholar] [CrossRef]
- Jiang, P.; Guo, F.; Liang, K.; Lai, J.; Wen, Q. Searchain: Blockchain-based Private Keyword Search in Decentralized Storage. Future Gener. Comput. Syst. 2020, 107, 781–792. [Google Scholar] [CrossRef]
- Li, J.; Wu, J.; Chen, L. Block-Secure: Blockchain Based Scheme for Secure P2P Cloud Storage. Inf. Sci. 2018, 465, 219–231. [Google Scholar] [CrossRef]
Gas Cost (Gwei) | Timestamp (s) | Block Number | Files |
---|---|---|---|
188,941 | 1,559,662,521 | 110 | 1 |
585,094 | 1,559,662,521 | 110 | 5 |
1,080,286 | 1,559,662,521 | 110 | 10 |
1,575,481 | 1,559,662,521 | 110 | 15 |
2,070,677 | 1,559,662,522 | 111 | 20 |
2,565,874 | 1,559,662,522 | 111 | 25 |
3,061,073 | 1,559,662,523 | 112 | 30 |
Method | Proposed Method | Lee and Lee’s Framework [11] | Boudguiga et al.’s Framework [12] | Yohan and Lo’s Framework [13] | |
---|---|---|---|---|---|
Feature | |||||
Firmware integrity | Yes | Yes | Yes | No | |
Non-disclosure of IoT device position | Yes | No | Yes | Yes | |
Satori botnet defending | Yes | No | Yes | Yes | |
No impact of manufacturer server being attacked | Yes | No | No | No | |
Nodes of verification participation | All | Partial | Partial | Partial | |
Device anonymity | Yes | No | Yes | Yes |
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
Tsaur, W.-J.; Chang, J.-C.; Chen, C.-L. A Highly Secure IoT Firmware Update Mechanism Using Blockchain. Sensors 2022, 22, 530. https://doi.org/10.3390/s22020530
Tsaur W-J, Chang J-C, Chen C-L. A Highly Secure IoT Firmware Update Mechanism Using Blockchain. Sensors. 2022; 22(2):530. https://doi.org/10.3390/s22020530
Chicago/Turabian StyleTsaur, Woei-Jiunn, Jen-Chun Chang, and Chin-Ling Chen. 2022. "A Highly Secure IoT Firmware Update Mechanism Using Blockchain" Sensors 22, no. 2: 530. https://doi.org/10.3390/s22020530
APA StyleTsaur, W. -J., Chang, J. -C., & Chen, C. -L. (2022). A Highly Secure IoT Firmware Update Mechanism Using Blockchain. Sensors, 22(2), 530. https://doi.org/10.3390/s22020530