英特尔
基于格拉茨技术大学(奥地利)研究人员发现的问题
-
ZombieLoad (PDF ) - 允许您从其他进程、操作系统、虚拟机和受保护的飞地(TEE,可信执行环境)中提取机密信息。例如,演示了确定在另一个虚拟机中运行的 Tor 浏览器中打开页面的历史记录的能力,以及确定应用程序中使用的访问密钥和密码的能力;
-
RIDL (PDF ) - 允许英特尔处理器中各个隔离区域之间的信息泄漏,例如填充缓冲区、存储缓冲区和加载端口。显示的攻击示例是为了组织来自其他进程、操作系统、虚拟机和受保护飞地的泄漏。例如,它展示了如何在定期身份验证尝试期间(攻击持续了 24 小时)从 /etc/shadow 中找出 root 密码哈希的内容;此外,还展示了在 SpiderMonkey 引擎中打开恶意页面时使用 JavaScript 和 WebAssembly 进行攻击的示例(在现代成熟的浏览器中,由于计时器精度和防止 Spectre 的措施有限,此类攻击不太可能发生);
-
辐射 (PDF ) - 可以读取操作系统最近写入的数据并确定操作系统内存布局以简化其他攻击; -
存储到泄漏转发 — 利用 CPU 优化来处理存储缓冲区,并可用于绕过内核地址空间随机化机制 (KASLR),以监视操作系统的状态,或用于组织 与基于 Spectre 方法的小工具结合使用进行泄漏。
揭晓
- CVE-2018-12126 - MSBDS(微架构存储缓冲区数据采样),存储缓冲区内容的恢复。用于辐射攻击。危险程度判定为6.5分(CVSS);
- CVE-2018-12127 - MLPDS(微架构加载端口数据采样),加载端口内容的恢复。用于RIDL攻击。 CVSS 6.5;
- CVE-2018-12130 - MFBDS(微架构填充缓冲区数据采样),恢复填充缓冲区内容。用于 ZombieLoad 和 RIDL 攻击。 CVSS 6.5;
- CVE-2019-11091 – MDSUM(微架构数据采样不可缓存内存),不可缓存内存内容的恢复。用于RIDL攻击。 CVSS 3.8。
与恢复缓存内容的方法相比,对微架构结构的侧通道攻击要困难得多,并且需要跟踪和分析大量数据以确定它们与内存中某些地址的连接(本质上,攻击者无法有目的地拦截某些数据) ,但可能需要时间积累泄漏并应用统计方法来重建某些类型的数据)。此外,攻击仅影响与攻击者代码相同的物理 CPU 核心上的数据。
所提出的用于确定微体系结构的内容的方法基于以下事实:这些结构在异常(故障)或加载和存储操作的推测处理期间使用。
在推测执行期间,内部结构的内容被重定向到寄存器或高速缓存进行处理。推测操作不会完成并且结果被丢弃,但是可以使用旁路缓存分析技术来确定重定向的内容。
处理器使用加载端口从内存或 I/O 子系统接收数据,并将接收到的信息提供给 CPU 寄存器。由于实现特性,旧下载操作的数据保留在端口中,直到被新数据覆盖,这使得可以通过操纵异常(故障)和 SSE/AVX/ 来间接确定下载端口中数据的状态。加载超过 512 位数据的 AVX-64 指令。在这种情况下,加载操作推测性地将陈旧数据值从内部结构暴露给依赖操作。以类似的方式,泄漏是通过存储缓冲区组织的,该缓冲区用于加速写入 CPU 缓存并包括地址、值和标志表,以及通过填充缓冲区组织,其中包含以下数据:尚未进入L1缓存(cache-miss),暂时从其他级别的缓存加载。
问题
Linux 内核防范 MDS
4.19.43、4.14.119 和 4.9.176。保护方法
软件包更新已经发布
还修复了阻止虚拟机数据泄漏的问题
来源: opennet.ru