目录
一、简介
二、评估目标
2.1 假定
2.2 数据流图
三、威胁分析
3.1 威胁评估
3.1.1 针对所有固件镜像的一般威胁
3.1.2 引导固件可以缓解的威胁
3.1.3 运行时EL3固件可缓解的威胁
一、简介
本文针对支持Arm Realm Management Extension (RME)、实现Arm Confidential Compute Architecture (Arm CCA)的平台,给出了TF-A固件的威胁模型。
虽然它是一个单独的文档,但它在许多地方引用了通用威胁模型,因为其中一些内容通常适用于具有或不具有Arm CCA支持的TF-A。
二、评估目标
在此威胁模型中,评估的目标是具有RME支持和Arm CCA支持的ARM A系列处理器可信固件(TF-A)。这包括引导ROM (BL1)、可信引导固件(BL2)和运行时EL3固件(BL31)。
2.1 假定
我们做了以下假设:
1)平台上启用了领域管理扩展(RME)。
2)平台支持Arm CCA硬件强制安全(HES),根据Arm CCA安全模型推荐:
[R0004] Arm强烈建议所有CCA实现都使用硬件强制安全(CCA HES)。
3)所有TF-A镜像都是从片上存储器运行的。这些镜像使用的数据也存储在片上存储器中。这意味着TF-A不容易受到可以探测或篡改片外存储器的攻击者的攻击。
以下是Arm CCA安全模型的要求:
[R0147]监视器代码完全从片上存储器执行。
[R0149]除GPT外,任何可能影响CCA安全保证的监视器数据,要么保存在片上存储器中,要么保存在具有额外完整性保护的外部存储器中。
请注意,该威胁模型通过禁止在外部内存中保存数据来强化[R0149]要求,即使数据是完整性保护的——除了GPT数据。
4)TF-A BL1镜像是不可变的,因此隐含可信。它从只读内存或写保护内存运行。例如,这可以是片上ROM、片上OTP、锁定片上闪存或写保护片上RAM。
这是Arm CCA安全模型的要求:
[R0158] Arm建议所有初始引导代码在安全系统上是不可变的。
[R0050]如果所有或部分初始引导代码在片上内存中实例化,则其他可信子系统或应用程序PE无法在执行之前修改该代码。
5)启用可信引导和度量引导。这意味着攻击者无法引导未经平台提供商批准的任意镜像。
以下是Arm CCA安全模型的要求:
[R0048]安全系统只能加载授权的CCA固件。
[R0079]所有通过PE初始引导加载的Monitor固件都按照已验证引导中的概述进行测量和验证。
6)未启用任何实验特性。这些通常是不完整的特性,需要更多的时间来稳定。因此,我们不考虑可能来自他们的威胁。不建议在生产构建中使用这些特性。
2.2 数据流图
图1显示了TF-A的高级数据流程图。该图显示了基于TF-A的系统的不同组件的模型以及它们与TF-A的相互作用。表1给出了每个图元素的描述。在图中,红色虚线表示信任边界。虚线之外的组件被TF-A认为是不可信的。
图元素 | 描述 |
---|---|
DF1 | 请参考通用威胁模型中的DF1描述。此外,TF-A加载领域镜像(realm images)。 |
DF2-DF6 | 参考通用威胁模型中关于DF2-DF6的描述。 |
DF7 | 引导镜像与Arm CCA HES交互,以记录引导测量并检索用于AP镜像身份验证的数据。 运行时固件与Arm CCA HES交互,以获取领域世界的敏感认证数据。 |
DF8 | Realm世界软件(例如TF-RMM)通过SMC调用接口和/或共享内存与TF-A交互。 |
三、威胁分析
在这个威胁模型中,我们使用与通用威胁模型相同的方法来分析威胁。本节仅指出适用的差异。
还有一个额外的威胁代理:RealmCode。它以恶意代码或错误代码的形式运行在realm世界中,包括R-EL2、R-EL1和R-EL0级别。
此时,我们只考虑服务器目标环境。在此威胁模型中识别的新威胁将仅给出此环境的风险等级。其他环境可能会在将来的修订中添加。
3.1 威胁评估
3.1.1 针对所有固件镜像的一般威胁
下表分析了此威胁模型上下文中针对所有固件镜像的一般威胁。只指出了差异部分。
ID | Applicable? | Comments |
---|---|---|
05 | Yes | |
06 | Yes | |
08 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
11 | Yes | 内存管理单元(MMU)的错误配置可能允许普通/安全/领域世界软件访问敏感数据,执行任意代码或访问其他受限的硬件接口。 注意,在RME系统上,MMU配置还包括颗粒保护表(GPT)设置。 附加图表元素:DF4, DF7, DF8。 |
13 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
15 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
3.1.2 引导固件可以缓解的威胁
下表在此威胁模型的上下文中分析了引导固件需要减轻的威胁。只指出了差异部分。
ID | Applicable? | Comments |
---|---|---|
01 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
02 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
03 | Yes | |
04 | Yes |
3.1.3 运行时EL3固件可缓解的威胁
下表分析了运行时EL3固件在此威胁模型上下文中需要缓解的威胁。只指出了差异部分。
ID | Applicable? | Comments |
---|---|---|
07 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
09 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
10 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
12 | Yes | 附加的图表元素:DF8。 附加威胁代理:RealmCode。 |
14 | Yes |