AMD 警告:全新“瞬态调度器攻击”波及广泛 CPU

新闻
2天前

AMD 正在警告一系列影响广泛芯片组的新漏洞,这些问题可能被利用来窃取敏感信息。

这类漏洞统称为瞬态调度器攻击(Transient Scheduler Attacks,简称 TSA),其本质是一种利用 CPU 特定微架构条件下指令执行时间差异而实现的信息侧信道攻击。

amd_副本.jpg

AMD 在安全通告中表示:“在某些情况下,攻击者可能能够利用这些时间信息推断出来自其他上下文的数据,从而导致信息泄露。”

这些问题由微软和苏黎世联邦理工大学(ETH Zurich)的研究人员发现,研究着重测试现代 CPU 在面对 Meltdown 和 Foreshadow 等“推测执行”攻击时的表现,特别是在虚拟机、内核、用户进程等安全隔离领域的脆弱性。

在 2024 年 6 月负责任披露后,漏洞获得了如下 CVE 编号

  • CVE-2024-36350(CVSS 评分:5.6)
    某些 AMD 处理器存在瞬态执行漏洞,可能允许攻击者推测前一次存储操作中的数据,从而造成特权信息泄露。

  • CVE-2024-36357(CVSS 评分:5.6)
    攻击者可借助 L1D 缓存中的数据推测敏感信息,可能跨越权限边界。

  • CVE-2024-36348(CVSS 评分:3.8)
    即使启用了 UMIP(用户模式指令防护),攻击者仍可通过推测执行方式访问控制寄存器,导致信息泄漏。

  • CVE-2024-36349(CVSS 评分:3.8)
    即便系统禁止读取 TSC_AUX 寄存器,攻击者仍可能通过推测方式访问其值,造成泄漏。


TSA:AMD 称之为“新型推测性侧信道攻击”

为应对 TSA,AMD 已为受影响的处理器发布微代码更新。涉及的产品线极广,包括但不限于以下系列:

  • 服务器端处理器

    • 第三代 AMD EPYC

    • 第四代 AMD EPYC

    • AMD Instinct MI300A

    • EPYC Embedded 系列(7003、8004、9004、97X4)

  • 桌面处理器

    • Ryzen 5000/7000/8000 系列

    • Ryzen Threadripper PRO 7000 WX 系列

  • 移动和集成显卡版本

    • Ryzen 6000/7035/7040/8040 系列(含 Radeon Graphics)

    • Ryzen Embedded 5000/7000/V3000 系列


“错误完成”机制带来的风险

AMD 指出,TSA 的核心在于所谓的 “false completion(错误完成)”

当 CPU 预测某次内存读取会快速完成时,依赖该读取的后续操作可能会被提前调度执行。但如果该读取实际上未完成,早期使用的数据就是“无效数据”。

后续流程中虽然读取会被重新执行,依赖操作也会用有效数据重试,但在 错误完成未被检测期间,无效数据可能影响其他指令的执行时间——这就为攻击者提供了“侧信道信号”。

不同于像“预测性存储转发”这种推测行为,错误完成并不会导致整个流水线被刷新。虽然这些无效数据不会更新缓存或 TLB 状态,但仍可能通过执行延迟间接泄露信息。

TSA 的两种变体:TSA-L1 与 TSA-SQ

AMD 指出 TSA 攻击有两种具体变体:

  • TSA-L1:源于 L1 数据缓存中使用微标签(microtags)查找数据的错误方式。

  • TSA-SQ:由加载指令错误地从尚未准备好的 Store Queue(存储队列)中提取数据而触发。

在两种情况下,攻击者均可从 L1 缓存或旧指令中的存储数据中推测敏感信息,即使这些操作发生于不同的权限上下文。

在最坏情况下,攻击可能导致以下严重后果:

  • 内核向用户空间的数据泄漏

  • 虚拟机管理程序(hypervisor)泄露信息至客户虚拟机

  • 用户应用间数据窃取


攻击门槛较高,暂无网站利用风险

AMD 表示,成功实施 TSA 攻击的前提条件较为苛刻:

  • 攻击者必须能够获得目标机器的本地代码执行权限

  • 攻击方和受害者需存在某种通信路径,如应用与操作系统间的交互;

  • 攻击通常需重复调用受害程序以人为制造“错误完成”状态。

因此,TSA 攻击无法通过恶意网站远程触发,目前威胁面仍相对有限。

总结

TSA 表明推测执行攻击仍在演进,虽然短期内风险可控,但 AMD 所覆盖的处理器范围极广。企业和用户应关注相关微代码补丁更新,特别是涉及高敏感数据的场景,如虚拟化环境、数据中心、云平台等。