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