针对英特尔处理器的 Zombieload 攻击的新变种已被识别

格拉茨技术大学(奥地利)的研究人员 裸露 有关通过第三方渠道进行新攻击方法的信息 僵尸负载 2.0 (CVE-2019-11135),它允许您从其他进程、操作系统、虚拟机和受保护的飞地(TEE,可信执行环境)中提取机密信息。 该问题仅影响英特尔处理器。 阻止问题的组件 建议的 在昨天 微码更新.

该问题属于MDS(微架构数据采样)类,是一个现代化版本 发表 2.0 月 ZombieLoad 攻击。 ZombieLoad XNUMX与其他MDS攻击一样,依赖于对微架构结构中的数据应用侧通道分析技术(例如,Line Fill Buffer和Store Buffer),这些微架构结构临时存储过程中使用的数据(执行Load和Store操作) 。

新的 Zombieload 攻击变体 是基于 关于异步操作中断机制(TAA、TSX 异步中止)运行期间发生的泄漏,该机制在 TSX(事务同步扩展)扩展中实现,该扩展提供了用于处理事务内存的工具,从而可以提高通过动态消除不必要的同步操作(支持可以接受或中止的原子事务)来实现多线程应用程序。 如果中断,则在事务内存区域上执行的操作将回滚。

事务中止是异步发生的,此时其他线程可以访问缓存,该缓存也用于丢弃的事务内存区域。 在异步事务中止从开始到实际完成的时间内,可能会出现这样的情况:处理器在操作的推测执行期间可以从内部微架构缓冲区读取数据并将其传输到推测操作。 然后,将检测到冲突并丢弃推测操作,但数据将保留在高速缓存中,并且可以使用旁路高速缓存恢复技术来检索。

该攻击归结为打开 TSX 事务并为其异步中断创建条件,在此期间,会出现泄漏内部缓冲区内容的条件,这些缓冲区推测填充有来自同一 CPU 内核上执行的内存读取操作的数据。 泄漏仅限于当前物理CPU核心(攻击者代码正在其上运行),但由于微架构缓冲区在超线程模式下的不同线程之间共享,因此有可能泄漏在其他CPU线程中执行的内存操作。

攻击 服从 第八代、第九代和第十代英特尔酷睿处理器的部分型号,以及英特尔奔腾金牌、英特尔赛扬 5000、英特尔至强 E、英特尔至强 W 和第二代英特尔至强可扩展处理器。 2.0 月份推出的基于 Cascade Lake 微架构的新型英特尔处理器最初不易受到 RIDL 和 Fallout 攻击,现在也容易受到攻击。 除了 Zombieload XNUMX 之外,研究人员还发现了绕过先前提出的防止 MDS 攻击的方法的可能性,即在从内核返回到用户空间或将控制权转移到用户空间时,使用 VERW 指令清除微架构缓冲区的内容。访客系统。

英特尔报告指出,在具有异构负载的系统中,执行攻击的能力很困难,因为微架构结构的泄漏涵盖了系统中的所有活动,并且攻击者无法影响提取的数据的来源,即只能积累由于泄漏而出现的信息,并尝试识别这些数据中的有用信息,而无法有目的地拦截与特定内存地址相关的数据。 然而,研究人员发表 开发原型,在 Linux 和 Windows 上运行,并演示了使用攻击来确定 root 用户的密码哈希的能力。
也许 从客户系统发起攻击,以积累其他客户系统、主机环境、虚拟机管理程序和 Intel SGX enclave 操作中出现的数据。

修复以阻止漏洞 包括 进入 Linux 内核代码库并包含在版本中 5.3.11、4.19.84、4.14.154、4.9.201 和 4.4.201。 主要发行版的内核和微代码更新也已发布(Debian, SUSE/开放SUSE, Ubuntu, RHEL, Fedora, FreeBSD的)。 该问题于四月份被发现,英特尔与操作系统开发商协调修复。

阻止 Zombieload 2.0 的最简单方法是禁用 CPU 中的 TSX 支持。 针对 Linux 内核的拟议修复包括多个保护选项。 第一个选项提供“tsx=on/off/auto”参数来控制是否在 CPU 上启用 TSX 扩展(自动值仅对易受攻击的 CPU 禁用 TSX)。 第二个保护选项由“tsx_async_abort=off/full/full,nosmt”参数启用,并且基于在上下文切换期间清除微架构缓冲区(nosmt 标志另外禁用 SMT/超线程)。 为了检查系统是否容易受到漏洞的影响,sysfs 提供了“/sys/devices/system/cpu/vulnerability/tsx_async_abort”参数。

此外,该 更新 微码 被淘汰 多一个 漏洞 (CVE-2018-12207)在英特尔处理器中,这在最新的处理器中也被阻止 更新 Linux 内核。 漏洞 它允许 无特权的攻击者发起拒绝服务,导致系统挂起在“机器检查错误”状态。
攻击包括 可能会犯 来自访客系统。

来源: opennet.ru

添加评论