Computer Science

Avery Smith

MS Student

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