作者简介
卢鸿波,曾就职于华为海思,现为国内某国产化处理器厂商安全方向副研究员。在底层软件安全、低功耗方向工作6余年。工作内容涉及Trustzone/TEE/TF-A安全、Modem低功耗等。曾参与世界首款单芯片多模5G基带芯片相关软件研发工作。
一 本文简介
本文档提供了TF-A固件的通用威胁模型。对14类威胁模型进行详细分析,并对TF-A可能涉及的威胁进行检测和评估(每个威胁都有一个风险评级,代表了该威胁的影响和可能性),并给出可能的防护建议。
注意:此威胁模型不考虑 Realm Management Extension (RME)引入的Root和Realm。
二 评估目标
在该威胁模型中,评估的目标是A系列处理器的可信固件(TF-A)。这包括引导ROM (BL1)、可信引导固件(BL2)和运行时EL3固件(BL31),如图1所示。图1中的其他内容都超出了评估的范围。
TF-A可以以多种方式配置。在这个威胁模型中,我们只考虑最基本的配置。为此,我们做出以下假设:
1)所有TF-A镜像都是从ROM或片上可信SRAM运行的。这意味着TF-A不容易受到能够探测或篡改片外存储器的攻击者的攻击。
2)已启用可信引导。这意味着攻击者不能引导未经平台提供者验签的任意镜像。
3)没有Secure-EL2。我们不考虑Secure-EL2软件可能带来的威胁。
4)禁用了度量引导。我们没有考虑可能带来的威胁或缓解措施。
5)未启用任何实验特性。我们不考虑来自他们的威胁。
图1 TF-A数据流图
2.1 数据流
图1显示了TF-A的数据流图。该图显示了基于TF-A系统的不同组件及其与TF-A相互作用的模型。表1给出了每个图元素的描述。在图中,红色虚线表示信任边界。虚线以外的组件被TF-A认为是不可信的。
表1 TF-A数据流图描
三 威胁分析
在本节中,我们将识别并评估TF-A固件的潜在威胁。对上面数据流图上的每个图元素标识了威胁。
对于每个威胁,我们识别受到威胁的资产、威胁代理和威胁类型。每个威胁都有一个风险评级,代表了该威胁的影响和可能性。我们还讨论了可能的缓解措施。
3.1 资产
我们为TF-A识别了以下资产。
表2 TF-A资产
3.2 威胁代理
要了解攻击面,必须识别潜在的攻击者,即攻击入口点。以下威胁代理在此威胁模型的范围内。
表3 威胁代理
注意:在这种威胁模型中,有能力篡改硬件的高级物理攻击者(例如,使用聚焦离子束(FIB)“重新布线”芯片或使用化学物质分解芯片)被认为是超出范围的。
3.3 威胁类型
在这个威胁模型中,我们使用STRIDE威胁分析技术对威胁进行分类。在这种技术中,威胁被分类为一种或多种类型:欺骗(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information disclosure)、拒绝服务(Denial of service)或特权提升(Elevation of privilege)。
3.4 威胁风险评级
对于所确定的每一种威胁,根据在未采取缓解措施的情况下发生威胁的可能性以及威胁的影响(即后果可能有多严重),给出从信息到严重的风险评级。表4从评分、影响和可能性的角度解释了每种评级。
表4 应用于影响和可能性的评级和评分
对已识别的威胁进行综合风险评分;具体来说,就是影响分数乘以可能性分数。例如,一个可能性高但影响低的威胁的总风险得分为8 ;也就是说,4表示高可能性,乘以2表示低影响。总风险评分决定了该发现的总体风险水平,如下表所示。
表5 综合风险等级和相应的评分
威胁的可能性和影响取决于TF-A运行的目标环境。例如,需要物理访问的攻击在服务器环境中不太可能发生,而在物联网环境中更常见。在这个威胁模型中,我们考虑了三种目标环境:物理网设备、移动终端和服务器。
3.5 威胁评估
通过对数据流图的每个图元素应用STRIDE分析,识别了以下威胁。
对于每一种威胁,我们努力表明当前是否实施了缓解措施。一些缓解措施在通用代码中部分实现,但也依赖于平台代码来实现其中的一部分。这个威胁模型的目标是平台独立的,必须记住,只有在平台代码正确地履行其职责时,这种威胁才会得到缓解。
此外,一些缓解措施需要启用特定的功能,这些功能必须通过构建标志显式地打开。这些在“缓解措施是否实现?”栏体现
3.5.1 破坏固件镜像来执行任意代码
3.5.2 引导过时的、易受攻击的固件镜像进行回滚攻击
3.5.3 利用TOCTOU绕过引导过程中的镜像身份验证
3.5.4 利用故障技术绕过签名验证执行任意镜像
3.5.5 通过UART日志泄露敏感信息
3.5.6 通过外部调试和跟踪接口读取敏感数据或执行任意代码
3.5.7 使用未经校验的SMC调用,执行DOS攻击
3.5.8 内存溢出或越界引起的代码任意执行或改变程序执行流
3.5.9 处理不当的SMC调用泄露寄存器信息
3.5.10 利用微架构侧信道攻击泄露ATF内存中敏感信息
3.5.11 MMU的错误配置引起的敏感数据泄露或任意代码执行
3.5.12 MMU的错误配置引起的敏感数据泄露或任意代码执行
3.5.13 保存敏感信息至内存引起的敏感信息泄露
3.5.14 执行任意或不受信任的二进制文件作为安全操作系统镜像
作者:卢鸿波
文章来源:Arm精选
推荐阅读
从硬件架构与软件架构看TrustZone
特约专栏 | 软件分区设计,汽车功能安全可以从航空安全实践中得到哪些思考?
Zephyr与ARM PSA架构结合保护IOT设备
预期功能安全专栏 | 汽车自动紧急制动系统控制策略的预期功能安全设计
更多物联网安全,PSA等技术干货请关注平台安全架构(PSA)专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入PSA技术交流群,请备注研究方向。