Etd

Memory Efficient Shadow Stacks for Real-Time Embedded Systems

Public Deposited

Downloadable Content

open in viewer

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 benchmark suite.

Creator
Contributors
Degree
Unit
Publisher
Identifier
  • etd-105716
Keyword
Advisor
Committee
Defense date
Year
  • 2023
Date created
  • 2023-04-27
Resource type
Source
  • etd-105716
Rights statement
Last modified
  • 2023-11-06

Relations

In Collection:

Items

Items

Permanent link to this page: https://digital.wpi.edu/show/9p290d88r