PACStack: an Authenticated Call Stack
Hans Liljestrand, Thomas Nyman, Lachlan J. Gunn, Jan-Erik, Ekberg, N. Asokan

TL;DR
PACStack introduces an authenticated call stack mechanism using chained MACs and ARM pointer authentication, providing hardware-assisted security against return address manipulation with minimal performance overhead.
Contribution
It presents PACStack, a novel approach that achieves hardware-assisted security for call stacks without specialized hardware, using chained MACs and ARM pointer authentication.
Findings
Achieves security comparable to hardware shadow stacks.
Imposes approximately 3% performance overhead.
Does not require dedicated hardware for security.
Abstract
A popular run-time attack technique is to compromise the control-flow integrity of a program by modifying function return addresses on the stack. So far, shadow stacks have proven to be essential for comprehensively preventing return address manipulation. Shadow stacks record return addresses in integrity-protected memory secured with hardware-assistance or software access control. Software shadow stacks incur high overheads or trade off security for efficiency. Hardware-assisted shadow stacks are efficient and secure, but require the deployment of special-purpose hardware. We present authenticated call stack (ACS), an approach that uses chained message authentication codes (MACs). Our prototype, PACStack, uses the ARM general purpose hardware mechanism for pointer authentication (PA) to implement ACS. Via a rigorous security analysis, we show that PACStack achieves security…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Malware Detection Techniques · Cloud Data Security Solutions
