DRAM芯片封装非常紧密。 研究表明,相邻的比特可以随机翻转。
参考文献:
您引用的CMU-Intel文件显示(第5页),错误率在很大程度上取决于DRAM模块的部件号/制造date,并且相差10-1000倍。 还有一些迹象表明,最近(2014年)制造的芯片的问题不明显。
您引用的数字“9.4×10 ^ -14”在所提议的理论缓解机制(称为“PARA”(可能类似于现有的缓解机制pTRR(伪目标行刷新))的情况下使用,并且与您的问题,因为PARA与ECC无关。
第二个CMU-Intel论文 (第10页)提到了不同的ECCalgorithm对错误减less的影响(因子10 ^ 2到10 ^ 5,可能更复杂的内存testing和“防护带”)。
ECC有效地将行锤攻击转化为DOS攻击。 1位错误将通过ECC纠正,一旦检测到不可纠正的2位错误,系统将暂停(假设SECDED ECC)。
一个解决scheme是购买支持pTRR或TRR的硬件。 请参阅思科关于Row Hammer的最新博客文章 。 至less有些制造商似乎在其DRAM模块中内置了这些缓解机制之一,但要将其深入隐藏在其规格中。 回答你的问题:询问供应商。
更快的刷新率(32ms而不是64ms)和积极的巡更清除间隔也有帮助,但会对性能产生影响。 但我不知道任何实际上允许微调这些参数的服务器硬件。
我想在操作系统方面没有太多可以做的事情,除了终止持续的高CPU使用率和高速caching未命中的可疑进程外。
这种情况似乎还不清楚,所以我不认为你的问题可以直接回答,但这里有一些相对较新的信息作为部分答案。 有关新闻,请遵循rowhammer-discuss邮件列表。
我不确定目前有没有可能通过公共信息来避免购买易受攻击的内存,也不能轻易预测现有硬件的故障率。 制造商尚未公开有关其产品如何受到影响的信息。 可以使用软件工具testing已经购买的内存,但是您应该知道,在相当长的时间(小时)内运行这些工具可能会永久降级RAM,并导致软件运行出现故障。
据报道,“无名记忆公司”曾试图通过贿赂来换取Passmark Software公司在其Memtest86工具中没有发布行刑testing。
由于增加了新的clflushopt
指令,英特尔Skylake硬件已经被报告为更容易受到攻击,而不是更less 。 这已经在rowhammer.js中被利用了
Daniel Gruss在这里谈到了2015年12月的一些关于缓解的问题( rowhammer.js论文的合着者)
作为一种对策,有可能检测到正在进行的行敲打攻击,但是我不知道那已经完成了。