本文档提供了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数据流图
图1显示了TF-A的数据流图。该图显示了基于TF-A系统的不同组件及其与TF-A相互作用的模型。表1给出了每个图元素的描述。在图中,红色虚线表示信任边界。虚线以外的组件被TF-A认为是不可信的。
表1 TF-A数据流图描述
在本节中,我们将识别并评估TF-A固件的潜在威胁。对上面数据流图上的每个图元素标识了威胁。
对于每个威胁,我们识别受到威胁的资产、威胁代理和威胁类型。每个威胁都有一个风险评级,代表了该威胁的影响和可能性。我们还讨论了可能的缓解措施。
我们为TF-A识别了以下资产。
表2 TF-A资产
要了解攻击面,必须识别潜在的攻击者,即攻击入口点。以下威胁代理在此威胁模型的范围内。
表3 威胁代理
注意:在这种威胁模型中,有能力篡改硬件的高级物理攻击者(例如,使用聚焦离子束(FIB)“重新布线”芯片或使用化学物质分解芯片)被认为是超出范围的。
在这个威胁模型中,我们使用STRIDE威胁分析技术对威胁进行分类。在这种技术中,威胁被分类为一种或多种类型:欺骗(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information disclosure)、拒绝服务(Denial of service)或特权提升(Elevation of privilege)。
对于所确定的每一种威胁,根据在未采取缓解措施的情况下发生威胁的可能性以及威胁的影响(即后果可能有多严重),给出从信息到严重的风险评级。表4从评分、影响和可能性的角度解释了每种评级。
表4 应用于影响和可能性的评级和评分
对已识别的威胁进行综合风险评分;具体来说,就是影响分数乘以可能性分数。例如,一个可能性高但影响低的威胁的总风险得分为8 ;也就是说,4表示高可能性,乘以2表示低影响。总风险评分决定了该发现的总体风险水平,如下表所示。
表5 综合风险等级和相应的评分
威胁的可能性和影响取决于TF-A运行的目标环境。例如,需要物理访问的攻击在服务器环境中不太可能发生,而在物联网环境中更常见。在这个威胁模型中,我们考虑了三种目标环境:物理网设备、移动终端和服务器。
通过对数据流图的每个图元素应用STRIDE分析,识别了以下威胁。
对于每一种威胁,我们努力表明当前是否实施了缓解措施。一些缓解措施在通用代码中部分实现,但也依赖于平台代码来实现其中的一部分。这个威胁模型的目标是平台独立的,必须记住,只有在平台代码正确地履行其职责时,这种威胁才会得到缓解。
此外,一些缓解措施需要启用特定的功能,这些功能必须通过构建标志显式地打开。这些在“缓解措施是否实现?”栏体现。