国内学者发现针对Intel CPU的新型侧信道攻击。
4月21日,北京邮电大学、清华大学、美国马里兰大学的研究人员在arxiv上上传了其合作的论文,称发现了一种新型侧信道攻击,影响多代Intel CPU,攻击者利用该侧信道攻击可以从EFLAGS寄存器窃取数据。
与其他侧信道攻击利用缓存系统不同,该侧信道攻击利用了瞬态执行的一个漏洞,影响JCC指令的时序,使得可以通过时序分析从用户内存空间提取出秘密数据。
EFLAGS寄存器是一个CPU寄存器,保存了与处理器状态相关的状态。JCC指令是一种CPU指令,允许根据EFLAGS寄存器的内容进行条件跳转。
攻击分为2个阶段,第一个阶段是触发瞬态执行并通过EFLAGS寄存器编码秘密数据,第二个阶段是度量KCC指令的执行时间来解码数据。
图 瞬态执行时序攻击伪代码
研究人员在Ubuntu 22.04 jammy系统上做了测试,Linux kernel版本为5.1.5.0。实验表明该攻击在Intel i7-6700和Intel 7-7700CPU上可以实现100%的数据窃取,但在Intel i9-10980XE CPU上的成功率不到100%。
研究人员指出,时序攻击并没有缓存状态侧信道攻击一样稳定可靠,要在一些最新版本的芯片上获得好的实验效果,一般需要重复上千次(轮)攻击。
文章最后,研究人员还提出了一些修复措施,比如更改JCC指令的实现使得对抗执行在一些条件下无法执行,或在瞬态执行后覆写EFLAGS以减少对JCC指令的影响。
论文下载地址:https://arxiv.org/pdf/2304.10877.pdf
参考及来源:https://www.bleepingcomputer.com/news/security/intel-cpus-vulnerable-to-new-transient-execution-side-channel-attack/