Memory Efficient Shadow Stacks for Real-Time Embedded Systems
Public DepositedDownloadable Content
open in viewerKage 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
Thumbnail | Title | Visibility | Embargo Release Date | Actions |
---|---|---|---|---|
ajsmith2_MS_Thesis_1.pdf | Public | Download |
Permanent link to this page: https://digital.wpi.edu/show/9p290d88r