Camouflage: Hardware-assisted CFI for the ARM Linux kernel

Rémi Denis-Courmont,Hans Liljestrand,Carlos Chinea,Jan-Erik Ekberg,Remi Denis-Courmont
DOI: https://doi.org/10.1109/dac18072.2020.9218535
2020-07-01
Abstract:Software control-flow integrity (CFI) solutions have been applied to the Linux kernel for memory protection. Due to performance costs, deployed software CFI solutions are coarse grained. In this work, we demonstrate a precise hardware-assisted kernel CFI running on widely-used off-the-shelf processors. Specifically, we use the ARMv8.3 pointer authentication (PAuth) extension and present a design that uses it to achieve strong security guarantees with minimal performance penalties. Furthermore, we show how deployment of such security primitives in the kernel can significantly differ from their user space application.
What problem does this paper attempt to address?