Saved in:
Bibliographic Details
Main Authors: Richter, Isaac, Zhou, Jie, Criswell, John
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2408.17248
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909301461745664
author Richter, Isaac
Zhou, Jie
Criswell, John
author_facet Richter, Isaac
Zhou, Jie
Criswell, John
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2408_17248
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle DeTRAP: RISC-V Return Address Protection With Debug Triggers
Richter, Isaac
Zhou, Jie
Criswell, John
Cryptography and Security
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.
title DeTRAP: RISC-V Return Address Protection With Debug Triggers
topic Cryptography and Security
url https://arxiv.org/abs/2408.17248