WPI - Computer Science Department, MS Thesis Presentation Avery Smith " Umbra: Shadow Stack Designs for Embedded Systems""
WPI – Computer Science
Monday, April 24, 2023
Time: 10:00 a.m. – 11:00 a.m.
Location: Fuller Labs 141
Advisor: Prof. Robert Walls
Reader: Prof. Craig Shue
Kage is a real-time operating system that guarantees return address integrity and
control flow integrity for embedded ARMv7-M devices. Kage uses a parallel shadow
stack for protecting return addresses because this design allows for simple
instrumentation and consequently low runtime performance overhead.
However, Kage's parallel design incurs a large memory penalty to the device's RAM section. Embedded devices face tighter constraints on memory usage, so memory efficiency becomes a major concern.
To address this challenge, we propose two novel shadow stack designs:
the interleaved shadow stack design and the shared shadow stack design.
These designs offer similar runtime performance compared to the parallel shadow stack
design with significantly higher memory efficiency. For instance, we observed an up to
71.43% improvement to stack usage over the parallel design when running the Coremark