AMD 从消费者 Ryzen CPU 中移除内存加密,未作任何通知

AMD 在未通知用户的情况下从消费者 Ryzen CPU 中移除了内存加密

AMD 最近的 AGESA 固件更新在许多消费级 Ryzen 处理器上禁用了安全内存加密(SME)功能,这意味着之前受益于硬件级 RAM 保护的系统现在可能在没有任何厂商提示的情况下变得脆弱。


变更内容:最新 AGESA 中取消了 SME 支持

  • 随主板 BIOS 一同发布的 AGESA(AMD Generic Encapsulated Software Architecture)固件现在在一系列 Ryzen 5000 及更高型号的桌面 CPU 上报告 SME 不可用。
  • 该变更未在发行说明中记录,AMD 也没有任何公开声明承认此移除。
  • 仍然保留 SME 的旧版 BIOS 仍可正常工作,但更新到最新固件后会悄然禁用该功能。

为什么 SME 对安全很重要

  • SME 使用硬件生成的密钥对整个系统内存进行加密,能够防御冷启动攻击、DMA 利用以及物理内存提取。
  • 该功能是可选的,可在 BIOS 中启用;启用后,Linux 等操作系统会在 /sys/devices/system/edac/memory_encryption 中暴露它,并可用于进一步加固系统。
  • 禁用 SME 会在不需要用户任何操作的情况下移除这一防御层,实际上扩大了依赖该功能的系统的攻击面。

受影响的对象

  • 搭载 AGESA 1.2.x 或更高版本的 Zen 2(5000 系列)和 Zen 3(6000 系列)消费级桌面 Ryzen CPU。
  • 在 AGESA 变更后更新了主板 BIOS 的用户会在 BIOS 设置中看到 SME 标记为 “Not Supported”。
  • 企业或服务器级 AMD 处理器(EPYC)仍然支持 SME,此变更似乎仅限于消费级产品线。

如何在系统上验证 SME 状态

# 检查内核标志
cat /sys/devices/system/edac/memory_encryption

# 或查询 CPU 功能位
lscpu | grep "SME"

如果输出显示 0 或缺少 SME 标志,则说明 CPU 的内存加密已被禁用。


可能的解决方案和缓解措施

  • 保留旧版 BIOS,只要主板厂商不强制更新,即可继续报告 SME 支持。
  • 使用全盘加密(例如 BitLocker、LUKS)来保护静止数据,尽管这不能替代 SME 提供的运行时保护。
  • 关注主板厂商的公告,以获取可能重新启用 SME 或提供明确的可选关闭标志的固件信息。

对更广泛生态系统的影响

  • 静默移除削弱了用户对 AMD 在安全特性透明度方面的信任,尤其是那些因合规或威胁模型而依赖硬件加密的用户。
  • 自动启用 SME 的安全导向 Linux 发行版现在可能在默认情况下提供已禁用的功能,导致用户在不知情的情况下面临风险。
  • 此事件凸显了更清晰的固件文档和版本化特性标志的必要性,使管理员能够在更新后审计安全能力。

接下来值得关注的事项

  • AMD 或主板制造商就 SME 移除背后的原因提供官方说明。
  • 可能恢复 SME 支持或在 BIOS 设置中提供明确切换开关的固件更新。
  • 社区驱动的工具,用于在大规模机器中检测并报告 SME 的有无。

结论: AMD 最新的 AGESA 固件在许多消费级 Ryzen CPU 上悄然禁用了安全内存加密,用户并未意识到硬件级安全控制已消失。请验证系统的 SME 状态,并考虑在 AMD 提供明确修复或解释之前,保持使用保留该功能的固件。

Sources