ATF原生篇(十七):Components-扩展安全分区管理器(Secure Partition Manager)下

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启用编译器选项,允许利用将MTE堆栈标记应用于核心堆栈。 核心堆栈在EL2阶段1翻译方案中标记为普通标记的内存。 在加载/存储上的标签检查失败时,会生成同步数据中止。 在引导时间生成随机种子,并在进入Hafnium时恢复。 MTE系统寄存器在VCPU上下文中保存/还原,允许使用VMS/SPS的MTE使用。

你可能感兴趣的:(ATF,安全,ATF,arm开发)