Deer Hunter Asked: 2015-03-10 21:42:10 +0800 CST2015-03-10 21:42:10 +0800 CST 2015-03-10 21:42:10 +0800 CST 什么是 Rowhammer DRAM 错误,我应该如何处理它? 772 DRAM 芯片非常紧凑。研究表明,相邻位可以随机翻转。 在具有 ECC 的服务器级 DRAM 芯片中随机触发错误的概率是多少(CMU-Intel 论文引用了例如数字 9.4x10^-14 表示一年内发生一次故障的未知芯片)? 在购买内存之前如何知道 bug 是否已修复? 我应该怎么做才能对抗租户或非特权用户在例如 CentOS 7 上进行特权提升的恶意尝试? 参考: Row Hammer DRAM 漏洞被利用,解锁对物理内存的访问 在不访问内存的情况下翻转内存中的位:DRAM 干扰错误的实验研究 谷歌的 PoC 存储库 零项目写作 security 2 个回答 Voted Best Answer Daniel 2015-03-11T16:38:44+08:002015-03-11T16:38:44+08:00 您引用的 CMU-Intel 论文显示(第 5 页)错误率在很大程度上取决于 DRAM 模块的部件号/制造日期,并以 10-1000 倍的系数变化。还有一些迹象表明,这个问题在最近(2014 年)制造的芯片中并不那么明显。 您引用的数字“9.4x10^-14”是在称为“PARA”的拟议理论缓解机制的上下文中使用的(可能类似于现有的缓解机制 pTRR(伪目标行刷新)),与您的问题,因为PARA与ECC无关。 第二篇 CMU-Intel 论文(第 10 页)提到了不同 ECC 算法对错误减少的影响(因子 10^2 到 10^5,可能更多的是复杂的内存测试和“保护带”)。 ECC 有效地将 Row Hammer 漏洞利用转化为 DOS 攻击。1 位错误将由 ECC 纠正,一旦检测到不可纠正的 2 位错误,系统将停止(假设为 SECDED ECC)。 一种解决方案是购买支持 pTRR 或 TRR 的硬件。请参阅Cisco 当前关于 Row Hammer 的博客文章。至少一些制造商似乎在他们的 DRAM 模块中内置了其中一种缓解机制,但在他们的规格中将其深深隐藏。要回答您的问题:询问供应商。 更快的刷新率(32 毫秒而不是 64 毫秒)和激进的巡逻擦洗间隔也有帮助,但会对性能产生影响。但我不知道任何实际上允许微调这些参数的服务器硬件。 我想除了终止具有持续高 cpu 使用率和高缓存未命中率的可疑进程之外,您在操作系统方面无能为力。 Croad Langshan 2016-01-18T14:17:41+08:002016-01-18T14:17:41+08:00 情况似乎仍然很不清楚,所以我认为您的问题无法直接回答,但这里有一些相对较新的信息作为部分答案。有关新闻,请关注rowhammer-discuss邮件列表。 我不确定目前是否有可能通过公开信息避免购买易受攻击的 RAM,也不能轻松预测现有硬件的故障率。制造商尚未公开有关其产品如何受到影响的信息。可以使用软件工具测试已购买的内存,但您应该知道,长时间(数小时)运行这些工具可能会永久降低 RAM 性能并导致运行软件出现故障。 据报道,“未命名的内存公司”试图行贿以换取 Passmark Software 未在其 Memtest86 工具中发布 rowhammer 测试。 据报道,英特尔 Skylake 硬件更容易受到攻击,而不是更少,因为添加了新clflushopt指令。这已经在 rowhammer.js 中被利用 Daniel Gruss在本次演讲中回答了一些关于截至 2015 年 12 月的缓解问题(rowhammer.js 论文的合著者): 虽然一些 ECC RAM 比非 ECC RAM 更不容易受到 rowhammer 的攻击,但其他 ECC RAM 比非 ECC RAM 更容易受到攻击(视频中的问题链接) 切换到更快的刷新率足以防止大多数但不是所有硬件的行锤 - 但并非所有 BIOS 都允许更改刷新率(视频中的问题链接)。 作为对策,也许可以检测到正在进行的 rowhammer 攻击,但我不知道那已经完成了。
您引用的 CMU-Intel 论文显示(第 5 页)错误率在很大程度上取决于 DRAM 模块的部件号/制造日期,并以 10-1000 倍的系数变化。还有一些迹象表明,这个问题在最近(2014 年)制造的芯片中并不那么明显。
您引用的数字“9.4x10^-14”是在称为“PARA”的拟议理论缓解机制的上下文中使用的(可能类似于现有的缓解机制 pTRR(伪目标行刷新)),与您的问题,因为PARA与ECC无关。
第二篇 CMU-Intel 论文(第 10 页)提到了不同 ECC 算法对错误减少的影响(因子 10^2 到 10^5,可能更多的是复杂的内存测试和“保护带”)。
ECC 有效地将 Row Hammer 漏洞利用转化为 DOS 攻击。1 位错误将由 ECC 纠正,一旦检测到不可纠正的 2 位错误,系统将停止(假设为 SECDED ECC)。
一种解决方案是购买支持 pTRR 或 TRR 的硬件。请参阅Cisco 当前关于 Row Hammer 的博客文章。至少一些制造商似乎在他们的 DRAM 模块中内置了其中一种缓解机制,但在他们的规格中将其深深隐藏。要回答您的问题:询问供应商。
更快的刷新率(32 毫秒而不是 64 毫秒)和激进的巡逻擦洗间隔也有帮助,但会对性能产生影响。但我不知道任何实际上允许微调这些参数的服务器硬件。
我想除了终止具有持续高 cpu 使用率和高缓存未命中率的可疑进程之外,您在操作系统方面无能为力。
情况似乎仍然很不清楚,所以我认为您的问题无法直接回答,但这里有一些相对较新的信息作为部分答案。有关新闻,请关注rowhammer-discuss邮件列表。
我不确定目前是否有可能通过公开信息避免购买易受攻击的 RAM,也不能轻松预测现有硬件的故障率。制造商尚未公开有关其产品如何受到影响的信息。可以使用软件工具测试已购买的内存,但您应该知道,长时间(数小时)运行这些工具可能会永久降低 RAM 性能并导致运行软件出现故障。
据报道,“未命名的内存公司”试图行贿以换取 Passmark Software 未在其 Memtest86 工具中发布 rowhammer 测试。
据报道,英特尔 Skylake 硬件更容易受到攻击,而不是更少,因为添加了新
clflushopt
指令。这已经在 rowhammer.js 中被利用Daniel Gruss在本次演讲中回答了一些关于截至 2015 年 12 月的缓解问题(rowhammer.js 论文的合著者):
作为对策,也许可以检测到正在进行的 rowhammer 攻击,但我不知道那已经完成了。