自Spectre安全漏洞影响现代CPU处理器曝光已过六年多,最新研究显示,最新的AMD和Intel处理器仍易受到投机执行攻击。
该攻击由苏黎世联邦理工学院的研究人员Johannes Wikner和Kaveh Razavi披露,旨在破坏x86芯片上的间接分支预测器屏障(IBPB),这是防范投机执行攻击的关键缓解措施。
投机执行是指一种性能优化功能,现代CPU通过预先预测程序将采取的分支,以乱序执行某些指令,从而如果投机使用的值是正确的,则能加速任务完成。
如果导致预测错误,这些被称为瞬态的指令将被声明为无效并丢弃,然后处理器才能用正确的值继续执行。虽然瞬态指令的执行结果不会提交到架构程序状态,但仍有可能通过强制预测错误将它们加载到处理器缓存中,从而暴露给本无法访问它们的恶意对手。
Intel将IBPB描述为“一种间接分支控制机制,它建立了一个屏障,防止在屏障之前执行的软件控制在同一逻辑处理器上屏障之后执行的间接分支的预测目标。”
它用作帮助对抗分支目标注入(BTI),即Spectre v2(CVE-2017-5715),这是一种跨域瞬态执行攻击(TEA),利用处理器使用的间接分支预测器导致披露小工具被投机执行。
披露小工具是指攻击者能够访问受害者本在架构上不可见的秘密,并通过隐蔽通道将其泄露出去的能力。
苏黎世联邦理工学院的最新研究发现,Intel微架构(如Golden Cove和Raptor Cove)中的微代码漏洞可用于绕过IBPB。该攻击被描述为首个实用的“端到端跨进程Spectre泄露”。研究人员表示,该微代码漏洞“保留了分支预测,以便在IBPB本应使其无效后仍能使用它们”。“这种屏障后的投机允许攻击者绕过由进程上下文和虚拟机施加的安全边界。”
研究发现,AMD的IBPB变体也会因Linux内核应用IBPB的方式而被绕过,导致出现一种名为Post-Barrier Inception(PB-Inception)的攻击,它使非特权对手能够泄露AMD Zen 1(+)和Zen 2处理器上的特权内存。
Intel已提供微代码补丁来解决该问题(CVE-2023-38575,CVSS评分:5.5)。AMD方面,根据2022年11月发布的一份咨询,AMD将该漏洞跟踪为CVE-2022-23824。
“Intel用户应确保他们的intel-microcode已更新,”研究人员表示。“AMD用户应确保安装内核更新。”
几个月前,苏黎世联邦理工学院的研究人员详细披露了名为ZenHammer和SpyHammer的新型RowHammer攻击技术,其中后者利用RowHammer以高精度推断DRAM温度。该研究表明:“RowHammer对温度变化非常敏感,即使变化非常小(例如±1°C)。”“随着温度升高,RowHammer引起的位错误率会一致增加(或减少),并且一些易受RowHammer攻击的DRAM单元仅在特定温度下才会出现位错误。”
通过利用RowHammer和温度之间的相关性,攻击者可以识别计算机系统的使用情况并测量环境温度。该攻击还可能通过温度测量来侵犯隐私,从而确定一个人在家中的习惯以及他们进出房间的时间。
“SpyHammer是一种简单而有效的攻击,可以无需修改或事先了解受害者系统即可监视关键系统的温度,”研究人员指出。
“在采用确定且完全安全的RowHammer防御机制之前,SpyHammer可能对系统的安全性和隐私构成潜在威胁,而鉴于RowHammer漏洞随着技术扩展而不断恶化,这是一个巨大的挑战。”