如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题
一群人 中国和美国大学的研究人员发现了一个新的漏洞 在处理器中 英特尔导致信息泄露 基于通过第三方渠道进行的推测操作的结果,例如,可用于在进程之间组织隐藏的通信渠道或检测熔断攻击期间的泄漏。
该漏洞的本质是 EFLAGS 处理器注册表的更改, 由于指令的推测执行而发生的结果会影响 JCC 指令的后续执行时间(满足指定条件时跳转)。
推测操作未完成,结果被丢弃, 但丢弃的 EFLAGS 更改可以通过分析 JCC 指令的执行时间来确定。 推测性地执行预跳转比较操作,如果比较成功,则导致小的延迟,可以测量并用作内容匹配特征。
瞬态执行攻击是一种利用CPU优化技术漏洞的攻击。 新的攻击迅速出现。 侧通道是瞬时执行攻击的关键部分,用于泄露数据。
在这项工作中,我们发现了一个在瞬态执行中更改 EFLAGS 寄存器的漏洞,该漏洞可能对 Intel CPU 上的 Jcc(跳转条件代码)指令产生副作用。 基于我们的发现,我们提出了一种新的侧信道攻击,它利用瞬态执行时间和 Jcc 指令来传递数据。
这种攻击通过更改注册表来加密秘密数据,这会导致执行时间稍微变慢,并且攻击者可以通过测量来解码数据。 这种攻击不依赖于缓存系统。
不同于其他攻击 类似通过第三方渠道, 新方法不分析缓存数据访问时间的变化 并且不缓存,不需要将 EFLAGS 记录重置为初始状态的步骤,这使得检测和阻止攻击变得困难。
演示,研究人员实施了 Meltdown 攻击的变体,其中使用了一种新方法来获取有关推测操作结果的信息。 Meltdown攻击组织信息泄露方法的运行 已在配备 Intel Core i7-6700 和 i7-7700 CPU 的系统上成功演示 在具有 Ubuntu 22.04 内核和 Linux 5.15 的环境中。 在配备英特尔 i9-10980XE CPU 的系统上,攻击仅部分成功。
Meltdown漏洞是基于这样一个事实,即在指令的推测执行过程中,处理器可以访问私有数据区域,然后丢弃结果,因为设置的权限禁止用户进程进行此类访问。
在程序中,推测执行的块通过条件跳转与主代码分开,在实际条件下总是会触发该跳转,但由于条件语句使用处理器在抢占代码期间不知道的计算值. 执行,所有分支选项都被推测执行。
在经典的 Meltdown 中,由于相同的缓存用于推测执行的操作和正常执行的指令,因此在推测执行期间可以在缓存中设置标记以反映封闭内存区域中各个位的内容,然后在正常执行中通过分析缓存和未缓存数据的访问时间来确定其含义的代码。
新变体使用 EFLAGS 注册表中的更改 作为泄漏的标志。 在 Covert Channel 演示中,一个进程调制发送的数据以更改 EFLAGS 记录的内容,另一个进程解析 JCC 运行时中的更改以重新创建第一个进程发送的数据。
最后,如果您有兴趣了解更多,可以咨询 以下链接中提供了详细信息。
成为第一个发表评论