DRAM芯片包装非常紧密。研究表明,相邻位可以随机翻转。
- 在带有ECC的服务器级DRAM芯片中随机触发错误的可能性是多少(CMU-Intel论文引用了例如,一年中一次故障的未知芯片的编号为9.4x10 ^ -14)?
- 如何在购买内存之前知道该错误是否已解决?
- 我该如何应对例如CentOS 7上的租户或非特权用户进行的恶意的特权升级尝试?
参考文献:
DRAM芯片包装非常紧密。研究表明,相邻位可以随机翻转。
参考文献:
Answers:
您引用的CMU-Intel论文显示(第5页),错误率在很大程度上取决于DRAM模块的部件号/生产日期,并且变化幅度为10-1000。还有迹象表明,该问题在最近(2014年)制造的芯片中不那么明显。
您引用的数字“ 9.4x10 ^ -14”用于建议的理论缓解机制“ PARA”(可能与现有的缓解机制pTRR(伪目标行刷新)相似),与您的建议无关问题,因为PARA与ECC无关。
CMU-Intel的第二篇论文(第10页)提到了不同ECC算法对减少错误的影响(因数10 ^ 2到10 ^ 5,在复杂的内存测试和“保护带”下可能更多)。
ECC有效地将“行锤”漏洞转化为DOS攻击。1位错误将通过ECC进行纠正,并且一旦检测到不可纠正的2位错误,系统将停止运行(假设为SECDED ECC)。
解决方案是购买支持pTRR或TRR的硬件。请参阅思科当前有关Row Hammer的博客文章。至少某些制造商似乎在其DRAM模块中内置了这些缓解机制之一,但仍将其隐藏在其规格中。要回答您的问题:请询问供应商。
更快的刷新速度(32ms而不是64ms)和积极的Patrol Scrub间隔也有帮助,但是会影响性能。但是我不知道任何服务器硬件实际上允许微调这些参数。
我猜想,除了终止具有持续高CPU使用率和高缓存未命中率的可疑进程外,在操作系统方面您无能为力。
情况似乎还不太清楚,所以我认为您的问题无法直接回答,但是这里有一些相对较新的信息作为部分答案。有关新闻,请关注rowhammer-discuss邮件列表。
我不确定目前是否有公共信息可以避免购买易受攻击的RAM,也不能轻松预测现有硬件的故障率。制造商尚未了解有关其产品如何受到影响的信息。可以测试已经使用软件工具购买的内存,但是您应该意识到,长时间运行这些工具可能会永久降低RAM并导致软件运行出现故障。
据报道,“未具名的存储器公司” 试图行贿,以换取Passmark Software未在其Memtest86工具中发布行锤测试。
据报道,由于增加了新指令,英特尔Skylake硬件更容易受到冲击,而不是不容易受到影响clflushopt
。这已经被利用在rowhammer.js
丹尼尔·格鲁斯(Daniel Gruss )在本演讲中回答了截至2015年12月的缓解措施的一些问题(rowhammer.js论文的合著者):
作为一种对策,可能有可能检测到正在进行的Rowhammer攻击,但我不知道这样做已经完成。