近日,AMD和奥地利格拉茨技术大学的研究人员披露了一个名为“CacheWarp”的新漏洞,对应的追踪编号为“CVE-2023-20592”。受影响的是AMD前三代EPYC服务器处理器,也就是代号Naples、Rome和Milan的产品。
据ComputerBase报道,安全加密虚拟化(SEV)是EPYC系列服务器处理器独有的安全特性,旨在通过使用密钥加密每个虚拟机的内存来提高虚拟机的安全性,但具有讽刺意味的是,正是该安全特性本身使得“CacheWarp”的攻击成为可能。虽然过往安全加密虚拟化技术也曾被利用,不过“CacheWarp”更为麻烦,因为其不需要物理访问主机。
“CacheWarp”漏洞通过使用INVD指令擦除处理器的缓存来触发的,这会使处理器在系统存储器或内存储存过时的数据。然后处理器将从内存中读取数据,并假设是全新的,而实际上不是。读取的关键数据是验证值,该值必须为0才能成功验证。 输入正确的密钥本应是将该值变为0的唯一方法,但事实证明初始值也是 0,这导致了一个很大的安全漏洞出现。
虽然受影响的产品是AMD前三代EPYC服务器处理器,不过只有第三代EPYC服务器处理器才获得修补“CacheWarp”漏洞的新微码。AMD在一份声明中称第一代和第二代EPYC服务器处理器不需要打补丁,原因是“SEV和SEV-ES功能并非用于保护”。另外与许多补丁不同,AMD表示启用新补丁后不会影响性能。