2.1 Intel
(1)软件方面:Clang Control Flow Integrity,这种检查通常被称为 “forward-edge CFI”,因为它保护了对函数的间接调用。Linux 5.13 这个版本增加了 LLVM control-flow integrity(CFI)机制的支持。
CFI(Control-Flow Integrity)关注的就是间接jmp、间接call、ret这几种指令控制流的完整性。
(2)硬件方面:Intel CET(ENDBRANCH – IBT(indirect branch tracking)) – Linux 5.18 这个内核版本终于增加了对英特尔IBT硬件功能的支持。
ENDBRANCH: Enhanced protection against JOP/COP attacks
2.2 ARM
(1)软件方面:Clang Control Flow Integrity,这种检查通常被称为 “forward-edge CFI”,因为它保护了对函数的间接调用。Linux 5.13 这个版本增加了 LLVM control-flow integrity(CFI)机制的支持。
(2)硬件方面:Branch-Target Identification(BTI)-- Linux 5.8 这个内核版本对用户空间和内核空间提供了ARMv8.5-BTI的支持。