arXiv · 2408.17248
DeTRAP: RISC-V Return Address Protection With Debug Triggers
Abstract
Modern microcontroller software is often written in C/C++ and suffers from control-flow hijacking vulnerabilities. Previous mitigations suffer from high performance and memory overheads and require either the presence of memory protection hardware or sophisticated program analysis in the compiler. This paper presents DeTRAP (Debug Trigger Return Address Protection). DeTRAP utilizes a full implementation of the RISC-V debug hardware specification to provide a write-protected shadow stack for return addresses. Unlike previous work, DeTRAP requires no memory protection hardware and only minor changes to the compiler toolchain. We tested DeTRAP on an FPGA running a 32-bit RISC-V microcontroller core and found average execution time overheads to be between 0.5% and 1.9% on evaluated benchmark suites with code size overheads averaging 7.9% or less.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Isaac Richter, Jie Zhou, John Criswell. 2024-08-30. DeTRAP: RISC-V Return Address Protection With Debug Triggers. https://arxiv.org/abs/2408.17248
Cite the original work for its findings. Save a collection to share your selection of sources.