CCS'24 Artifact: Safeslab: Mitigating Use-After-Free Vulnerabilities via Memory Protection Keys
Authors/Creators
Description
Temporal safety errors, such as use-after-free and double-free, are some of the most prevalent types of vulnerabilities discovered in modern systems software. We propose addressing them via Safeslab: a heap-hardening extension that aims to mitigate temporal errors via a novel and efficient address aliasing approach. Safeslab assigns multiple virtual aliases to each memory page in the system, and manages their access rights via the recently introduced Memory Protection Keys hardware extension, which is designed to provide a fast alternative to page tables for memory management. We developed a prototype of Safeslab for the Linux kernel and evaluated its performance and memory overhead via several benchmarks on the x86 architecture. We release Safeslab's source code as a research artifact using this repository, along with instructions on how to configure it, deploy it, and evaluate it.