AMD CPU虚拟化曝高危漏洞,通过CacheWarp攻击对VM提权

Cachewarp攻击:AMD SEV中的新漏洞公开了加密VM

一组学者披露了针对 AMD CPU中安全加密虚拟化 ( SEV ) 技术的新型软件故障攻击,攻击者可能会利用该攻击渗透加密虚拟机 (VM),甚至执行权限升级。

根据中国网络安全行业门户极牛网(GeekNB.com)的梳理,安全研究人员将此次攻击的代号命名为CacheWarp (CVE-2023-20592)。它会影响支持所有 SEV 变体的 AMD CPU。

在这项研究中,我们根据之前针对英特尔 TEE 的攻击经验,专门研究了 AMD 最新的 TEE AMD SEV-SNP,安全研究人员发现 INVD 指令刷新处理器的缓存内容可能会在 AMD SEV 的威胁模型下被滥用。

SEV 是AMD-V 架构的扩展,于 2016 年推出,旨在通过使用唯一密钥加密 VM 的内存内容来将 VM 与虚拟机管理程序隔离。

简而言之,这个想法是为了防止虚拟机管理程序(即虚拟机监视器)可能是恶意的,因此默认情况下不可信。

SEV-SNP 结合了安全嵌套分页 (SNP),增加了强大的内存完整性保护,有助于防止基于虚拟机管理程序的恶意攻击,例如数据重放、内存重新映射等,以便创建一个隔离的执行环境。

CacheWarp 可以突破完整性保护并在目标虚拟机中实现权限升级和远程代码执行。指令 INVD 删除缓存中所有修改的内容,而不将它们写回内存。因此,攻击者可以删除来​​宾虚拟机的任何写入,并且虚拟机继续使用架构上陈旧的数据。

对于时间扭曲,我们可以重置计算机已记忆的内容作为下一步。这使得计算机执行之前执行过的代码,因为它从内存中读取了过时的所谓返回地址。计算机就这样回到了过去。然而,旧代码是用新数据(另一个函数的返回值)执行的,这会导致意想不到的效果。我们使用这种方法绕过OpenSSH身份验证,在不知道密码的情况下登录。

另一种方法称为 Dropforge,允许攻击者重置来宾虚拟机对数据所做的更改。通过一次或多次丢弃,攻击者可以以可利用的方式操纵来宾执行的逻辑流程。以“sudo”二进制文件为例,返回值存储在内存(堆栈)中,以便攻击者可以将其重置为初始值。然而,初始值“0”赋予我们管理员权限,即使我们不是。通过这种组合,我们可以无限制地访问虚拟机。

成功利用该架构错误可能会允许攻击者通过恢复到之前的状态来劫持程序的控制流,并夺取虚拟机的控制权。AMD 此后发布了微代码更新来修复“指令滥用”问题。

谷歌零号项目和谷歌云安全团队去年审核了AMD TEE (SEV-SNP) 的最新版本。AMD 还声称 SEV-SNP 可以防止对完整性的所有攻击。然而,我们的攻击破坏了它的完整性。

 

AMD CPU虚拟化曝高危漏洞,通过CacheWarp攻击对VM提权

极牛网精选文章《AMD CPU虚拟化曝高危漏洞,通过CacheWarp攻击对VM提权》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/26433.html

(30)
打赏 微信公众号 微信公众号 微信小程序 微信小程序
主编的头像主编认证作者
上一篇 2023年11月11日 上午11:00
下一篇 2023年11月15日 上午11:57

相关推荐

发表回复

登录后才能评论
扫码关注
扫码关注
分享本页
返回顶部