• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

OPTEE:ARM安全扩展

武飞扬头像
安全二次方security²
帮助1

安全之安全(security²)博客目录导读


目录

一、BTI(Branch Target Identification)

二、如何使能OP-TEE core的BTI

三、如何使能TA的BTI


一、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选项。

三、如何使能TA的BTI

        要使用BTI对TA和用户模式库的支持,请启用CFG_TA_BTI选项。这将确保OP-TEE提供给TA和TA的所有库都是用BTI选项构建的。

        当由ldelf加载TA时,在启用TA保护之前,将在运行时检查它们在ELF中的BTI NOTE属性。

        在构建TA时,需要确保所使用的任何外部库都具有分支保护。这可以通过使用带选项-n的readelf命令检查库来完成。启用BTI的库将在.note.gnu.property section中拥有BTI NOTE属性。如果不是这样,编译将停止并发出警告,这样做是为了警告用户。

注意:BTI支持目前与CFG_VIRTUALIZATION和CFG_WITH_PAGER选项不兼容。

参考:Arm Security Extensions — OP-TEE documentation documentation

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgjiifg
系列文章
更多 icon
同类精品
更多 icon
继续加载