Towards Linux Kernel Memory Safety
Elena Reshetova, Hans Liljestrand, Andrew Paverd, N.Asokan

TL;DR
This paper analyzes and proposes two mechanisms to enhance memory safety in the Linux kernel, addressing vulnerabilities like reference counter overflows and missing pointer bounds checks, while considering performance and deployability.
Contribution
It introduces an overflow-resistant reference counter structure and evaluates runtime pointer bounds checking using Intel MPX for kernel security.
Findings
The new reference counter structure reduces overflow vulnerabilities.
Intel MPX-based bounds checking can be integrated into the kernel.
The proposed mechanisms balance security improvements with performance considerations.
Abstract
The security of billions of devices worldwide depends on the security and robustness of the mainline Linux kernel. However, the increasing number of kernel-specific vulnerabilities, especially memory safety vulnerabilities, shows that the kernel is a popular and practically exploitable target. Two major causes of memory safety vulnerabilities are reference counter overflows (temporal memory errors) and lack of pointer bounds checking (spatial memory errors). To succeed in practice, security mechanisms for critical systems like the Linux kernel must also consider performance and deployability as critical design objectives. We present and systematically analyze two such mechanisms for improving memory safety in the Linux kernel: (a) an overflow-resistant reference counter data structure designed to accommodate typical reference counter usage in kernel source code, and (b) runtime…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
