该漏洞是由于英特尔处理器中的内存优化功能造成的。
再次, 英特尔处理器的推测指令执行系统中发现了一个漏洞,这一次,谷歌研究人员宣布,他发现了一个新漏洞(已编入 CVE-2022-40982),称为“垮台”
Downfall,是一个允许确定 XMM、YMM 内容的漏洞 和 ZMM 向量寄存器,以前在同一 CPU 内核上执行 AVX 指令时由其他进程使用。
关于衰落
关于漏洞,提到 无特权的攻击者 能够在系统上运行您自己的代码, 可以利用该漏洞从其他用户进程泄露数据, 系统内核、隔离的 Intel SGX enclave 和虚拟机。
可过滤向量寄存器广泛用于加密、内存复制函数和字符串处理,例如,这些寄存器在 Glibc 库中的 memcpy、strcmp 和 strlen 函数等中使用。 从实际角度来看,该漏洞可被利用来确定其他进程中 AES-NI 或 REP-MOVS 指令(在 memcpy 函数中使用)中正在处理的数据,这可能会泄露加密密钥、敏感数据和用户密码。
英特尔处理器中存在漏洞 支持 AVX2 和 AVX-512 扩展指令集(意味着它影响第 6 代到第 11 代处理器),而基于 Alder Lake、Raptor Lake 和 Sapphire Rapids 微架构的 Intel 处理器似乎不受影响。
与最近发现的影响 AMD Zen2 处理器的 Zenbleed 漏洞一样,在《Downfall》中,该漏洞的原因是日志文件中的数据泄漏,日志文件用于在同一 CPU 核心上的所有应用程序任务之间共享日志内容。
泄漏是由于执行 GATHER 语句时的推测性数据传输造成的,可用于 AVX2 和 AVX-512 扩展,旨在提供对内存中不同数据的快速访问。 在执行 GATHER 语句期间,寄存器文件中的旧数据用于推测执行相关指令。 这些数据不会直接反映在软件日志中,但可以使用专为 Meltdown 攻击设计的旁道攻击技术来确定,例如解析 CPU 缓存中的剩余数据。
为了利用衰落, 开发了一种称为收集数据采样的攻击技术 (GDS),其利用原型已发布,可从另一个用户的进程中提取加密密钥,通过 memcpy 函数将数据复制到 Linux 内核后泄漏数据,并在其他进程工作后拦截向量寄存器中留下的打印字符。 例如,它演示了使用 OpenSSL 库定义用于加密另一个用户进程中的数据的 AES 密钥的能力。
该方法显示出高效率: 通过对 100 个不同的密钥进行实验,确定了 100% 的 AES-128 密钥和 86% 的 AES-256 密钥,每次尝试确定的持续时间不超过 10 秒。 在云系统中,攻击可用于确定其他虚拟机正在处理哪些数据。 该漏洞有可能通过在 Web 浏览器中执行 JavaScript 代码而被利用。
值得一提的是,我ntel去年就发现了这个问题 (正好是八月) 该漏洞直到今年的 BlackHat USA 会议上才被公开。 从版本 6.4.9 6.1.44 到 4.14.321 的各种 Linux 内核更新中已经包含了针对该漏洞的修复程序。
除此之外,在避免 Downfall 漏洞保护对性能产生负面影响的可能措施中,提到了在编译器中进行更改以禁用 GATHER 语句或在 GATHER LFENCE 之后立即添加该语句,这会在所有先前的提交完成之前禁用后续语句的抢先执行。
对于无法进行固件修复的系统,已禁用对所有 AVX 扩展的支持,而对于 Intel 微代码更新部分,它还提供了使用 MSR 接口选择性禁用各个进程上下文中的固件保护的功能。
最后, 如果您有兴趣了解更多有关它的信息,您可以在中查看详细信息 以下链接。