Skip to main content

Attacking Secure-Element-Hardened MCUboot Using a Low-Cost Fault Injection Toolkit

  • Conference paper
  • First Online:
Innovative Security Solutions for Information Technology and Communications (SecITC 2023)

Abstract

The bootloader is a critical part of a device’s secure startup, and its interactions with firmware images require cryptographic operations. Instead of storing keys for authentication and encryption in the bootloader, one can harden the system by offloading the key storage and all cryptographic operations to a secure element. This paper analyzes the susceptibility of MCUboot used in conjunction with a secure element to voltage fault injection during firmware image verification. We designed and built a low-cost voltage fault injection tool using a Cortex-M7 MCU and an analog switch, which can achieve a timing resolution of 6.67 ns. We found vulnerable instructions in the glue code between the bootloader and the secure element library. By targeting these vulnerable instructions, we showed how an attacker could bypass a signature verification performed by a secure element by faulting a Nordic nRF52840 host MCU. While secure elements are still suited for securely storing keys and other sensitive data, a holistic approach is required to secure a device against fault injection. Otherwise, the threat of fault injection could diminish the benefits of secure bootloaders and secure elements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/zephyrproject-rtos/mcuboot/blob/e58ea98aec6e5539c5f872a98059e461d0155bbb/boot/zephyr/Kconfig#L343.

  2. 2.

    https://devzone.nordicsemi.com/f/nordic-q-a/60633/the-tolerance-of-voltage-of-dec-pins-of-52840.

References

  1. Morel, L., Couroussé, D.: Idols with feet of clay: on the security of bootloaders and firmware updaters for the IoT. In: 2019 17th IEEE International New Circuits and Systems Conference (NEWCAS), pp. 1–4 (2019)

    Google Scholar 

  2. Bittner, O., Krachenfels, T., Galauner, A., Seifert, J.P.: The forgotten threat of voltage glitching: a case study on Nvidia Tegra X2 SoCs. In: 2021 Workshop on Fault Detection and Tolerance in Cryptography (FDTC), pp. 86–97 (2021)

    Google Scholar 

  3. Van den Herrewegen, J., Oswald, D., Garcia, F.D., Temeiza, Q.: Fill your boots: enhanced embedded bootloader exploits via fault injection and binary analysis. IACR Trans. Cryptographic Hardware Embedded Syst. 2021(1), 56–81 (2020)

    Article  Google Scholar 

  4. Milburn, A., Timmers, N., Wiersma, N., Pareja, R., Cordoba, S.: There will be glitches: Extracting and analyzing automotive firmware efficiently (2018). https://www.riscure.com/publication/extracting-and-analyzing-automotive-firmware-efficiently/ (Accessed 13 March 2023), Black Hat USA 2018

  5. Cui, A., Costello, M., Stolfo, S.J.: When firmware modifications attack: a case study of embedded exploitation. In: 2013 20th Annual Network & Distributed System Security Symposium (2013)

    Google Scholar 

  6. Shwartz, O., Mathov, Y., Bohadana, M., Elovici, Y., Oren, Y.: Reverse engineering IoT devices: effective techniques and methods. IEEE Internet Things J. 5(6), 4965–4976 (2018)

    Article  Google Scholar 

  7. Ronen, E., Shamir, A., Weingarten, A.O., O’Flynn, C.: IoT goes nuclear: creating a zigbee chain reaction. In: 2017 IEEE Symposium on Security and Privacy (SP), pp. 195–212 (2017)

    Google Scholar 

  8. Noseda, M., Zimmerli, L., Schläpfer, T., Rüst, A.: Performance analysis of secure elements for iot. IoT 3(1), 1–28 (2021)

    Article  Google Scholar 

  9. MCUboot. https://www.mcuboot.com/, (Accessed 09 April 2023)

  10. Bar-El, H., Choukri, H., Naccache, D., Tunstall, M., Whelan, C.: The sorcerer’s apprentice guide to fault attacks. Proc. IEEE 94(2), 370–382 (2006)

    Article  Google Scholar 

  11. Boneh, D., DeMillo, R.A., Lipton, R.J.: On the importance of checking cryptographic protocols for faults. In: Fumy, W. (ed.) Advances in Cryptology – EUROCRYPT ’97, pp. 37–51. Springer, Berlin (1997). https://doi.org/10.1007/3-540-69053-0_4

    Chapter  Google Scholar 

  12. Kömmerling, O., Kuhn, M.G.: Design principles for tamper-resistant smartcard processors. In: USENIX Workshop on Smartcard Technology (Smartcard 99). USENIX Association, Chicago, Illinois (1999)

    Google Scholar 

  13. Kazemi, Z., Norollah, A., Kchaou, A., Fazeli, M., Hely, D., Beroulle, V.: An in-depth vulnerability analysis of RISC-V micro-architecture against fault injection attack. In: 2021 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT), pp. 1–6 (2021)

    Google Scholar 

  14. Yuce, B., Schaumont, P., Witteman, M.: Fault attacks on secure embedded software: threats, design, and evaluation. J. Hardware Syst. Sec. 2(2), 111–130 (2018)

    Article  Google Scholar 

  15. Kazemi, Z., Fazeli, M., Hely, D., Beroulle, V.: Hardware security vulnerability assessment to identify the potential risks in a critical embedded application. In: 2020 IEEE 26th International Symposium on On-Line Testing and Robust System Design (IOLTS), pp. 1–6 (2020)

    Google Scholar 

  16. Timmers, N., Spruyt, A., Witteman, M.: Controlling PC on ARM using fault injection. In: 2016 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC), pp. 25–35 (2016)

    Google Scholar 

  17. Timmers, N., Spruyt, A.: Bypassing secure boot using fault injection (2016). https://www.riscure.com/publication/bypassing-secure-boot-using-fault-injection/ (Accessed 24 July 2023), Black Hat Europe 2016

  18. Belleville, N., Couroussé, D., Heydemann, K., Charles, H.P.: Automated software protection for the masses against side-channel attacks. ACM Trans. Architec. Code Optimiz. (TACO) 15(4), 1–27 (2018)

    Article  Google Scholar 

  19. Lalande, J.-F., Heydemann, K., Berthomé, P.: Software countermeasures for control flow integrity of smart card C codes. In: Kutyłowski, M., Vaidya, J. (eds.) ESORICS 2014. LNCS, vol. 8713, pp. 200–218. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11212-1_12

    Chapter  Google Scholar 

  20. Yuce, B., Deshpande, C., Ghodrati, M., Bendre, A., Nazhandali, L., Schaumont, P.: A secure exception mode for fault-attack-resistant processing. IEEE Trans. Dependable Secure Comput. 16(3), 388–401 (2019)

    Article  Google Scholar 

  21. De Clercq, Ret ak.: SOFIA: software and control flow integrity architecture. In: 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 1172–1177 (2016)

    Google Scholar 

  22. Werner, M., Unterluggauer, T., Schaffenrath, D., Mangard, S.: Sponge-based control-flow protection for IoT devices. In: 2018 IEEE European Symposium on Security and Privacy (EuroS &P), pp. 214–226 (2018)

    Google Scholar 

  23. De Clercq, R., Verbauwhede, I.: A survey of hardware-based control flow integrity (CFI). arXiv preprint arXiv:1706.07257 (2017)

  24. Ban, T.: HW fault injection mitigation. https://www.trustedfirmware.org/docs/TF-M_fault_injection_mitigation.pdf, (Accessed 03 March 2023)

  25. Atilano, E., De Grandmaison, A., Heydemann, K., Bouffard, G.: Assessing the effectiveness of MCUboot protections against fault injection attacks. https://resources.linaro.org/en/resource/ibFLwRzhpZjBfvY5jhPypJ, (Accessed 10 November 2023)

  26. Witteman, M.: Secure application programming in the presence of side channel attacks. https://www.riscure.com/publication/secure-application-programming-presence-side-channel-attacks/, (Accessed 01 March 2023)

  27. Eugster, L., Stuck, S.: Secure Firmware Updates für IoT. Bachelor’s thesis, ZHAW Zurich University of Applied Sciences (2022)

    Google Scholar 

  28. Teensy 4.0. https://www.pjrc.com/store/teensy40.html, (Accessed 01 March 2023)

  29. van Woudenberg, J., O’Flynn, C.: The Hardware Hacking Handbook. No Starch Press, San Francisco, CA (May 2021)

    Google Scholar 

  30. Riscure Inspector FI. https://www.riscure.com/security-tools/inspector-fi/, (Accessed 01 March 2023)

  31. NewAE Technology Inc., ChipWhisperer. https://www.newae.com/chipwhisperer, (Accessed 01 March 2023)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Simon Künzli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Noseda, M., Künzli, S. (2024). Attacking Secure-Element-Hardened MCUboot Using a Low-Cost Fault Injection Toolkit. In: Manulis, M., Maimuţ, D., Teşeleanu, G. (eds) Innovative Security Solutions for Information Technology and Communications. SecITC 2023. Lecture Notes in Computer Science, vol 14534. Springer, Cham. https://doi.org/10.1007/978-3-031-52947-4_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-52947-4_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-52946-7

  • Online ISBN: 978-3-031-52947-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics