中国安全研究人员发现部分英特尔CPU存在严重网络安全风险

IT之家4月25日消息 马里兰大学和清华大学的网络安全研究人员以及中国教育部 (BUPT) 的一个实验室发现了一种适用于英特尔 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 内核版本 515.0)。

▲ 用于计时瞬态执行攻击的伪代码 (arxiv.org)

研究人员发现,为了在新芯片上获得更高的一致性,攻击需要运行数千次。不过他们目前还不清楚是什么原因导致了这个 Bug。

“在我们的实验中,我们发现 EFLAGS 寄存器对 Jcc 指令执行时间的影响并不像缓存状态那样持久,”研究人员提到,“在瞬态执行后的大约 6-9 个周期内,Jcc 执行时间将不会构建边信道。根据经验,攻击需要重复数千次才能获得更高的准确性。”