Chaos: Function Granularity Runtime Address Layout Space Randomization for Kernel Module
Open Access
- 4 September 2024
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 23-30
Abstract
The return-oriented programming (ROP) is a prevalent code reuse attack. It exploits vulnerabilities such as stack overflows to hijack the execution flow into the carefully chosen instruction snippet (called gadget) chain already in the memory. Address Space Layout Randomization (ASLR) is widely used to defend against code reuse attacks like ROP from hijacking control flow. However, the Linux kernel, especially the most vulnerable kernel module, only applies basic coarsegrained load-time ASLR methods. This is far from sufficient to defend against new ROP attacks. In this paper, we propose Chaos, a fine-grained runtime architecture-independent ASLR for the kernel module. Chaos adopts function granularity randomization to increase randomization entropy. It continuously performs randomization during runtime to invalidate memory disclosure. To reduce overhead, Chaos only suspends the kernel module and minimizes the running state migration efforts. We implement Chaos based on Linux 5.10 LTS on ARM64 and evaluate it using two common benchmarks. The result demonstrates that Chaos achieves fine-grained runtime ASLR for protecting kernel modules with 5% performance overhead degradation at most.Keywords
Funding Information
- National Natural Science Foundation of China (62090022,62172388)
This publication has 19 references indexed in Scilit:
- Fine-Grained Control-Flow Integrity for Kernel Software2016
- Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications2015
- Hacking Blind2014
- Practical Timing Side Channel Attacks against Kernel Space ASLR2013
- Practical Control Flow Integrity and Randomization for Binary Executables2013
- Smashing the Gadgets: Hindering Return-Oriented Programming Using In-place Code Randomization2012
- ILR: Where'd My Gadgets Go?2012
- Breaking the memory secrecy assumption2009
- Address Space Layout Permutation (ASLP): Towards Fine-Grained Randomization of Commodity SoftwareTwenty-Third Annual Computer Security Applications Conference (ACSAC 2007), 2006
- Reorganizing UNIX for Reliability2006