目录
一、BTI(Branch Target Identification)
一、BTI(Branch Target Identification)
分支目标识别(BTI)是ARMv8.5(及Armv9.0)扩展,它为间接分支及其目标提供了控制流完整性(CFI)保护,从而有助于限制JOP(Jump Oriented Programming)攻击。
ARM8.5-A引入了分支目标指令(BTI),BTI也被称为着陆台(landing pads)。可以对处理器进行配置,使间接分支(BR和BLR)只允许target着陆台指令。如果间接分支的目标不是目标着陆台,则会生成分支目标异常。
二、如何使能OP-TEE core的BTI
要在支持BTI的CPU上的TEE内核中使用BTI,请启用CFG_CORE_BTI选项。
OP-TEE内核利用了GCC/clang工具