Practical Protection Design of Forward-Edge Control-Flow Integrity for Linux Kernel
The operating system kernel is the security foundation for the entire system. Yet control flow hijacking is a prevalent attack method that continually threatens its security. Control-Flow Integrity (CFI) defends against these attacks by enforcing execution compliance with a pre-computed Control-Flow Graph (CFG). The kernel is very sensitive to performance overhead, challenging the CFI scheme design. The existing Clang-CFI is software-based, making it the general solution widely deployed as the de facto CFI. However, it is coarse-grained, and its CFI scheme design cannot be easily applied to fine-grained CFGs. To provide CFI for fine-grained CFG, we propose a flexible protection design, FLEX-CFI. This software-based approach enhances generality by eliminating hardware dependencies. Our CFI design is practical and applicable to various fine-grained CFGs with negligible overhead. We implemented a prototype of FLEX-CFI based on Clang/LLVM and evaluated it on the Android ARM64 Linux kernel using a real-world hardware device. The results show that FLEX-CFI effectively secures 92% of all indirect call-sites in the allyesconfig kernel configuration while reducing target functions by 93.5% and imposing close-tozero performance overhead.
Authors
- Wenbo Shen (ORCID: https://orcid.org/0000-0003-2899-6121)
- Xun Xie (ORCID: https://orcid.org/0000-0003-3715-564X)
- Jinmeng Zhou
- Ziyue Pan
Institutions
- Zhejiang University of Science and Technology (CN)
Publication Details
- Published
- 2025-06-08
- DOI
- https://doi.org/10.1109/icc52391.2025.11161046
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00