ZenHammer:针对基于 AMD Zen 平台的 Rowhammer 攻击
DDR5、片上 ECC 与现代 DRAM 的“脆弱性”
- 若要让 DDR5 在更高密度和更高速度下保持可靠,一些评论指出其片上 ECC 是必需的。
- 有人认为这并不算“负面”,而是一个普遍趋势的一部分:所有存储都会变成概率性的,然后再用数学进行纠正。
- 也有人把 DDR5 描述为“脆弱”的,因为单元尺寸和时序裕量被压缩得太狠,以至于某些比特原本会失败;于是改用 ECC,而不是牺牲性能或密度。
- 对于 DDR5 是否“基本已修复”了 Rowhammer,讨论仍在继续;论文显示至少在一款 DDR5 设备上出现了比特翻转,但攻击只在测试的 10 个 DDR5 模组中的 1 个上成功,还需要进一步研究。
Rowhammer 作为物理现象与威胁模型
- Rowhammer 被视为一个 DRAM 物理问题:对某一行反复访问会导致电荷泄漏,并使相邻行出现比特翻转。
- 更小、更密、更接近的单元会让攻击更容易,但也让 RAM 更便宜、更快、更高效。
- 有人认为这是一种由全行业对密度和成本的压力所带来的“不可避免”结果,而不仅仅是“以利润最大化为导向的疏忽”。
普通用户的现实风险
- 许多人认为普通用户不太可能直接受到影响;针对他们的典型攻击更简单的是软件漏洞利用和恶意软件。
- 也有人强调,Rowhammer 及类似漏洞已经在浏览器的 JavaScript、虚拟机、手机上,甚至通过网络被演示过;没有观察到大规模利用并不等于零风险。
- 讨论中提到脚本拦截(NoScript、uBlock、默认禁用 JS)是一种实用缓解措施,不过也有人觉得太不方便。
ECC 作为缓解措施
- 普遍共识是 ECC 能显著提高门槛:许多单比特/双比特翻转会变得可纠正,或者让系统崩溃,从而把隐蔽攻击变成明显的可靠性问题。
- 批评“ECC 没用”的人认为这种说法具有误导性;在这之后,攻击成功通常需要大量机器停机或可检测的错误日志。
- 一个关键注意点是:ECC 的报告与处理方式因平台而异;一些桌面/消费级平台会静默纠正,或者不会通过 IPMI 暴露计数器,不过在许多配置中操作系统层面的 Machine Check 处理仍然存在。
AMD/Intel ECC 与平台选择
- 桌面 AMD Ryzen 现在正式支持 ECC,但是否可用取决于主板。ASRock 和 ASUS 经常被提到在 AM5 主板上启用了这一功能。
- 笔记本上的 ECC 基本仅限于昂贵的“移动工作站”和 Pro SKU;AMD 近几代移动平台在公开规格中的 ECC 支持一直在变化,且不够明确。
- 非缓冲 ECC DDR5 显著更贵(通常溢价约 50–100%),而且缺少工厂超频/XMP 分档,因此用户可能需要手动调校性能。
- Threadripper 支持注册式 ECC,被视为很强,但对许多家庭用户来说过于夸张(成本、核心数、PCIe 通道都太多)。
内存加密与其他防御
- 据称,内存加密(例如 AMD SEV/Secure Memory Encryption)可以防止 Rowhammer 演变为有针对性的数据破坏;比特翻转会在密文中变成随机错误,更可能导致崩溃,而不是可控利用。
- 这可能会让系统不那么“优雅”(单比特翻转就会导致致命错误),但从安全角度看更明显地暴露问题,因此被认为更可取。
更广泛的安全与隐私背景
- 一些评论将高度技术化的硬件攻击,与无处不在的跟踪、数据经纪以及不安全的 IoT 设备所带来的更大、持续性风险作对比。
- 有人认为,社会比起越来越边缘化的特殊硬件漏洞缓解措施,更迫切需要广泛的隐私法规。