支持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.mzph.cn/news/168454.shtml

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

相关文章

【.NET Core】Task应用详解

【.NET Core】Task应用详解 文章目录 【.NET Core】Task应用详解一、概述二、Task用法应用2.1 通过New实例化Task2.2 通过Factory中StartNew方法2.3 通过Run方法 三、让Task任务按顺序执行四、通过异步Run方法异步执行顺序Task五、创建带有返回值的Task<TResult>六、Task…

Spark SQL 时间格式处理

初始化Spark Sql package pbcp_2023.clear_dataimport org.apache.spark.SparkConf import org.apache.spark.sql.SparkSession import org.apache.spark.sql.functions.{current_date, current_timestamp}object twe_2 {def main(args: Array[String]): Unit {val con new …

认识Linux操作系统

什么是操作系统&#xff1f; 操作系统是一款软硬件资源管理的软件Linux是一款具体的操作系统的品类&#xff08;Linux内核是用C语言写的&#xff09;centos7是一款具体的Linux操作系统 为什么要有操作系统&#xff1f; Linux操作系统 Linux是一种自由和开放源代码的类UNIX操…

Linux时间命令—— 显示时间,日历等

目录 1.date显示时间 1.1 常用的标记列表&#xff1a; 1.2 设定时间&#xff1a; 2.cal显示日历 3.时间戳 1.date显示时间 date 用法&#xff1a;date [OPTION] ... [FORMAT] 1.1 常用的标记列表&#xff1a; %H : 小时 (00..23) %M : 分钟 (00..59) %S : 秒 (00..61…

基于Python的面向对象分类实例Ⅱ

接上一部分继续介绍~ 一、地类矢量转栅格 这一步是为了能让地类值和影像的对象落在同一区域&#xff0c;从而将影像中的分割对象同化为实际地物类别。 train_fn r".\train_data1.shp" train_ds ogr.Open(train_fn) lyr train_ds.GetLayer() driver gdal.GetDrive…

android BSP开发之五(Launcher 其他设定)

1.调整Home screen上Hotseat, Google folder , Play store.在开发过程中&#xff0c;如果要求更改Hotseat和Google folder中的某些APP, 或者这些APP在home screen中的位置&#xff0c;则可以在vendor/partner_gms/apps/GmsSampleIntegration/res_dhs_full/xml/partner_default_…

python之pyqt专栏3-QT Designer

从前面两篇文章python之pyqt专栏1-环境搭建与python之pyqt专栏2-项目文件解析&#xff0c;我们对QT Designer有基础的认识。 QT Designer用来创建UI界面&#xff0c;保存的文件是"xxx.ui"文件&#xff0c;"xxx.ui"可以被pyuic转换为"xxx.py",而&…

Spring AOP:什么是AOP? 为什么要用AOP?如何学习AOP?

文章目录 &#x1f386;前言1.为什么要用 AOP3.如何学习去 AOP?3.1 AOP 的组成切面&#xff08;Aspect&#xff09;连接点&#xff08;Join Point&#xff09;切点&#xff08;Pointcut&#xff09;通知&#xff08;Advice&#xff09; 3. Spring AOP 实现3.1 普通的方式实现 …

Ubuntu20.04安装搜狗输入法

1、安装包下载 搜狗输入法linux-首页搜狗输入法for linux—支持全拼、简拼、模糊音、云输入、皮肤、中英混输https://shurufa.sogou.com/linux点击立即下载&#xff0c;根据自己的硬件选择deb安装包。 2、输入法安装 当第一步完成以后&#xff0c;页面会自动跳转至搜狗的安装…

【opencv】计算机视觉:实时目标追踪

目录 前言 解析 深入探究 前言 目标追踪技术对于民生、社会的发展以及国家军事能力的壮大都具有重要的意义。它不仅仅可以应用到体育赛事当中目标的捕捉&#xff0c;还可以应用到交通上&#xff0c;比如实时监测车辆是否超速等&#xff01;对于国家的军事也具有一定的意义&a…

25 Linux I2C 驱动

一、I2C简介 I2C老朋友了&#xff0c;在单片机里面也学过&#xff0c;现在再复习一下。I2C使用两条线在主控制器和从机之间进行数据通信。一条是 SCL(串行时钟线)&#xff0c;另外一条是 SDA(串行数据线)&#xff0c;这两条数据线需要接上拉电阻&#xff0c;总线空闲的时候 SCL…

docker部署phpIPAM

0说明 IPAM&#xff1a;IP地址管理系统 IP地址管理(IPAM)是指的一种方法IP扫描&#xff0c;IP地址跟踪和管理与网络相关的信息的互联网协议地址空间和IPAM系统。 IPAM软件和IP的工具,管理员可以确保分配IP地址仍然是当前和足够的库存先进的IP工具和IPAM服务。 IPAM简化并自动化…

开源大模型框架llama.cpp使用C++ api开发入门

llama.cpp是一个C编写的轻量级开源类AIGC大模型框架&#xff0c;可以支持在消费级普通设备上本地部署运行大模型&#xff0c;以及作为依赖库集成的到应用程序中提供类GPT的功能。 以下基于llama.cpp的源码利用C api来开发实例demo演示加载本地模型文件并提供GPT文本生成。 项…

管理类联考——数学——汇总篇——知识点突破——代数——函数——记忆

文章目录 整体文字提炼图像绘画 考点记忆/考点汇总——按大纲 本篇思路&#xff1a;根据各方的资料&#xff0c;比如名师的资料&#xff0c;按大纲或者其他方式&#xff0c;收集/汇总考点&#xff0c;即需记忆点&#xff0c;在通过整体的记忆法&#xff0c;比如整体信息很多&am…

中国天然径流量格点数据集CNRD v1.0(1961-2018)

简介 中国天然径流量是指在中国境内自然形成的各种河流、湖泊、水库等水体中自然产生的流量。根据中国水利部的数据,中国天然径流量在年际变化和地区分布上都非常不均衡。北方地区径流量较小,南方地区则较大;而东部沿海地区的水资源较为丰富,而西北干旱地区的水资源则非常…

电源控制系统架构(PCSA)之系统控制处理器组件

目录 6.4 系统控制处理器 6.4.1 SCP组件 SCP处理器Core SCP处理器Core选择 SCP处理器核内存 系统计数器和通用计时器 看门狗 电压调节器控制 时钟控制 系统控制 信息接口 电源策略单元 传感器控制 外设访问 系统访问 6.4 系统控制处理器 系统控制处理器(SCP)是…

基于Python 中创建 Sentinel-2 RGB 合成图像

一、前言 下面的python代码将带您了解如何从原始 Sentinel-2 图像创建 RGB 合成图像的过程。 免费注册后&#xff0c;可以从 Open Access Hub 下载原始图像。 请注意&#xff0c;激活您的帐户可能需要 24 小时&#xff01; 二、准备工作 &#xff08;1&#xff09;导入必要的库…

selenium的基础语法

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️山水速疾来去易&#xff0c;襄樊镇固永难开 ☁️定位页面的元素 参数:抽象类By里…

springboot 开启和关闭kafka消费

关闭kafka自动消费 配置自定义容器工厂 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.kafka.config.C…

【从删库到跑路 | MySQL总结篇】数据库基础(增删改查的基本操作)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 重点放前面&am…