英特尔CPU安全漏洞致使攻击者窃取数据
发布日期:2023-05-04      作者:       来源:      分享:

英特尔CPU安全漏洞致使攻击者窃取数据

据 BleepingComputer 4 月 24 日消息,近日在 Arxiv.org 上发表的一篇技术论文揭示了一种针对多代英特尔 CPU 的攻击手法 —— 利用新的侧信道攻击,让数据通过 EFLAGS 寄存器泄露。

这一与众不同的侧信道攻击由清华大学、马里兰大学和中国教育部计算机实验室 (BUPT) 的研究人员共同发现,它不像许多其他侧信道攻击那样依赖缓存系统,而是利用瞬态执行中 EFLAGS 寄存器变化的缺陷,影响 JCC(条件代码跳转)指令的时序,进而通过时序分析从用户内存空间中提取数据。

EFLAGS 寄存器是一个 CPU 寄存器,保存着与处理器状态相关的各种标志,而 JCC 指令是一个 CPU 指令,能允许根据 EFLAGS 寄存器的内容进行条件分支。

攻击分两个阶段进行,第一阶段触发瞬时执行并通过 EFLAGS 寄存器对内部数据进行编码,第二阶段测量 KCC 指令解码数据的执行时间。实验数据表明,该攻击针对 Intel i7-6700 和 Intel i7-7700 实现了 100% 的数据检索(泄漏),并且对更加新型的 Intel i9-10980XE CPU 也取得了一定突破。该项实验是在 Ubuntu 22.04 jammy 上进行,Linux 内核版本为 5.15.0。

攻击概述

用于计时瞬态执行攻击的伪代码

但研究人员指出,这种计时攻击不如缓存状态侧信道方法可靠,并且为了在最新的芯片中获得更高的准确性,这种攻击必须重复数千次。他们承认,攻击的根本原理仍然难以捉摸,并假设英特尔 CPU 的执行单元中有一个缓冲区,如果执行要撤销,需要时间来恢复,如果接下来的指令取决于缓冲区的目标,这个过程会导致停滞。

但研究人员仍然提出了一些重要的缓解措施,例如更改 JCC 指令的执行,使对抗性执行在任何情况下都无法测量,或者在瞬态执行后重写 EFLAGS 以减少其对 JCC 指令的影响。

总体上,该攻击作为 Meltdown 的旁路,Meltdown 是 2018 年发现的一个关键安全漏洞,影响到许多基于 x86 的微处理器。该漏洞能够利用 “预测执行”(speculative execution)的性能优化功能,使攻击者绕过内存隔离机制来访问存储在内核内存中的敏感数据,例如密码、加密密钥和其他私有数据。

虽然目前可以通过软件补丁、微代码更新和新的硬件设计来缓解 Meltdown 漏洞,但仍没有任何解决方案可以 100% 解决问题,此次发现的新型攻击方法甚至仍可能在已打补丁的系统中起作用,这具体取决于硬件、软件和补丁配置。


友情链接:

返回软协官网首页

通讯地址:北京市海淀区海淀南路甲21号中关村知识产权大厦A座2层206、207室     邮政编码:100080

电话:010-62565314 刘莉    京ICP证16064523号-2    版权所有:北京软件和信息服务业协会

技术支持:中科服    内容支持:鑫网安

你知道你的Internet Explorer是过时了吗?

为了得到我们网站最好的体验效果,我们建议您升级到最新版本的Internet Explorer或选择另一个web浏览器.一个列表最流行的web浏览器在下面可以找到.