StackSpecter: Detecting Stack Buffer Overflows for the Xtensa Architecture - Lehniger, Kai; Langendorfer, Peter (Australasian Telecommunication Networks and Applications Conference [proceedings], 2024)
This paper presents a new approach, StackSpecter, for stack buffer overflow detection, specifically for architectures with register windows. It uses a combination of plausibility checks for stack pointers and obfuscation using a secret XOR key. This combination allows it to give similar security guar-antees as stack canaries but without the need of adjustments to the stack frame layout. StackSpecter was implemented by modifying the FreeRTOS operating system of a ESP32 microcontroller. The performance overhead was evaluated using BEEBS, showing an average overhead of only 0.114%, a large improvement compared to stack canaries, and a worst-case overhead of 64.854% compared to an unprotected application.