支持Arm CCA的TF-A威胁模型

目录

一、简介

二、评估目标

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认为是不可信的。 

7336005b07e245c28f944522f46d083d.png

图元素

描述

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。
其他威胁代理:SecCode, RealmCode。

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/216813.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

位图的详细讲解

位运算操作符:或,与,异或,按位取反。 操作符 |两个中有一个是一则为一&两个都是一则为一^相同为零,不同为一~零变成一,一变成零 什么是位运算符: 位运算是直接对整型数据的二进制进行运算。 位图概念…

一、TIDB基础

TIDB整个逻辑架构跟MYSQL类似,如下: TIDB集群:相当于MYSQL的数据库服务器,区别是MYSQL数据库服务器为单进程的,TIDB集群为分布式多进程的。 数据库:同MYSQL数据库,数据库属于集群,…

【LeetCode:1457. 二叉树中的伪回文路径 | 二叉树 + DFS +回文数】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

告别百度网盘,搭建自己的专属网盘 ——Cloudreve,不限制下载速度!

Cloudreve 是一个用 Go 语言写的公有网盘程序,我们可以用它来快速搭建起自己的网盘服务,公有云 / 私有云都可。 顺哥博客 先来看看文档介绍吧。 支持多家云存储驱动的公有云文件系统. 演示站 • 讨论社区 • 文档 • 下载 • Telegram 群组 • 许可证 :sparkles: 特性 :cl…

​3ds Max插件CG MAGIC图形板块为您提升线条效率!

​通过3ds Max软件进行绘图操作时,大多绊住各位设计师们作图速度的往往都是一些细微的琐事,重复一变一变的调整修改等问题。 今天说到这个绘图线条来回调整解决方法就是3ds Max插件CG MAGIC。 Max插件CG MAGIC作为一款智能化的辅助插件,致力于…

MySQL-04-InnoDB存储引擎锁和加锁分析

Latch一般称为闩锁(轻量级锁),因为其要求锁定的时间必须非常短。在InnoDB存储引擎中,latch又分为mutex(互斥量)和rwlock(读写锁)。 Lock的对象是事务,用来锁定的是…

分块矩阵知识点整理:

1.分块方法:横竖线不能拐弯,思想为将矩阵分块看作向量计算 2.标准型 不一定是方的 特殊性:经过分块后会出现单位矩阵和0矩阵 3.分块矩阵的运算: 1.加减乘的运算与向量运算相同 4.分块矩阵求转置: 1.将子块看作普通元素求转置 2…

NX二次开发UF_CURVE_ask_combine_curves 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_combine_curves Defined in: uf_curve.h int UF_CURVE_ask_combine_curves(tag_t combine_curve_feature, tag_t * first_curve_tag, UF_CURVE_combine_curves_directi…

C语言--每日选择题--Day25

第一题 1. 对于C/C语言的函数,下列叙述中正确的是( ) A:函数的定义不能嵌套,但函数调用可以嵌套 B:函数的定义可以嵌套,但函数调用不能嵌套 C:函数的定义和调用都不能嵌套 D&#xf…

鸿蒙开发-ArkTS 语言-循环渲染

鸿蒙开发-ArkTS 语言-状态管理 4. 渲染控制 对于 UI 渲染,可以基于数据结构选择一些内置方法(例如:ForEach)快速渲染 UI 结构。 4.1 if-else条件渲染 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使…

案例024:基于微信小程序的汽车保养系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Robust taboo search for the quadratic assignment problem-二次分配问题的鲁棒禁忌搜索

文章目录 摘要关键字结论研究背景1. Introduction 常用基础理论知识2. The quadratic assignment problem3. Taboo search3.1. Moves3.2 Taboo list3.3. Aspiration function3.4. Taboo list size4. Random problems5. Parallel taboo search 研究内容、成果7. Conclusion 潜在…