SeaK: Rethinking the Design of a Secure Allocator for OS Kernel

, , , , , , , , and
USENIX Security Symposium 2024
Philadelphia, PA,
Abstract. In recent years, heap-based exploitation has become the most dominant attack against the Linux kernel. Securing the kernel heap is of vital importance for kernel protection. Though the Linux kernel allocator has some security designs in place to counter exploitation, our analytical experiments reveal that they can barely provide the expected results. This shortfall is rooted in the current strategy of designing secure kernel allocators which insists on protecting every object all the time. Such strategy inherently conflicts with the kernel nature. To this end, we advocate for rethinking the design of secure kernel allocator. In this work, we explore a new strategy which centers around the "atomic alleviation" concept, featuring flexibility and efficiency in design and deployment. Recent advancements in kernel design and research outcomes on exploitation techniques enable us to prototype this strategy in a tool named SeaK. We used real-world cases to thoroughly evaluate SeaK. The results validate that SeaK substantially strengthens heap security, outperforming all existing features, without incurring noticeable performance and memory cost. Besides, SeaK shows excellent scalability and stability in the production scenario.
Bibtex.
@inproceedings{jamjoom-usenixsecurity-2024,
author = {Zicheng and Wang and Yicheng and Guang and Yueqi and Chen and Zhenpeng and Lin and Michael V. and Le and Dang K. and Le and Dan and Williams and Xinyu and Xing and Zhongshu and Gu and Hani and Jamjoom},
title = {{SeaK: Rethinking the Design of a Secure Allocator for OS Kernel}},
booktitle = {USENIX Security Symposium 2024},
address = {Philadelphia, PA},
month = {Aug},
year = {2024}
}