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
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper19
- Data-Oriented Programming: On the Expressiveness of Non-control Data AttacksHong Hu, Shweta Shinde, Sendroiu Adrian, Zheng Leong Chua 等S&P 2016 · 被引用 420 次
- PAC it up: Towards Pointer Integrity using ARM Pointer AuthenticationHans Liljestrand, Thomas Nyman, Kui Wang, Carlos Chinea Perez 等USENIX Security 2019 · 被引用 168 次
- Address Oblivious Code Reuse: On the Effectiveness of Leakage Resilient DiversityRobert Rudd, Richard Skowyra, David Bigelow, Veer Dedhia 等NDSS 2017 · 被引用 78 次
- The Dynamics of Innocent Flesh on the Bone: Code Reuse Ten Years LaterVictor van der Veen, Dennis Andriesse, Manolis Stamatogiannakis, Xi Chen 等CCS 2017 · 被引用 74 次
- PACMAN: attacking ARM pointer authentication with speculative executionJoseph Ravichandran, Weon Taek Na, Jay Lang, Mengjia YanISCA 2022 · 被引用 68 次
相关 Paper
- ZeRØ: Zero-Overhead Resilient Operation Under Pointer Integrity AttacksMohamed Tarek Ibn Ziad, Miguel A. Arroyo, Evgeny Manzhosov, Simha SethumadhavanISCA 2021 · 被引用 17 次
- In-Kernel Control-Flow Integrity on Commodity OSes using ARM Pointer AuthenticationSungbae Yoo, Jinbum Park, Seolheui Kim, Yeji Kim 等USENIX Security 2022
- Demystifying Pointer Authentication on Apple M1Zechao Cai, Jiaxun Zhu, Wenbo Shen, Yutian Yang 等USENIX Security 2023
- HWST128: complete memory safety accelerator on RISC-V with metadata compressionHsu-Kang Dow, Tuo Li, Sri ParameswaranDAC 2022 · 被引用 1 次
- PTAuth: Temporal Memory Safety via Robust Points-to AuthenticationReza Mirzazade Farkhani, Mansour Ahmadi, Long LuUSENIX Security 2021 · 被引用 67 次
