据德媒 ComputerBase 报道,AMD 和奥地利格拉茨大学的研究人员披露了 AMD EPYC 处理器中一个名为 CacheWarp 或 CVE-2023-20592 的新漏洞,涉及到第一代到第三代的 EPYC 处理器。
这个漏洞利用了 EPYC 处理器中独有的“安全加密虚拟化”(IT之家注:Secure Encrypted Virtualization,简称 SEV)功能,该功能旨在通过对每个虚拟机的内存进行密钥加密的方式,来提高虚拟机的安全性,但这一原本应当使其能够抵御黑客攻击的功能,给了 CacheWarp 可乘之机。
CacheWarp 的触发方式是使用 INVD 指令清除 CPU 的缓存,使 CPU 在系统内存或 RAM 中存储过时的数据,随后 CPU 会从 RAM 中读取数据,并“认为”这些数据是全新的。
据介绍,CPU 读取的关键数据是验证值 —— 其必须为 0 才能成功验证。而验证值为 0 的唯一方法本应当是输入正确的密钥,但这一数值的初始值也是 0,从而导致漏洞出现。
尽管这一漏洞对 EPYC 前三代处理器造成影响,但只有第三代 EPYC 处理器(代号为 Milan)获得了官方提供的微码补丁。AMD 解释称,前两代处理器不需要补丁,并称“对于它们来说,安全加密虚拟化有关功能并非用于保护虚拟机的内存完整性”。