The Performance Cost of Shadow Stacks and Stack Canaries
Venue
Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security (ASIACCS), ACM (2015), pp. 555-566
Publication Year
2015
Authors
Thurston H.Y. Dang, Petros Maniatis, David Wagner
BibTeX
Abstract
Control flow defenses against ROP either use strict, expensive, but strong
protection against redirected RET instructions with shadow stacks, or much faster
but weaker protections without. In this work we study the inherent overheads of
shadow stack schemes. We find that the overhead is roughly 10% for a traditional
shadow stack. We then design a new scheme, the parallel shadow stack, and show that
its performance cost is significantly less: 3.5%. Our measurements suggest it will
not be easy to improve performance on current x86 processors further, due to
inherent costs associated with RET and memory load/store instructions. We conclude
with a discussion of the design decisions in our shadow stack instrumentation, and
possible lighter-weight alternatives.
