Authors
Nathan Burow, Xinping Zhang, Mathias Payer
Publication date
2019/5/19
Conference
2019 IEEE Symposium on Security and Privacy (SP)
Pages
985-999
Publisher
IEEE
Description
Control-Flow Hijacking attacks are the dominant attack vector against C/C++ programs. Control-Flow Integrity (CFI) solutions mitigate these attacks on the forward edge, i.e., indirect calls through function pointers and virtual calls. Protecting the backward edge is left to stack canaries, which are easily bypassed through information leaks. Shadow Stacks are a fully precise mechanism for protecting backwards edges, and should be deployed with CFI mitigations. We present a comprehensive analysis of all possible shadow stack mechanisms along three axes: performance, compatibility, and security. For performance comparisons we use SPEC CPU2006, while security and compatibility are qualitatively analyzed. Based on our study, we renew calls for a shadow stack design that leverages a dedicated register, resulting in low performance overhead, and minimal memory overhead, but sacrifices compatibility. We …
Total citations
20182019202020212022202320241123338443728
Scholar articles
N Burow, X Zhang, M Payer - 2019 IEEE Symposium on Security and Privacy (SP), 2019