NAND闪存芯片是固态硬盘(SSD)的组成部分,包括可被利用来改变存储数据或缩短SSD寿命的“编程漏洞”。
在过去几年中,SSD已经慢慢地将经典的基于磁盘的HDD替代为世界数据的主要存储介质,不仅在数据中心,而且我们的手机,平板电脑,笔记本电脑和台式个人电脑。
SSD的心脏是集合了名为NAND闪存芯片的较小组件,所有这些组件都集中在ROWS上,类似于经典的RAM存储器芯片。与传统的RAM存储器芯片不同,NAND存储器芯片是非易失性的,这意味着在计算机关闭之后它们不会丢失其电荷(也称为用户的数据)。
第一代SSD存储驱动器使用称为单级单元(SLC)的技术,其使用一个NAND闪存芯片来存储一位信息,“带电”代表二进制信号,“不带电”代表二进制零。
与所有技术一样,多年来一直在发展,科学家和SSD厂商意识到他们可以将浮动栅极晶体管集成到NAND闪存芯片中,这使得它们能够以一系列充电电压的形式存储两位信息代表二进制数00,01,10和11的值。这种新技术被称为多级单元(MLC),并且自2015年以来已经在所有SSD中普及。
根据今年早些时候发表的研究,为MLC提供支持的编程逻辑容易受到至少两种类型的攻击。
ATTACK 1Program Interference
这些攻击中的第一个称为“程序干扰”,当攻击者设法以某种模式将数据写入目标的SSD时,会发生这种攻击。
被利用的数据模式导致MLC的编程逻辑发生比平常多处4.9倍的错误,这伴随的副作用是触发干扰相邻的NAND flash存储单元的。
副作用可以导致攻击者可能会损坏本地数据,如果攻击者可能导致重复的干扰,甚至可能会缩短SSD的使用寿命。这是因为SSD的使用寿命是由它们在闪存芯片上执行的有限读写操作数量所决定的,因为它们在重新启动之前失去了保持带电的能力。
这种类型的干扰攻击类似于对经典RAM存储器芯片的Rowhammer1攻击,攻击者在重复的读写操作中轰击一行RAM存储器单元,导致电干扰相邻单元的位从而将其翻转。
ATTACK 2 Read Disturb
研究人员在NAND闪存芯片的编程逻辑中发现的第二个漏洞就是他们所说的“读取干扰”。
在这种攻击情况下,攻击者的漏洞利用代码会导致SSD在很短的时间内执行大量的读取操作,从而导致“读取干扰错误”现象。
研究人员表示,这些读取干扰错误将“损坏已写入部分编程的字线和尚未写入的页面的两个页面”,这破坏了SSD将来以可靠的方式存储数据的能力。
研究人员在研究者论文中提出了可以修复和抵消这两种攻击的影响的缓解措施。
关于这项研究的更多细节可在题为“Vulnerabilities in MLC NAND Flash Memory Programming: Experimental Analysis, Exploits, and Mitigation Techniques, 2”的文章中获得,由六位研究人员来自卡内基梅隆大学,希捷和瑞士联邦理工学院在苏黎世。
他们的工作是在二月份在德克萨斯州奥斯汀举行的第二十三届高性能计算机体系结构国际研讨会(HPCA)工业会议的讨论中展示出来的。
责任编辑:韩希宇
免责声明:
中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。