研究人员近日发现了一种名为“Inception”(盗梦空间)的新型强大瞬态执行攻击,该攻击可以通过所有AMDZenCPU(包括最新型号)上的非特权进程泄露特权秘密和数据。
瞬态执行攻击利用了所有现代处理器上都具备的“推测执行”功能,该功能通过猜测在较慢的操作完成之前接下来将执行的内容来显著提高CPU的性能。如果猜测正确,CPU执行下一步操作将无需等待,大幅提高性能;如果猜测错误,CPU会回滚更改并使用新结果继续操作。
推测执行的问题在于,它可能会留下攻击者可以观察或分析的痕迹,检索本应受到保护的有价值的数据。
苏黎世联邦理工学院的研究人员将一种名为“幻象推测”(CVE-2022-23825)的旧技术与一种名为“瞬态执行训练”(TTE)的新瞬态执行攻击相结合,创建了一种更强大的“初始”攻击。
幻象推测允许攻击者触发错误预测,而无需在错误预测源处进行任何分支,即在任意XOR指令处创建推测执行周期(“瞬态窗口”)。
TTE是通过将新的预测注入分支预测器来创建可利用的推测执行,进而操纵未来的错误预测。
编号为CVE-2023-20569的“盗梦空间攻击”(Inception)则是一种结合了上述概念的新颖攻击,攻击者可让CPU相信XOR指令(简单的二进制运算)是递归调用指令。
这会导致攻击者控制的目标地址溢出返回堆栈缓冲区,从而从任何AMDZenCPU上运行的非特权进程泄漏任意数据。
研究人员指出:即使用户已经采取了针对已知推测执行攻击(例如Spectre)或瞬态控制流劫持(例如自动IBRS)的所有缓解措施,依然有可能发生泄漏。
此外,“盗梦空间攻击”的数据泄漏率为39字节/秒,窃取16个字符的密码大约只需要半秒,窃取RSA密钥需要6.5秒。
苏黎世联邦理工学院的团队针对“盗梦空间攻击”(Inception)和“幻象攻击”(Phantom)分别发表了技术论文,地址如下:
Inception:https://comsec.ethz.ch/wp-content/files/inception_sec23.pdf
Phantom:https://comsec.ethz.ch/wp-content/files/phantom_micro23.pdf
如何防止“盗梦空间攻击”
研究人员表示,所有基于AMDZen架构的Ryzen和EPYCCPU,从Zen1到Zen4,都容易受到Phantom和Inception的攻击。
特定的TTE变体还可能会影响英特尔的CPU,但由于已经发布的eIBRS缓解措施,“幻象漏洞”(Phantom)很难在Intel上被利用。特定TTE变体影响的CPU型号列表如下:
尽管苏黎世联邦理工学院团队开发的概念验证在Linux环境中运行,但这些攻击应该适用于任何采用AMDzen架构处理器的操作系统,因为这是一个硬件漏洞,而不是软件漏洞。
缓解该问题的策略是在不可信上下文之间切换时完全刷新分支预测器状态:但这会在较旧的Zen1(+)和Zen2CPU上带来93.1%到216.9%的性能开销。
对于Zen3和Zen4CPU,由于缺乏对此缓解策略的足够硬件支持,AMD不久前发布了微代码更新以启用此功能。
建议Zen架构AMD处理器的所有用户安装最新的微代码更新,主流计算机供应商和操作系统提供商也会在安全更新中提供此类更新。例如,微软在2022年7月的更新中发布了Phantom漏洞(CVE-2022-23825)的修复程序。
声明:本文来自GoUpSec,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。