Linux为x32启用阴影堆栈支持
回到Linux 6.6
暗影堆栈支持最终被合并
作为英特尔控制流强制技术(CET)的一部分。这项历经数年的努力使得新一代英特尔处理器能够更好地防御ROP攻击。对于Linux 6.10,影子堆栈支持扩展到x32。
的
x32
ABI仍然存在,尽管并不十分普遍。提醒一下,这个Linux ABI在提供x86_64的优点的同时仍然依赖于32位指针。与x86 32位相比,它的优势在于能够利用x86_64增加的寄存器集、浮点数改进等,但仍然依赖于32位指针,并且每个进程的内存限制为4GB。
x32 ABI在十年前听起来很棒,但现在很少听到关于x32的消息,大多数用户都满足于x86_64。甚至偶尔还会有人讨论是否应该弃用x32。无论如何,让人惊讶的是,我们现在看到了对x32的影子堆栈支持。
正在排队
TIP.git
via the "x86/shstk" branch is adding shadow stack support for x32. This was successfully tested on x32 using an Intel Tiger Lake system by Intel engineer H.J. Lu. Now that it's in a TIP branch, it will likely be submitted for the Linux 6.10 kernel cycle this summer. In any event it's a bit surprising seeing Intel making improvements for the Linux x32 support in 2024.