9 安全加强的ARM架构扩展
Hafnium支持以下架构扩展以进行安全加强:
-
指针身份验证(FEAT_PAuth):扩展允许通过签署指针值来检测ROP类型攻击使用的锻造指针。 Hafnium使用编译器分支保护选项构建,以允许生成用于返回地址的指针身份验证代码(指令指针身份验证)。 Hafnium运行时使用APIA键。 在启动时间生成一个随机键,并在运行时进入Hafnium时恢复。 APIA和其他键(APIB,APDA,APDB,APGA)在VCPU上下文中保存/还原,允许在VMS/SPS中启用指针身份验证。
-
分支目标标识(FEAT_BTI):扩展允许检测JOP类型攻击使用的意外间接分支。 Hafnium是由编译器分支保护选项构建的,在通过间接分支指令(BR/BLR)达到的功能序列上插入陆板。 Hafnium代码页面被标记为EL2阶段1 MMU描述符,以使间接分支必须始终针对降落。 否则会触发故障。 VMS/SP可以(独立地)标记其代码页面,如EL1&0阶段1翻译体制中所保护的。
-
内存标记扩展名(FART_MTE):该选项允许检测出口内存数组访问或重复使用已释放的内存区域。 Hafnium启用编译器选项,允许利用