安全界一直流传着一个笑话,即英特尔CPU的漏洞比瑞士奶酪上的还多,本月发表的新研究也并不能帮助该公司摆脱这一声誉。马里兰大学、清华大学和北京邮电大学的研究人员最近发表了一篇有趣的论文,详细介绍了英特尔处理器上的一个新的侧通道攻击,与过去暴露的其他漏洞有很大不同。
这个新的缺陷可以作为Meltdown的侧通道来利用,这导致对Core i7-6700、Core i7-7700和Core i9-10980XE等处理器的攻击成功率达到100%。对于那些不熟悉Meltdown的人来说,它是针对现代处理器执行所谓"投机执行"的方式中的一个关键漏洞的一系列漏洞,以便在某些情况下实现适度的性能提升。
虽然Meltdown已经在操作系统、固件和硬件层面得到了大部分缓解,但这个问题太难完全修复,因此一直持续到今天。在这种新的侧通道攻击的情况下,它不依赖于缓存系统,设置不需要重置EFLAGS寄存器,所以研究人员认为它将更难缓解。
EFLAGS寄存器用于描述CPU操作的当前状态,有几个标志被设置为1或0。 研究人员发现他们可以利用英特尔CPU中的这种工作方式,在瞬时执行中EFLAGS寄存器的变化可以使一些"条件代码跳转"(Jcc)指令的执行速度稍慢。
首先,他们将秘密数据编码到EFLAGS寄存器中,然后测量Jcc指令上下文的执行时间来解码上述数据。这个漏洞的根本原因仍然是一个谜,但研究人员怀疑英特尔在其CPU的执行单元中使用了一个缓冲器,每当执行应该撤回时,该缓冲器需要时间来恢复,如果下一条指令取决于上述缓冲器的目标,这反过来可能导致停滞。
好消息是,这种攻击对较新的芯片(英特尔第11代及以上)的效果稍差,黑客需要重复成千上万次才能达到同样的效果。此外,英特尔新的第13代vPro处理器带有更多的安全管理功能,使企业对侧通道攻击有更好的预防和检测能力。
研究人员在他们的论文中指出,有可能缓解他们的瞬时执行定时攻击,但他们并不容易实现,因为他们需要对Jcc指令的工作方式和汇编代码的优化做出重大改变。