LIPPEN: A Lightweight In-Place Pointer Encryption Architecture for Pointer Integrity
Erfan Iravani, Lalit Prasad Peri, Mohannad Ismail, Charitha Tumkur Siddalingaradhya, Changwoo Min + 2 more
TLDR
LIPPEN is a hardware-software co-design that uses full-pointer encryption to provide strong, metadata-free pointer integrity with PAC-comparable overhead.
Key contributions
- LIPPEN uses full-pointer encryption (hardware-software co-design) for strong pointer integrity and confidentiality.
- Achieves zero metadata overhead by encrypting the entire 64-bit pointer field, maximizing entropy.
- Eliminates brute-force attacks and maintains binary compatibility with existing Pointer Authentication Code (PAC).
- Evaluated on FPGA RISC-V, showing PAC-comparable runtime overhead with negligible area/power.
Why it matters
Memory-safety vulnerabilities in C/C++ are a major security threat. LIPPEN offers a practical, high-security alternative to existing pointer protection schemes, addressing their limitations like metadata overhead or brute-force susceptibility. Its low overhead makes it viable for real-world deployment.
Original Abstract
Memory-safety violations in C and C++ programs continue to enable sophisticated exploitation techniques such as control-flow hijacking and data-oriented attacks. Existing hardware defenses either rely on address space layout randomization (ASLR) or attach explicit metadata to pointers to verify their integrity. External metadata schemes provide strong guarantees, but incur additional memory accesses and memory footprint overhead. In-place authentication mechanisms, such as ARM Pointer Authentication (PAC), achieve low overhead at the cost of limited entropy and susceptibility to brute-force and reuse attacks. This paper presents LIPPEN, a hardware-software co-design for full-pointer encryption that provides strong pointer integrity and confidentiality with zero metadata overhead. LIPPEN treats every pointer as an encrypted block, cryptographically binding it to its execution context and decrypting 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. We prototype LIPPEN on FPGA using 64-bit RISC-V Rocket and BOOM cores, and evaluate it with microbenchmarks, nbench, and SPEC CPU2017. We compare against both an in-house RISC-V PAC implementation and Apple's PAC on the M1 processor. Across these workloads, LIPPEN provides comprehensive pointer protection with runtime overhead comparable 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.
📬 Weekly AI Paper Digest
Get the top 10 AI/ML arXiv papers from the week — summarized, scored, and delivered to your inbox every Monday.