ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)

news/2024/5/18 13:31:52 标签: ATF, TF-A, CVE, 安全通告, Security, Advisory, ARM安全

ATF(TF-A)安全通告汇总

目录

一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)

二、CVE-2022-23960


一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)

Title

TF-A披露通过分支预测目标重用(branch prediction target reuse)引发的前瞻执行处理器漏洞

CVE ID

CVE-2022-23960

Date

08 Mar 2022

Versions Affected

All, up to and including v2.6

Configurations Affected

All

Impact

如果攻击者能够找到一个TF-A原语,它可以被预测为一个有效的分支目标,并以某种方式诱导对该原语的错误预测,那么安全世界数据可能会泄露到非安全世界。目前没有已知的漏洞。

Fix Version

Gerrit topic #spectre_bhb

Credit

阿姆斯特丹自由大学系统和网络安全小组发布的CVE-2022-23960, Arm发布的补丁

        本安全通告描述了当前对TF-A披露的新的前瞻执行处理器漏洞的理解。要了解Arm系统上这些漏洞的背景和更广泛的影响,请参阅Arm Processor Security Update。下面引用的白皮书更详细地描述了Spectre攻击和缓解措施,包括针对所有受影响的Arm cpu的特定实现缓解细节。

二、CVE-2022-23960

        在实现了FEAT_CSV2的易受攻击的CPU上,Arm建议在可能的情况下插入一个具有实现特定迭代次数的循环(loop)解决方案,这样就可以在给定CPU往更高异常级别跳转时,丢弃异常入口的分支历史记录。

        在进入EL3时,在任何分支指令被执行之前,这都要尽早完成。这足以代表所有的安全世界代码减轻Spectre-BHB,假设没有安全世界代码是在攻击者的控制之下。

        下表列出了在TF-A中使用循环解决方案来缓解该漏洞的cpu(所有实现FEAT_CSV2的核心,除了实现FEAT_CSV2的Cortex-A73和Cortex-A75修订版本)。

Core

Cortex-A72(from r1p0)

Cortex-A76

Cortex-A76AE

Cortex-A77

Cortex-A78

Cortex-A78AE

Cortex-A78C

Cortex-X1

Cortex-X2

Cortex-X3

Cortex-A710

Cortex-A715

Cortex-A720

Neoverse-N1

Neoverse-N2

Neoverse-V1

Neoverse-V2

Neoverse-Poseidon

        对于受Spectre-BHB影响的所有其他核心,其中一些没有实现FEAT_CSV2,有些实现了,例如Cortex-A73,建议的缓解措施是通过实现特定的路由flush所有分支预测。

        如果本地解决方案不可用,Rich OS可以调用SMC (SMCCC_ARCH_WORKAROUND_3)来应用解决方案。详情请参阅SMCCC Calling Convention specification。


        这个补丁集(Gerrit topic #spectre_bhb)为上表中提到的cpu实现了Spectre-BHB循环解决方案。对于支持speculative barrier指令的cpu,通过使用SB指令代替常见的DSB和ISB序列来优化循环解决方案。它还缓解了支持CSV2特性的Cortex-A72 CPU版本(从r1p0开始)的此漏洞。补丁还包括一个特定的CVE-2022-23960解决方案SMC(SMCCC_ARCH_WORKAROUND_3)的实现,供非安全世界特权软件使用。关于SMCCC ARCH WORKAROUND 3的详细信息可以在SMCCC Calling Convention specification找到。规范和实现还使非安全世界能够发现该固件服务的存在。此补丁还使用现有的解决方案为Cortex-A57, cortex - a72, Cortex-A73和Cortex-A75实现了SMCCC_ARCH_WORKAROUND_3。对于CVE-2017-5715,Cortex-A15补丁将Spectre V2缓解扩展到Spectre-BHB。

        以上的解决方案是默认启用的(仅在易受攻击的cpu上)。如果平台不需要它们,可以选择在编译时禁用它们。

        怎么禁用呢?

4d8648e69d624df0895d8503137f4dea.png

        有关非arm架构 CPU的更多信息,请联系CPU供应商。

参考:

9.9. Advisory TFV-9 (CVE-2022-23960) — Trusted Firmware-A 2.9.0 documentation

 

 


http://www.niftyadmin.cn/n/4931511.html

相关文章

Exams/ece241 2013 q4

蓄水池问题 S3 S2 S1 例如:000 代表 无水 ,需要使FR3, FR2, FR1 都打开(111) S3 S2 S1 FR3 FR2 FR1 000 111 001 011 011 001 111 000 fr代表水变深为…

面向云思考安全

Gartner最近的一项研究表明,到 2025 年,85% 的企业会采用云战略,虽然这一数字是面向全球的,但可以看到在中国的环境中,基于云所带来的优势,越来越多的企业也同样开始积极向云转型。 但同时,有报…

云原生k8s---资源限制、探针

目录 一:资源限制 1、资源限制原因 2、Pod 和 容器 的资源请求和限制 3、CPU 资源单位 4、内存 资源单位 5、事例 (1)事例一 (2)事例二 二:重启策略 1、重启策略模式 2、事例 三:探针…

Grafana+Prometheus技术文档-进阶使用-监控spring-boot项目

阿丹: 之前已经实现了使用Prometheus来对服务器进行了监控和仪表盘的创建,现在就需要对这些监控方法使用在spring-boot中去。 实现思路: 1、集成Actuator 2、加入Prometheus的依赖 3、配置开放端口、以及开放监控 4、配置Prometheus中的配置…

【Codeforces】 CF1734E Rectangular Congruence

题目链接 CF方向 Luogu方向 题目解法 暂时不考虑 b i b_i bi​ 的限制 考虑构造 a i , j i j a_{i,j}ij ai,j​ij, 那么 a r 1 , c 1 a r 2 , c 2 r 1 c 1 r 2 c 2 , a r 1 , c 2 a r 1 , c 2 r 1 c 2 r 2 c 1 a_{r1,c1}a_{r2,c2}r1c1r2c2,\;a_{r1,c2}…

数据结构初阶--二叉树的链式结构

目录 一.二叉树链式结构的概念 二.二叉树链式结构的功能实现 2.1.链式二叉树的定义 2.2.链式二叉树的构建 2.3.链式二叉树的遍历 2.3.1.先序遍历 2.3.2.中序遍历 2.3.3.后序遍历 2.3.4.层序遍历 2.4.链式二叉树的求二叉树的结点数量 法一:计数法 法二&a…

Harbor内网离线安装使用HTTPS访问

重要提醒:使用的是域名形式访问Harbor。通过https://harbor.top访问网址。 1、首先在自己windows电脑 “此磁盘C->Windows->System32->drivers->etc” 修改hosts文件 添加“ip harbor.top”例如:“172.33.33.33 harbor.top” 2、进入内网服务…

[Mongodb 5.0]单机启动

安装完mongodb后,会自动生成下面两个目录(mongod.conf中设定的),用来存放日志和数据 /var/lib/mongo (数据目录) /var/log/mongodb (日志目录) 要启动一个单机版的mongodb,一般有两种方式: 第一种启动方式:直接使用…