当前位置: 首页 > news >正文

支持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

 

相关文章:

  • 系列九、声明式事务(xml方式)
  • pop链反序列化 [MRCTF2020]Ezpop1
  • 微信小程序便民小工具源码
  • Kotlin学习——kt中的类,数据类 枚举类 密封类,以及对象
  • CAN通信协议
  • 论文导读 | 10月专题内容精选:人的预测
  • 面向对象编程:Rust的面向对象特性
  • 电机应用-直流有刷电机多环控制实现
  • Namecheap怎么样,Namecheap优惠码以及注册手把手教程
  • 4.整数输入,并输出变量类型【2023.11.26】
  • Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/4)
  • 计算机毕业设计 基于Hadoop的物品租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 性能测试必看系列之Jmeter:硬件性能监控指标
  • pycharm 创建的django目录和命令行创建的django再使用pycharm打开的目录对比截图 及相关
  • React入门使用 (官方文档向 Part1)
  • __proto__ 和 prototype的关系
  • canvas 五子棋游戏
  • css系列之关于字体的事
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • HTTP 简介
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • mongodb--安装和初步使用教程
  • PermissionScope Swift4 兼容问题
  • python 装饰器(一)
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • tweak 支持第三方库
  • Vue.js 移动端适配之 vw 解决方案
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • Vue组件定义
  • 初识 webpack
  • 汉诺塔算法
  • 数据结构java版之冒泡排序及优化
  • 为什么要用IPython/Jupyter?
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​一些不规范的GTID使用场景
  • #Z0458. 树的中心2
  • #在 README.md 中生成项目目录结构
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (九)One-Wire总线-DS18B20
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (四)模仿学习-完成后台管理页面查询
  • (一)基于IDEA的JAVA基础10
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Google的Objective-C编码规范
  • (转载)Linux 多线程条件变量同步
  • **PHP二维数组遍历时同时赋值
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Reactor简单使用教程
  • .Net Winform开发笔记(一)