Fat Pointers for Temporal Memory Safety of C
Jie Zhou, John Criswell, Michael Hicks

TL;DR
This paper introduces an efficient and comprehensive method for ensuring temporal memory safety in C by extending Checked C with fat pointers and dynamic checks, effectively preventing use-after-free and double free bugs.
Contribution
It presents a novel extension of Checked C with fat pointers and dynamic key-lock checks, achieving better performance and compatibility than existing solutions.
Findings
Significant reduction in performance overhead compared to disjoint-metadata approaches.
Practical implementation demonstrated through real-world application porting.
Enhanced backward compatibility with existing C code.
Abstract
Temporal memory safety bugs, especially use-after-free and double free bugs, pose a major security threat to C programs. Real-world exploits utilizing these bugs enable attackers to read and write arbitrary memory locations, causing disastrous violations of confidentiality, integrity, and availability. Many previous solutions retrofit temporal memory safety to C, but they all either incur high performance overhead and/or miss detecting certain types of temporal memory safety bugs. In this paper, we propose a temporal memory safety solution that is both efficient and comprehensive. Specifically, we extend Checked C, a spatially-safe extension to C, with temporally-safe pointers. These are implemented by combining two techniques: fat pointers and dynamic key-lock checks. We show that the fat-pointer solution significantly improves running time and memory overhead compared to the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Web Application Security Vulnerabilities · Advanced Malware Detection Techniques
