Search papers, labs, and topics across Lattice.
CHERI-D is an architectural extension to the CHERI system that enhances temporal memory safety by integrating object identification (ID) metadata with capability pointers, addressing the limitations of existing software-based solutions like Cornucopia Reloaded. This approach not only mitigates use-after-free (UAF) vulnerabilities more effectively but also reduces performance overhead associated with memory reallocation and revocation. Simulation and hardware evaluations show that CHERI-D significantly outperforms its predecessor, enabling efficient and secure memory management in programming languages and operating systems.
CHERI-D slashes revocation overhead while providing robust use-after-free protection, setting a new standard for memory safety in hardware architectures.
We propose CHERI-D, an architectural extension to CHERI that supports efficient temporal memory safety. Efficient memory safety is an increasing priority for programming languages, operating systems, and hardware designs, and CHERI is a leading hardware/software system that provides native spatial safety and a foundation for temporal memory safety. Due to CHERI lacking intrinsic architectural support for temporal memory safety, the state-of-the-art CHERI temporal safety solution, Cornucopia Reloaded, is a software-based solution that provides use-after-reallocation (UAR) protections instead of the stronger use-after-free (UAF) mitigation, and suffers performance overhead due to delayed reallocation and revocation. CHERI-D associates object identification (ID) metadata with capability pointers to provide temporal integrity of allocations. CHERI spatial safety allows CHERI-D to store object IDs safely inline with allocation data, potentially within unused fragmentation. Evaluated in simulation and in hardware, CHERI-D significantly reduces the revocation overhead of Cornucopia Reloaded while allowing it to support strict use-after-free mitigation.