AMD确认Zen 5 CPU存在RDSEED故障,可能会生成可预测的密钥
AMD确认了其最新Zen 5架构CPU上存在RDSEED故障,这是一个关键的安全漏洞,存在于其基于硬件的随机数生成器中。该故障可能导致随机数生成器生成的密钥并非完全不可预测,从而为用户带来安全漏洞。

AMD将此故障标记为“AMD-SB-7055”,并将其归类为高严重性问题。针对该问题的缓解措施将于2026年1月前逐步推出,具体取决于CPU模式。例如,AMD已经为EPYC 9005 CPU推出了该问题的缓解措施。针对AMD面向消费市场的Zen 5芯片(包括Ryzen 9000系列、AI Max 300系列、Threadripper 9000系列和Ryzen Z2系列)的缓解措施将于11月25日推出。
该故障具体涉及Zen 5芯片上的RDSEED指令以非随机方式返回“0”,并将故障错误地标识为成功。RDSEED指令的16位和32位格式受到影响,而64位版本据称未受该问题影响,AMD未说明具体原因。

对于依赖RDSEED的随机数生成功能来提供完全不可预测的加密密钥的加密应用来说,这是一个关键问题。如果RDSEED出现故障,使用它的应用程序就会面临被攻击的风险,因为故障可能导致字符模式变得可预测。
RDSEED是现代CPU(包括英特尔芯片)上可用的两种随机密钥生成系统之一。RDSEED是一种真正的随机数生成器,它通过从环境中收集熵,并将随机的比特模式存储到CPU寄存器中来生成数字。而RDRAND虽然速度更快,但它提供的是来自确定性随机数生成器的随机模式,这可能更具可预测性。

这个问题最初是由Meta的一名工程师发现的,他在Linux内核**列表上宣布了这个问题。这个问题不仅与AMD上面确认的相同,而且通过用一个CPU线程不断地调用RDSEED,同时另一个线程“集体消耗并不断地占用约90%的内存……”,可以可靠地重现。几天后,一个更新版的Linux补丁被发布,该补丁将在所有Zen 5芯片上禁用RDSEED,以防止这一安全漏洞。
这已经不是Zen架构处理器上的RDSEED第一次出现问题了。AMD基于Zen 2的APU Cyan Skillfish也遭受了类似的(但不同的)RDSEED故障,这也迫使Linux社区在这些芯片上禁用了RDSEED功能。

值得庆幸的是,AMD很快就会推出AGESA微代码更新,以解决所有Zen 5 CPU上的这个问题。与此同时,对于尚未有缓解措施的芯片,AMD建议其用户切换到不受影响的64位RDSEED形式,或者切换到软件回退方案。
