Elevating Parallel Shadow Stack Concepts for Architectures With Register Windows
Register windows are a processor feature that was originally developed to reduce the frequency for register spilling. This paper investigates how this mechanism can be used to implement a parallel shadow stack to protect return addresses from being corrupted. Furthermore, multiple improvements based on properties directly following the usage of register windows are proposed. Different configurations of parallel shadow stacks are evaluated based on prototype implementations on an ESP32 microcontroller and tested with different benchmarks. Performance overheads below 0.01% for CoreMark, below 3% for the worst case in MbedsTLS, and a worst case scenario of 22.153% for a recursive function show that our concepts are able to be efficiently developed even for embedded devices like the ESP32.
Authors
- Kai Lehniger (ORCID: https://orcid.org/0000-0002-3274-2469)
- Peter Langendörfer
Institutions
- Brandenburg University of Technology Cottbus-Senftenberg (DE)
- Leibniz Institute for High Performance Microelectronics (DE)
Publication Details
- Journal
- IEEE Transactions on Dependable and Secure Computing
- Published
- 2025-09-01
- DOI
- https://doi.org/10.1109/tdsc.2025.3604556
- Primary Topic
- Embedded Systems Design Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00