“崩溃”漏洞会影响英特尔 CPU 的使用寿命,可能会泄露加密密钥等

对于 CPU 安全漏洞来说,本周是重要的一周。昨天,不同的安全研究人员发布了两个不同漏洞的详细信息,一个影响多代英特尔处理器,另一个影响最新的 AMD CPU。“ Downfall ”和“ Inception ”(分别)是不同的错误,但都涉及现代处理器对推测执行的广泛使用(就像最初的Meltdown 和 Spectre bug),两者都被描述为“中等”严重性,并且都可以通过操作系统级微代码更新或包含修复程序的固件更新进行修补。
AMD 和英特尔都已经发布了操作系统级微代码软件更新来解决这两个问题。两家公司还表示,他们不知道这两个漏洞有任何活跃的野外利用情况。消费者、工作站和服务器 CPU 都会受到影响,因此修补对于服务器管理员来说尤为重要。
在 Intel 和 AMD 提供固件更新后,您的 PC、服务器或主板制造商将负责发布带有修复程序的固件更新。
英特尔的没落
我们将首先讨论崩溃错误,因为它影响更广泛的处理器。
Downfall 错误也称为CVE-2022-40982 ,它利用了“Gather”指令中的一个缺陷,该缺陷影响了 Intel CPU 从系统内存中多个位置获取信息的功能。谷歌安全研究员 Daniel Moghimi表示,该漏洞会导致 CPU“无意中向软件泄露内部硬件寄存器”,从而“允许不受信任的软件访问其他程序存储的数据”。Moghimi 的概念验证表明 Downfall 被用来窃取给定服务器上其他用户的加密密钥以及其他类型的数据。
对于使用英特尔软件防护扩展 (SGX) 内存加密的系统,必须通过固件加载英特尔的微码修复;对于没有 SGX 的系统,可以通过固件或操作系统级别加载新的微代码修复。
Moghimi 发布了白皮书 ( PDF ) 以及Downfall 网站(及其 DALL-E 2 生成的徽标)。他说他大约一年前向英特尔披露了这个错误,并将 Downfall 描述为之前的推测执行错误(如Meltdown和 Fallout)的“继承者”。
根据英特尔的支持页面(此处为Downfall bug,此处列出了英特尔 CPU 系列中多个 CVE 的状态),Downfall 影响所有基于 Skylake、Kaby Lake、Whiskey Lake、Ice Lake、Comet Lake、Coffee 的处理器Lake、Rocket Lake 和 Tiger Lake 架构以及其他一些架构。
对于那些无法保持理智的人来说,这意味着适用于消费类 PC 的英特尔第 6 代至第 11 代酷睿系列中的大多数 CPU 均于 2015 年开始销售,并且在今天的一些新系统中仍然可用。崩溃还会影响至强服务器和工作站处理器以及基于这些相同架构的任何奔腾和赛扬处理器。
不受影响的是英特尔较新的第 12 代和第 13 代 CPU 架构(又名 Alder Lake 和 Raptor Lake)、Atom、Pentium 和 Celeron 系列中的低端 CPU(Apollo Lake、Jasper Lake、Gemini Lake 等),或Haswell 和 Broadwell 等较旧的 CPU 架构(目前仅在服务器中得到官方支持,但也用于消费类 PC 的第四代和第五代 Core CPU)。
英特尔表示,针对崩溃的缓解措施可能会将依赖 Gather 指令的工作负载的性能降低多达 50%。有一个“选择退出机制”可以禁用修复程序以恢复全速,但 Moghimi 不建议使用它。
AMD 的成立
如果 Downfall 是 Meltdown 的衍生版本,那么 Inception(也称为CVE-2023-20569)就是 Spectre bug 衍生的侧通道漏洞。它实际上是一种攻击的组合,一种是让 CPU 认为它执行了错误预测,另一种是使用“幻影推测”触发器来“操纵未来的错误预测”。更多详细信息请参阅白皮书 ( PDF )。
根据苏黎世联邦理工学院 COMSEC 小组的安全研究人员的说法,最终结果是在受影响的 Ryzen、Threadripper 和 EPYC CPU 上“泄露任意数据”的漏洞。该组织发布了一个概念验证视频,其中他们导致使用 AMD 最新 Zen 4 架构的 CPU 泄露系统的 root 密码。
为了在一定程度上降低风险,AMD“认为此漏洞只能在本地利用,例如通过下载的恶意软件。”
COMSEC 表示该错误会影响“所有 AMD Zen CPU”,但 AMD 本身表示,只有使用基于 Zen 3 或 Zen 4 的 CPU 内核的处理器才需要进行 Inception 修复。这包括 Ryzen 5000 和 7000 系列台式机 CPU、部分 Ryzen 5000 和 7000 系列笔记本电脑 CPU、所有 Ryzen 6000 系列笔记本电脑 GPU、Threadripper Pro 5000WX 工作站 CPU 以及第三代和第四代 EPYC 服务器 CPU。这些芯片的一些 AGESA 固件更新现已推出,其他固件更新应该从现在到 2023 年 12 月之间的某个时间推出,同时操作系统级微代码更新也将推出。
如果您确实拥有较旧的 AMD 处理器,那么基于 Zen 2 的 Ryzen 芯片在上个月确实以“ Zenbleed ”的形式出现了自己的推测执行漏洞。
在特定情况下,该漏洞还可用于获取加密密钥和其他用户信息。与 Inception 一样,操作系统级微代码修复已经可用,但 AMD 可能同样需要几个月的时间才能发布包含修复程序的新固件版本。
相关文章:
“崩溃”漏洞会影响英特尔 CPU 的使用寿命,可能会泄露加密密钥等
对于 CPU 安全漏洞来说,本周是重要的一周。昨天,不同的安全研究人员发布了两个不同漏洞的详细信息,一个影响多代英特尔处理器,另一个影响最新的 AMD CPU。“ Downfall ”和“ Inception ”(分别)是不同的错…...
17.电话号码的字母组合(回溯)
目录 一、题目 二、代码 一、题目 17. 电话号码的字母组合 - 力扣(LeetCode) 二、代码 class Solution {const char*data[10]{"","","abc","def","ghi","jkl","mno","pq…...
Redis小例子
MAC电脑下Redis的安装: brew install redis下面给一个Java操作redis的小例子 import redis.clients.jedis.Jedis;public class Demo {public static void main(String[] args) {// 创建 Jedis 客户端实例,连接到本地 Redis 服务器,默认端口…...
ETLCloud+MaxCompute实现云数据仓库的高效实时同步
MaxCompute介绍 MaxCompute是适用于数据分析场景的企业级SaaS(Software as a Service)模式云数据仓库,以Serverless架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用…...
HTTP代理授权方式介绍
在网络爬虫过程中,我们经常需要使用HTTP代理来实现IP隐藏、突破限制或提高抓取效率。而为了确保代理的正常使用,并避免被滥用,代理服务商通常会采用授权方式。在本文中,我们将介绍几种常见的HTTP代理授权方式,以帮助你…...
《合成孔径雷达成像算法与实现》Figure3.4
代码对补零信号与未补零信号都进行了实现,补零信号更加贴近书中图3.4的样子: clc clear all close all%参数设置 TBP 100; %时间带宽积 T 10e-6; %脉冲持续时间 alpha_os [1.4,1.2,1.0,0…...
qt5.15.2 使用mysql8.1
报错: QMYSQL driver not loaded 报错:无 QMYSQL 使用 QStringList drivers QSqlDatabase::drivers(); //获取现在可用的数据库驱动 foreach(QString driver, drivers) qDebug() << driver; “QSQLITE” “QMARIADB” “QMYSQL” “QMYSQL3” “…...
广州华锐互动:VR3D课程在线教育平台为职业院校提供沉浸式的虚拟现实学习体验
随着科技的飞速发展,虚拟现实(VR)和增强现实(AR)技术已经逐渐渗透到我们生活的各个领域。其中,VR3D课程在线教育平台作为一种新兴的教育方式,正在逐渐改变我们的学习方式和体验。本文将详细介绍VR3D课程在线教育平台的应用前景及特点。 VR3D课…...
clion run qt 问题汇总
一、Error copying file “D:/soft/QT/5.15.2/mingw81_64/bin/Qt5Cored.dll” to “D:/work/Ccode/qtproject/cmake-build-debug-qtmingw”.报错 查看路径下确实没有Qt5Cored.dll,只有Qt5Core.dll 注释掉cmakelist中的这三行 重新执行后成功 二、使用CLion编辑u…...
深入理解spring面经
1 了解SpringMVC的处理流程吗? 用户发送请求至前端控制器DispatcherServlet。DispatcherServlet通过处理器映射器HandlerMapping找到对应的处理器。DispatcherServlet将请求提交给对应的处理器Controller。Controller处理完请求后返回ModelAndView。DispatcherServ…...
2023年,App运行小游戏,可以玩出什么创意?
疫情过后,一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入:2022年,移动游戏收入达到920亿美元,同比下降6.4%。这告诉我们,2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升,移动游戏市…...
景嘉微电子2021笔试题
笔试时间:2020.10.11。 岗位:嵌入式软件开发工程师。 题型:60分钟,45道题,时间紧任务重。 选择题25道,判断题12道,填空题5道,编程题3道。 长沙景嘉微电子,在长沙找嵌入式工作,景嘉微的薪资是top级别的。并且公司有很多开发平台,都可以去应聘试试。 选择题 1、求…...
selenium官网文档阅读总结(day 4)
1.selenium的工作原理 selenium的工作原理涉及以下主要组件和步骤: (1)WebDriver:这是selenium的核心组件,它是一个用于控制浏览器的API。WebDriver提供了许多方法,用于在浏览器中模拟用户操作。不同的浏览器需要相应…...
15.4 【Linux】可唤醒停机期间的工作任务
15.4.1 什么是 anacron anacron 并不是用来取代 crontab 的,anacron 存在的目的就在于我们上头提到的,在处理非24 小时一直启动的 Linux 系统的 crontab 的执行! 以及因为某些原因导致的超过时间而没有被执行的调度工作。 其实 anacron 也是…...
[FPGA开发]解决正点原子Xilinx下载器无法下载、灯不亮的问题
问题描述 使用正点原子的Xilinx下载器下载时,电脑无法识别下载器,Vivado无法识别开发版。 问题解决 1.检查XIlinx下载器的灯是否亮起。 亮灯说明解决方法红灯亮起下载器可以连接到PC检查开发版是否供电正常蓝灯亮起下载器可以连接到PC,下…...
DP(区间DP)
石子合并 设有 N 堆石子排成一排,其编号为 1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆…...
MySQL5.7保姆级安装教程
环境 Linux版本Mysql版本(待安装)CentOS 75.7 1、配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ 目前MySQL官网下载的MySQL源安装后yum下载的MySQL是8.0版本,为了非必要的麻烦,直接提供MySQL5.7的…...
Linux:getopts解析命令行选项和参数
一.背景 当自己编写多个shell脚本进行嵌套调用时,会涉及到传参数问题,此时可以通过getopts设置参数输入与变量赋值. 二.用法 当使用 getopts 命令来解析命令行选项和参数时,你需要在脚本中创建一个循环,循环中使用 getopts 命令来获取每个选项及其参数…...
c语言——三子棋
基本框架 三个文件: 其中.cpp文件用于游戏具体函数设计,.h文件为游戏的函数声明,test.cpp文件用于测试游戏运行。 需要用到的头文件: #include <stdio.h> #include <stdlib.h>//rand&srand #include <time.h>//时间相…...
Android 广播阻塞、延迟问题分析方法
一、问题 最近遇到一个问题,发送广播(普通广播)给另一个应用,但是广播需要要等约1min后才收到。 二、分析原因 原因是系统有个广播接收器在接收到广播后处理了接近50s,所以阻塞了后面的广播处理。如果大家也出现了广…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
【Vue】scoped+组件通信+props校验
【scoped作用及原理】 【作用】 默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题 故而可以给组件加上scoped 属性, 令样式只作用于当前组件的标签 作用:防止不同vue组件样式污染 【原理】 给组件加上scoped 属性后…...
项目研究:使用 LangGraph 构建智能客服代理
概述 本教程展示了如何使用 LangGraph 构建一个智能客服代理。LangGraph 是一个强大的工具,可用于构建复杂的语言模型工作流。该代理可以自动分类用户问题、分析情绪,并根据需要生成回应或升级处理。 背景动机 在当今节奏飞快的商业环境中,…...
