IT之家 4 月 25 日消息,马里兰大学和清华大学的网络安全研究人员以及北京邮电大学的一个实验室发现了一种适用于英特尔 CPU 的侧信道攻击漏洞,有点类似于 Meltdown,可能导致敏感数据泄露。
该团队在 Arxiv.org 上发表的一篇论文中提到,这种攻击利用了瞬态执行中的一个缺陷,“使得通过定时分析从用户内存空间中提取秘密数据成为可能”,瞬态执行中 EFLAGS 寄存器的变化会影响条件码跳转 (JCC) 指令的时序。
IT之家注:这里提到的 FLAGS 寄存器一般被称为“包含 x86 CPU 当前状态的状态寄存器”,而 JCC 是基于 EFLAGS 寄存器内容的“允许条件分支的 CPU 指令”。
简单来说,要想利用这个漏洞实现攻击,首先应该通过 EFLAGS 寄存器触发(包含秘密数据)编码的瞬态执行,然后测量 JCC 指令的执行时间来获取该编码数据的内容。
▲ 攻击概述 图源:arxiv.org上述研究人员已经在多种芯片上测试了这个漏洞,发现它在 i7-6700 和 i7-7700 上“100% 成功”,在 i9-10980XE 上“部分成功”(测试平台基于 Ubuntu 22.04 jammy,Linux 内核版本 5.15.0)。
▲ 用于计时瞬态执行攻击的伪代码 (arxiv.org)研究人员发现,为了在新芯片上获得更高的一致性,攻击需要运行数千次。不过他们目前还不清楚是什么原因导致了这个 Bug。
“在我们的实验中,我们发现 EFLAGS 寄存器对 Jcc 指令执行时间的影响并不像缓存状态那样持久,”研究人员提到,“在瞬态执行后的大约 6-9 个周期内,Jcc 执行时间将不会构建边信道。根据经验,攻击需要重复数千次才能获得更高的准确性。”