Lippen: a Lightweight in-Place Pointer Encryption Architecture for Pointer Integrity
Erfan Iravani, Lalit Prasad Peri, Mohannad Ismail, Charitha Tumkur Siddalingaradhya, Changwoo Min, Elif Bilge Kavun, Wenjie Xiong
Abstract
Memory-safety vulnerabilities in C and C++ programs continue to enable sophisticated exploitations such as control-flow hijacking and data-oriented attacks. Existing hardware defenses either rely on address space layout randomization or explicit metadata to pointers to verify the integrity. Many mitigation techniques introduce external metadata for security checks, providing strong guarantees, but incur additional memory accesses and memory footprint overhead. In-place protection schemes, such as ARM Pointer Authentication (PAC), achieve low overhead but have limited entropy for security and are susceptible to brute-force attacks. This paper presents Lippen, a hardware-software co-design for full-pointer encryption that provides strong pointer integrity without metadata. Lippen encrypts every pointer with a block cipher, cryptographically binding it to its execution context, and decrypts it transparently at dereference time. By re-purposing the entire 64-bit pointer field for encryption rather than preserving raw address bits, Lippen maximizes entropy, eliminates the brute-force weaknesses of truncated authentication codes, and maintains binary compatibility with existing PAC-enabled software protection. We prototype Lippen on FPGA using 64bit RISC-V Rocket and BOOM cores, and evaluate it with microbenchmarks, nbench, and SPEC CPU2017. We compare against both an in-house PAC implementation on RISC-V and Apple's PAC on the M1 processor. Across these workloads, Lippen provides comprehensive pointer protection with comparable or better runtime overhead to PAC-based schemes, while incurring negligible area and power overhead. These results show that Lippen is a practical design point for deploying strong pointer protection in real processors.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9729aab7-9791-49cc-949a-4f010f460024Builds on19
- Data-Oriented Programming: On the Expressiveness of Non-control Data AttacksHong Hu, Shweta Shinde, Sendroiu Adrian, Zheng Leong Chua et al.S&P 2016 · 420 citations
- PAC it up: Towards Pointer Integrity using ARM Pointer AuthenticationHans Liljestrand, Thomas Nyman, Kui Wang, Carlos Chinea Perez et al.USENIX Security 2019 · 168 citations
- Address Oblivious Code Reuse: On the Effectiveness of Leakage Resilient DiversityRobert Rudd, Richard Skowyra, David Bigelow, Veer Dedhia et al.NDSS 2017 · 78 citations
- The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years LaterVictor van der Veen, Dennis Andriesse, Manolis Stamatogiannakis, Xi Chen et al.CCS 2017 · 74 citations
- PACMAN: attacking ARM pointer authentication with speculative executionJoseph Ravichandran, Weon Taek Na, Jay Lang, Mengjia YanISCA 2022 · 68 citations
Related papers
- ZeRØ: Zero-Overhead Resilient Operation Under Pointer Integrity AttacksMohamed Tarek Ibn Ziad, Miguel A. Arroyo, Evgeny Manzhosov, Simha SethumadhavanISCA 2021 · 17 citations
- In-Kernel Control-Flow Integrity on Commodity OSes using ARM Pointer AuthenticationSungbae Yoo, Jinbum Park, Seolheui Kim, Yeji Kim et al.USENIX Security 2022
- Demystifying Pointer Authentication on Apple M1Zechao Cai, Jiaxun Zhu, Wenbo Shen, Yutian Yang et al.USENIX Security 2023
- HWST128: complete memory safety accelerator on RISC-V with metadata compressionHsu-Kang Dow, Tuo Li, Sri ParameswaranDAC 2022 · 1 citation
- PTAuth: Temporal Memory Safety via Robust Points-to AuthenticationReza Mirzazade Farkhani, Mansour Ahmadi, Long LuUSENIX Security 2021 · 67 citations
