中文 英语

DRAM对芯片安全的持续威胁

Rowhammer对内存的攻击可能会给系统带来重大问题;可能的解决方案出现了。

受欢迎程度

一个著名的DRAM漏洞被称为“rowhammer”,它允许攻击者破坏或控制系统,继续困扰着芯片行业。解决方案已经尝试过了,新的方案也在提出,但大规模袭击的可能性依然存在。

大约五年前,人们首次发现了消除“排锤”威胁的大部分努力,只不过是缓解了这一问题。

“Rowhammer是个大问题,”FuturePlus副总裁芭芭拉·艾辛格(Barbara Aichinger)说。“供应商声称它是‘修好了’,但事实并非如此。如果你看看2020年发表的许多论文,你会看到大量证据。”

有许多方法可以阻止rowhmer,尽管到目前为止还没有一种被广泛接受为决定性的方法。可以在软件级、浏览器级以及dram和内存控制器等硬件中找到缓解方法。但这些只是为了阻止袭击。他们不能从根源上解决问题。现在有一家公司声称有解决方案。

Rowhammer基础知识
Rowhammer的发生是这种方式的一个意外后果动态随机存取记忆体是由。这个过程是一种精心设计的方法,以尽可能少的钱把尽可能多的比特放在硅上。简单地改变流程绝非易事。事实上,我们无法改变构建大量内存的方式——以及不断承诺的缓解措施就足够了——这阻碍了根本原因解决方案。

该问题发生在模具水平沿壁已经蚀刻作为制造过程的一部分。蚀刻过程会留下缺陷或陷阱,可以捕获电子并抓住它们。如果这些电子留在陷阱中,这可能不是一个大问题。但是在存储访问周期的后期,这些电子可以被释放。从那里,它们可以四处漂移,最终可能会进入邻近的细胞。

Spin Memory公司的产品副总裁安迪·沃克(Andy Walker)说:“每次你把这一行从关到开再到关,就会有一股电子进入衬底。”“其中一些电子会迁移,并被附近的节点拾取。”


图1:沿侧壁(左)的陷阱捕获暂时留在那里的电子(中间)。之后,它们可以被释放并迁移到其他细胞(右)。来源:IEDM /微米

DRAM位单元只不过是一个存储电荷的电容器,以及写入时输入和输出电荷的方式,以及读取时确定有多少电荷。电容器可能会泄漏,读取过程本身是破坏性的。因此,电容必须在读取后立即刷新其值,或者,如果长时间不访问,则以某种预先确定的频率刷新。

这里的基本观点是,电池的状态是由电容器上的电荷决定的,而在刷新周期之间,电荷是脆弱的。漂移的电子可以迁移到电池中,改变电池中的电荷。如果这样做太多次,就会积累足够的电荷来改变电池的感知状态。

这就是rowhammer中“锤子”的部分。其原理是,如果某一行在刷新发生之前被读取了足够多的次数,这些错误电子的重复小爆发就可以改变相邻的单元格。事实上,在最近的IEDM会议美光科技负责技术开发的高级副总裁纳加·钱德拉塞卡兰(Naga Chandrasekaran)指出,随着尺寸的缩小,可能不只是相邻的行容易受到攻击。随着行之间的距离越来越近,即使是相邻的行(两行或更多行之间的距离)也可能受到影响。

从现象到攻击
需要一些聪明的想法来利用这种现象,并找出如何利用它来攻击系统。虽然似乎还没有任何严重的黑帽攻击,但已经发生了很多次学术论文说明rowhmer是控制系统的一种手段。

该公司信任与安全产品经理John Hallman表示:“一些值得注意的攻击行为是将权限提升到更高的系统级别(如管理员权限),对Android手机进行root操作,或控制应该受保护的虚拟机。OneSpin解决方案

从系统顶部往下看,从芯片底部往上看,有两大挑战。其中之一是了解关键系统数据在内存中的位置。另一种要求知道哪些行在物理上是相邻的。芯片的具体布局很重要,芯片制造商通常对此保密。你不能假设一个厂商生产的内存的物理布局和另一个厂商的是一样的。

所有这些都使得排锤很难,但绝不是不可能,变成一种可行的攻击。虽然在许多研究报告中详细介绍了各种攻击的具体情况,但几个例子表明,如何完全控制内存的某个随机部分并不是一个很大的挑战,而是要控制战略位置,从而控制整个系统。

一个有吸引力的目标是用于内存管理的表。它们为正在运行的各种进程设置了预期的边界,包括访问不同分配所需的权限。攻击这些页表不是攻击主内存,而是攻击这些页表,这意味着,通过一次编辑,一个受限制的进程可能会改变,从而使攻击者可以访问更多(或全部)内存(包括安全块)。通过这一改动,该系统现在已被进一步开发。

至于决定敲打哪一行——然后敲打它——缓存的普遍使用使这变得更加困难。如果您编写的程序只是重复访问某个内存位置,那么就不会利用rowhammer现象。这是因为第一次内存访问将导致内容被加载到缓存中,所有后续的访问将从缓存中取出,而不是重新读取内存。

这使得绕过缓存成为任何攻击的重要组成部分。根据所使用的处理器,它可以变得更容易或更困难,因为不同的体系结构有不同的缓存取出策略(使用纯确定性策略的体系结构风险更大)。然而,也就是说,确定邻接关系可能涉及进行微妙的计时计算,以确定数据是否已经在DRAM中的缓存或行缓冲区中。

使攻击更加困难的是,一些内存位比其他内存位更容易受到攻击。可能有一个决定性的原因,比如让一个特定的区域成为多个芯片的可能目标,或者可能有一些随机元素。所以不是每个记忆细胞对rowhammer的反应都是一样的。

这些项目的影响是认识到这是一个真正的威胁,而不是理论上的威胁,有人制造破坏只是时间问题——特别是随着如此多的计算转移到云,无数的服务器和它们的内存可以从世界上任何地方访问。

缓解和绕过
迄今为止,大多数针对排锤现象的明显努力都没有解决这一问题的基本物理问题;它们提供了解决问题的方法。它们已经在多个层面上得到了实施。

例如,使用浏览器访问远程服务器已经使浏览器行业成为利益相关者。由于攻击可能涉及细微的计时测量,浏览器降低了可用的计时粒度。现在已经不可能达到纳秒级的精度了。相反,它可能是微秒——仍然准确,但精确程度降低了1000倍,足以限制一种攻击方式。

微软的高级硬件安全工程师Alric Althoff说:“主流浏览器已经缓解了这个问题,或者至少尝试了。龟岛的逻辑.“许多实际的修复都是基于软件的,非常有针对性(例如,谷歌Chrome在2018年通过从webGL实现中删除扩展来缓解GLitch)。但最重要的是,‘不能被远程利用’的硬件漏洞只在等待一个实验来证明它们可以,而‘不能被利用’实际上意味着我们现在想不出一种方法来进行远程利用。”

在一个回顾论文,提出了六种理想的解决方案。“前六个解决方案是:1)制造不容易受到攻击的更好的DRAM芯片,2)使用(强)纠错码(ECC)来纠正rowhamer引起的错误,3)提高所有内存的刷新率,4)通过一次性制造后分析静态重新映射/退出rowhamer倾向的单元,5)在系统运行期间动态重新映射/退出rowhamer倾向的单元,6)在运行时准确识别被锤击的行并刷新它们的邻居。”

大多数缓解措施都集中在第6点。第一个问题是解决问题的根本原因。第2个- ECC -可以使用,但有限制,我们将很快讨论。第三个可能很有吸引力,但这是一场永无止境的追逐。数字4和5创造了巨大的系统级复杂性。

大部分的缓解焦点都集中在较低的内存级别上——分为DRAM芯片本身和位于DRAM和系统之间的控制器。该公司高级技术营销经理Vadhiraj Sankaranarayanan表示:“在刷新周期内,当此类攻击超过给定值时,就会出现一个窗口Synopsys对此.“然后,解决方案可以在任何地方构建——在控制器或dram上。它需要昂贵的硬件,而且耗电量很大。但我们希望内存是安全的,因为在这里数据才是王道。”

防止攻击的一种方法是计算每次刷新之间对给定行的访问次数。如果超过阈值,则阻止进一步访问。虽然这在概念上听起来很简单,但很难付诸实践。对于那些拒绝访问的记忆,并没有很好的模型。因此,如果读请求被拒绝,整个系统都需要决定该怎么做。这是否意味着控制器停止、等待并再次尝试?操作系统介入了吗?应用程序最终会失败吗?

JEDEC内存标准中添加的两个新功能提供了另一种响应。一个新特性叫做目标行刷新,简称TRR。这里的想法是,虽然将dram设置为读取后根据调度刷新,但需要更细粒度的机制来按需执行单行刷新。如果内存或控制器中的某人或某物检测到攻击可能正在进行,它可以对受影响的行发出刷新,并逆转到那时为止可能发生的任何敲打。

Sankaranarayanan说:“控制器一直在监控,如果它怀疑某一行或几行受到攻击,控制器就会立即找出可能的受害者。”“然后,它将dram置于TRR模式,并向这些受害行发送主动刷新,以防止它们失去原始状态。”

监测也可以在dram本身中实现,代价是芯片尺寸和功率。Sankaranarayanan补充说:“dram也可以有计数器。“它很耗电,但有些计数器可以监控持久访问。”

Zentel提供了一种解决方案,它称之为“无串击器”DRAM。Zentel销售总监Hans Diesing表示:“对于2Gb和4Gb DDR3 (25nm节点)DRAM, Zentel采用了专有的rowhammer保护方案,该方案具有多个计数器和SRAM的集成硬件组合,以监控行激活的数量,并在达到某个最大计数时立即刷新受害行。”这提供了一个不应该显著影响性能或在DRAM外部可见的响应。

当然,这种解决方案是有代价的。他补充说:“额外的硬件结构增加了芯片的空间,而且由于晶圆产量较低,与业内其他公司相比,它在成本和价格上不太有竞争力。”“但这种无需手动操作的版本是根据硬盘行业客户的需求而设计的。”

然而,《TRR》并不能满足所有玩家。Sankaranarayanan表示:“一般来说,DRAM供应商和控制器供应商对TRR保密。”事实上,TRR不仅仅是一种缓解措施,它似乎是一系列缓解措施的保护伞,其中许多缓解措施可以绕过。“不幸的是,TRR描述了一组方法,其中许多都不起作用,”Althoff说。“因此,它本身不是一种缓解措施,只是一系列对策。”

虽然TRR可以防止单边攻击(一个相邻的攻击行)或双面攻击(两个相邻的行都是攻击者),但它不能帮助防止“多面”攻击——多行同时工作。一个工具甚至已经开发出来帮助弄清楚如何在存在TRR的情况下修改攻击,使它们仍然有效。

纠错码(ECC)也被视为一种可能的解决方案。存在一行的想法可能被损坏,但这种损坏将在读出过程中被纠正。这可能是行中某个比特损坏的情况,但是——考虑到一个比特损坏了整行,而不仅仅是其中的一部分——ECC可能无法纠正更多的错误。Hallman指出:“对这种攻击的主要保护措施之一是错误代码更正(ECC),尽管现在攻击者已经开始识别绕过这些保护措施的方法。”

此外,一些ECC实现仅更正正在读取的数据,而不是该行中的原始数据。保留不正确的位意味着以后的刷新会强化错误,因为刷新会恢复已经存在的内容,而不是将其恢复到某个已知的黄金引用状态。要避免这种情况,就需要使用ECC来确定不正确的位,并在内存中纠正它们。

还有一个新的控制器命令,称为刷新管理(RFM)。“RFM在DDR5的JEDEC标准中,但还没有被更广泛的安全受众评估,”Althoff说。“所以,虽然它在概念上看起来很好,但它未经测试,所以不是已知的缓解措施,只是一个假设。”

目前的模式是这样的,其他的缓解措施都发表了,学术界开始努力证明他们仍然可以绕过缓解措施。而且,在大多数情况下,他们是正确的。

考虑到大多数缓解措施都集中在基于cpu的系统上,现在还存在另一个担忧。gpu可能提供了另一种攻击系统的方法,因此也需要注意这一点。

“自2012年以来,行业一直在努力缓解这一威胁,使用了DDR3/4和LPDDR4标准中的目标行刷新(TRR)和DDR5和LPDDR5规范中的刷新管理(RFM)等技术。手臂.“然而,即使使用这些和其他缓解技术,由于DRAM内部布局是专有的,rowhammer攻击尤其难以缓解。”

根本问题能解决吗?
解决这个问题的圣杯是一种阻止迁移电子干扰细胞的方法。在不颠覆整个DRAM流程或使DRAM价格变得难以承受的情况下做到这一点一直是一个巨大的挑战。这就是为什么人们如此关注通过缓解措施间接解决问题,而不是直接解决问题。但是,随着缓解措施不断受到攻击,一个根本的解决方案将是受欢迎的。

Althoff说:“这是一个用硬件解决硬件问题的论点。”“如果硬件是脆弱的,将缓解责任推给软件——或任何更高的抽象级别——就相当于(用胶带堵住漏水的流行表情包)。”

一家公司声称已经找到了这样的解决方案——可能是偶然。Spin Memories(以前的STT, MRAM生产商)创建了一种新的选择器,有助于减少内存位元所需的面积。许多位单元由单个组件组成(如电阻、电容或晶体管),但它们需要一种关闭方式,以便在访问另一个相关单元时不会意外受到干扰。出于这个原因,在每个位单元中添加一个额外的“选择器”晶体管,使位单元更大。

Spin Memories发现它可以借鉴3D NAND技术——让晶体管与周围的栅极垂直工作——并将栅极置于存储单元下方而不是旁边。因此,这种堆叠的安排将压缩内存数组的大小。

Walker说:“它可以用于任何电阻开关,如ReRAM, CBRAM, CERAM和PCRAM -任何需要电流或电压来切换的两端电阻。”“这是一个垂直门围绕晶体管基于选择性外延。这是3D NAND中的高压器件,我们适应于非常低的电压应用。它需要高驱动和低泄漏,在材料科学中,这意味着设备的通道必须是单晶的。”因此,外延而不是沉积。

这赋予了晶体管两个关键特性,使其成为完整的排锤解决方案的竞争者。一是所使用的硅是外延生长在晶圆上,而不是蚀刻在晶圆上。由于蚀刻是捕获电子的陷阱的主要来源,消除这些陷阱地点大大减少,甚至消除了问题的来源。

第二个特征是被埋没的n型层,它可以有效地阻止来自任何来源的杂散电子干扰比特单元。如果得到证实,这将有效地关闭排锤机制。


图2:在左边,被困在攻击单元上的电子可以漂移到邻近的单元,并改变电容器上的电荷。在右边,新提出的结构使用外延,产生更少的陷阱位点,并且n掺杂区域阻止任何错误的电子进入比特单元。来源:Spin Memory。

Spin与NASA和Imec联合发表了一篇论文(目前在付费墙后面),详细介绍了解决方案。与任何此类建议一样,它必须在安全界中传播,在被接受为确定的建议之前,它必须面临挑战和考验。

证明一种缓解措施的有效性并不容易,需要对攻击进行仔细的建模——至少是已知的攻击。“通过使用我们的故障注入和检测工具,我们可以与客户合作,模拟攻击并演示对内存的影响,”Hallman说。“这可以确定哪些领域的信息仍可能被泄露。”

从基本原理证明硅级修复的有效性也是一个挑战。Althoff说:“DRAM是硬IP,攻击利用了物理,所以你需要SPICE级别的精度,或者有针对性的替代方案,来验证预硅的信心。”

但是,在一个谨慎的行业,缓解和修复措施的证据是必要的。FuturePlus的Aichinger指出:“Spin并不是第一家尝试生产免锤击DRAM的公司。“一些新的缓解战略正在讨论中,你应该在2021年听到更多关于这方面的消息。”

相关的
DRAM知识中心
半导体安全知识中心
更多的数据,更多的内存扩展问题
DRAM、闪存和新存储器的挑战依然存在。
新的安全方法,新的威胁
防止入侵的技术和技术正变得越来越复杂,但攻击也越来越复杂。
处理芯片中的安全漏洞
挑战从持续的安全更新到预期的寿命超过了制造它们的公司。



留下回复


(注:此名称将公开显示)

Baidu