x86 Kernel Shadow Stacks Under Development for Linux
Linux user-space has had shadow stack support for hardware-enforced control-flow enforcement for several years. This feature provided defense against return-oriented programming (ROP) attacks.
Summary: Linux user-space has had shadow stack support for hardware-enforced control-flow enforcement for several years. This feature provided defense against return-oriented programming (ROP) attacks.
Shadow stack support is being developed for the Linux kernel on the x86 architecture. This technology provides robust protection against control-flow exploits, particularly return-oriented programming (ROP) attacks. This support was already available for user-space applications and is now being extended to the kernel level.
A shadow stack operates on the principle of maintaining a separate, hardware-protected stack for function return addresses, in addition to the normal call stack. When a function returns, the return addresses on both the main stack and the shadow stack are compared. If a discrepancy is found, it is detected as an attempted attack, and the system intervenes. This prevents unexpected alteration of the control flow.
Implementing shadow stacks at the kernel level will make the operating system’s core components more resilient to ROP attacks. This can significantly enhance the security of servers and critical infrastructure. Specifically, it reduces the success rate of sophisticated attacks targeting kernel modules.
Such security mechanisms might have a minor impact on performance. When upgrading to new kernel versions, it is important to enable these security features and carefully monitor system performance. A good balance between security and performance needs to be established.
🔗 Source: Phoronix Hardware
📡 Authoritative feeds & live tracking: Radar