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

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

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

 

 

相关文章:

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

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)引发的前瞻执行处理器漏洞 CV…...

docker实现Nginx

文章目录 1.docker 安装2.docker环境实现Nginx 1.docker 安装 1.使用环境为红帽8.1,添加源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.安装 yum install docker-ce docker-ce-cli containerd.io显示出错 Docker C…...

【Java 回忆录】Java全栈开发笔记文档

这里能学到什么? 实战代码文档一比一记录实战问题和解决方案涉及前端、后端、服务器、运维、测试各方面通过各方面的文档与代码,封装一套低代码开发平台直接开腾讯会议,实实在线一起分享技术问题核心以 Spring Boot 作为基础框架进行整合后期…...

数据结构:力扣刷题

题一:旋转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 思路一: 创建reverse()函数传入三个值分别为数组地址,从第几个数组元素开始,结束元素位置; 在r…...

【Java】常用设计模式的理解

设计模式 前言 有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文: 面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步,这就不需要多说了吧。 职责单一原则。每个类都应该只有一…...

python - 爬虫简介

什么是爬虫? 模拟浏览器对网站服务器发送请求解析服务器返回的响应数据,并保存数据 爬虫能获取哪些数据? 原则上所有可以通过浏览器获取的数据都可以爬取爬虫也只能获取爬取浏览器可以正常获取的数据 爬虫的应用场景? 数据分…...

【结构型设计模式】C#设计模式之外观模式

题目描述: 假设你正在开发一个音乐播放器应用程序,该应用程序需要与多个子系统进行交互,包括音频解码、音量控制和播放控制等。请使用外观模式设计一个音乐播放器的外观类,并实现相应的子系统类。 要求: 创建一个外观…...

Linux网络编程 socket编程篇(一) socket编程基础

目录 一、预备知识 1.IP地址 2.端口号 3.网络通信 4.TCP协议简介 5.UDP协议简介 6.网络字节序 二、socket 1.什么是socket(套接字)? 2.为什么要有套接字? 3.套接字的主要类型 拓】网络套接字 三、socket API 1.socket API是什么? 2.为什么…...

【二】SPI IP核的使用

【一】SPI IP核使用:传送门 基于qsys通过spi外部总线协议对sd卡进行读写操作 一、实验平台与实验的目的: ​ 正点原子开拓者、芯片型号:EP4CE10F17C8;还需要一张sd卡。 ​ 该实验主要是利用SPI IP核驱动SD卡来实现读写实验&am…...

面试热题(二叉树的锯齿形层次遍历)

给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行) 输入:root [3,9,20,null,null,15,7] 输出:[[3…...

JVM—内存管理(运行时数据区)、垃圾回收

背景介绍 当JVM类加载器加载完字节码文件之后,会交给执行引擎执行,在执行的过程中会有一块JVM内存区域来存放程序运行过程中的数据,也就是我们图中放的运行时数据区,那这一块运行时数据区究竟帮我们做了哪些工作?我们…...

一百五十一、Kettle——Linux上安装的kettle8.2开启carte服务

一、目的 kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后,准备在Linux上启动kettle的carte服务 二、实施步骤 (一)carte服务文件路径 kettle的Linux运行的carte服务文件是carte.sh (二…...

19. python从入门到精通——Web编程

HTTP协议 HTTP协议的常用方法 方法 描述 GET 请求指定的页面信息,并返回实体主体。 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 …...

PostMan 教程

安装https://www.cnblogs.com/mafly/p/postman.html Postman 使用方法详解https://blog.csdn.net/fxbin123/article/details/80428216 postman进行http接口测试https://blog.csdn.net/five3/article/details/53021084 postman的使用方法详解!最全面的教程https:/…...

Http常见状态码

一、状态码大类 状态码分类说明1xx响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它2xx成功——表示请求已经被成功接收,处理已完成3xx重定向——重定向到其它地方:它让客户端再发起一个…...

C语言之位运算

一、什么是位运算 所谓位运算是指进行二进制位的运算 在系统软件中,常要处理二进位的问题 例如,将一个存储单元中的各二进位左移或右移一位,两个数按位相加等 二、位运算符和位运算 1、按位与 运算符(&) 参加运算的两个数据&#xff…...

c语言进阶部分详解(数据在内存中的存储)

大家好,今天要进行梳理的内容是数据在内存中的存储相关内容。 在C语言中,数据在内存中的存储是一个非常重要的概念。了解数据在内存中的存储方式可以帮助我们更好地理解程序的执行过程,优化内存使用,提高程序的性能。 目录 一.数…...

VIOOVI的ECRS工时分析软件分析:SOP的核心和特征是什么?

制定SOP的主要目的是为企业做技术储备、提供企业的工作效率、防止同样的错误反复出现、让员工作业有标准化的行为准则。以规定的成本、规定的工作时间,生产质量均匀、符合规范的产品。为了能够达到上述要求,如果制造现场的操作混乱,比如制作工…...

无涯教程-Perl - lock函数

描述 此函数将咨询锁放在共享变量或THING中包含的引用对象上,直到该锁超出范围。 lock()是一个"弱关键字":这意味着,如果您在调用该函数之前已通过该名称定义了该函数,则将改为调用该函数。 语法 以下是此函数的简单语法- lock THING返回值 此函数不返回任何值…...

SpringBoot案例-部门管理-前后端联调

前后端联调 教学资料中提供了“前端工程”,将其解压即可使用nginx,启动nginx后,访问:http://localhost:90 小结 开发流程 明确需求、阅读接口文档、思路分析、接口开发(遵循接口文档)接口调试 postman测…...

[具身智能-465]:声学特征与梅尔频谱图

梅尔频谱图(Mel-spectrogram)本质上就是一种最主流、最重要的声学特征。我们可以这样理解它们的关系:“声学特征”是一个广义的类别概念,而“梅尔频谱图”是这个类别下目前应用最广泛的具体形式。为了让更清晰地理解这两个概念及其…...

如何将单张图片智能分解为分层结构:Layerdivider完整指南

如何将单张图片智能分解为分层结构:Layerdivider完整指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 想要将复杂的插画或照片分解为可编辑…...

第15篇:Hooks 自动化:让 Claude Code 在关键节点自动提醒、检查与拦截

一、问题场景 团队在使用 Claude Code 时,经常会遇到一些重复问题: AI 修改了代码,但开发者忘记查看 diff AI 修改后没有运行测试 AI 尝试执行危险命令 AI 修改了不该修改的文件 会话结束时没有输出检查清单 团队希望记录 AI 做过哪些操作这些问题靠人工记忆很容易遗漏。 …...

基于python的人脸识别与智能考勤系统 人脸检测与考勤系统

智能考勤系统(Smart Attendance System)是一个基于Python的项目,它利用人脸识别技术自动化考勤管理。该系统通过摄像头捕捉学生数据,存储人脸编码以及学生详细信息,并通过实时人脸识别来记录考勤。系统还提供了一个使用…...

LFM2-2.6B-GGUF持续集成/持续部署(CI/CD)实践:自动化测试模型更新

LFM2-2.6B-GGUF持续集成/持续部署(CI/CD)实践:自动化测试模型更新 1. 为什么需要CI/CD 在模型开发过程中,我们经常会遇到这样的场景:推理脚本优化了一个小功能,或者模型权重文件更新了版本。传统做法是手…...

VS Code Copilot Next 工作流配置避坑手册,17个官方文档未提及的权限陷阱与Token泄漏风险(含审计清单PDF)

更多请点击: https://intelliparadigm.com 第一章:VS Code Copilot Next 自动化工作流配置全景概览 VS Code Copilot Next 是微软推出的下一代智能编程助手,深度集成于 VS Code 编辑器中,支持上下文感知代码生成、自然语言指令执…...

【后端开发】(真实场景/面试题) 从 1 亿用户表聊起:手机号字段到底该用 varchar、char 还是 bigint?

文章目录前言1 手机号到底是不是“数字”?1.1 为什么不能直接用 int?1.2 bigint 能存,为什么也不推荐?1.3 手机号更像身份证号,而不是年龄2 在 1 亿用户表下,字段类型怎么选?2.1 varchar(11) 够…...

深入WiredTiger引擎:从`tcmalloc`到`cache_overhead`,图解MongoDB内存管理的那些“隐藏”开销

深入WiredTiger引擎:从tcmalloc到cache_overhead,图解MongoDB内存管理的那些“隐藏”开销 当你的MongoDB实例突然因为内存不足而崩溃时,是否曾疑惑过:明明设置了内存限制,为什么实际使用量还是会超标?这背后…...

BlockTheSpot:3分钟实现Spotify无广告畅听的完整解决方案

BlockTheSpot:3分钟实现Spotify无广告畅听的完整解决方案 【免费下载链接】BlockTheSpot Video, audio & banner adblock/skip for Spotify 项目地址: https://gitcode.com/gh_mirrors/bl/BlockTheSpot BlockTheSpot是一款专为Windows平台设计的开源Spot…...

OpenBCI GUI:让脑电信号可视化变得如此简单

OpenBCI GUI:让脑电信号可视化变得如此简单 【免费下载链接】OpenBCI_GUI A cross platform application for the OpenBCI Cyton and Ganglion. Tested on Mac, Windows and Ubuntu/Mint Linux. 项目地址: https://gitcode.com/gh_mirrors/op/OpenBCI_GUI 想…...