ATF(TF-A)通用威胁模型-安全检测与评估

文摘   科技   2024-11-16 07:18   江苏  



卢鸿波,曾就职于华为海思,现为国内某国产化处理器厂商安全方向副研究员。在底层软件安全、低功耗方向工作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精选
ARMv8/ARMv9架构、SOC架构、Trustzone/TEE安全、终端安全、SOC安全、ARM安全、ATF、OPTEE等
 最新文章