水木番 发自 凹非寺
量子位 报道 | 公众号 QbitAI

大家肯定都知道,最近芯片的制程可谓越来越棒了,当前全球半导体最先进的制程已经发展到5nm了。

但是随着芯片制程技术的提高,内存的漏电问题更加严重,这有可能导致比特翻转,数据泄露,会进一步影响整个器件和系统的性质。

很多原先只存在于理论上的攻击方法,如今在现实中也确确实实地发生了。

这不,最近,谷歌又发现了一个大bug。

研究人员发现了一种“半双工”的新型Rowhammer攻击技术(下文简称“R攻击”),它可以通过操纵计算机内存芯片DRAM (动态随机存取存储器)中的电荷来破坏或泄露数据。

提到这种R攻击的问题,还得从技术上说起。

R攻击技术原理

其实,2014年的一篇论文就在当时主流的DDR3内存中就首次讨论了R攻击的可能性。

第二年,Google的project zero便针对R攻击,发布了一个实质性的工作漏洞。

作为回应,DRAM的制造商在芯片中加入了新的逻辑,可以跟踪频繁访问的地址,并在必要时进行消除。

后来随着 DDR4 被广泛采用,因为这些器件都有内置的防御机制,所以R攻击的问题似乎已经解决了。

但在 2020 年,研究人员开发了一种名叫TRRespass工具,展示了如何通过分发访问,来攻破防御,证明了R攻击技术仍然可行。

今年,研究人员又开发了一种新的名叫SMASH的攻击,进一步演示了如何利用JavaScript进行攻击,而不需要调用缓存的原语句。

看来问题越来越大了。

既然R攻击技术如此神通广大,不容小觑,那让我们来看看它的原理具体是什么?

R攻击是一种针对DRAM漏洞的攻击技术。

通过它重复访问一个地址时,可能会篡改存储在其他地址上的数据,当一个DRAM行被反复访问时,在相邻的两行会发生“比特翻转”

具体来说就是:

在攻击时,黑客在DRAM晶体管的“行”上反复运行相同的程序,以攻击该行,直到它把电泄漏到相邻的行。

这种泄漏可以将下一排晶体管中的一个比特从1翻转为0,或者从0翻转为1。

由于被攻击的单元格的值发生了变化,它导致相邻行的数据也发生变化。

这意味着在理论上,攻击者可以改变内存中任何比特的值,通过翻转足够多的比特,攻击者甚至可以操纵目标系统。

那为什么今年这种技术又爆火了呢?这是因为又有了一些新变化:

目前的R攻击技术主要采用了“半双工”技术。

此前通过重复访问一个内存地址,只可以访问相邻行的 DRAM 地址。

但现在,谷歌已经证明:

R攻击已经可以成功传播到相邻行以外的行,虽然效率还不是很高。

这种情况说明,攻击某一行所产生的“涟漪效应”会特别大,最终会带来整个系统的崩溃。

说到“半双工”,再来看看“半双工”的过程是什么?

研究人员先是尝试多次访问地址“A”,然后顺利实现了对地址“B”的数十次访问,接着又向地址“C”发起了攻击。

这种技术在晶体管的“行”相距较远的旧一代DRAM中并无作用。

但是,由于摩尔定律将晶体管变得更加紧密,所以这种“半双工”的R攻击风险正在增加。

正是因为这一代的DRAM制程不断提高,所以内存行之间的距离也在减少,使其更容易发生漏洞,触发“比特翻转”。

网友:这种攻击到底现不现实?

有网友表示:

这种攻击利用了写入新数据时,DRAM单元中翻转的电磁特性。但是这种攻击仅在学术环境中有,从未在现实世界中使用过。

但也有网友表示这并不是只在学术环境里运行,并给出了实例。

看来这项攻击的确具有现实意义,不可不防啊!

谷歌:正在和JEDEC寻求解决

这并不是R攻击第一次似乎得到解决,然后又忽然跳水。

阿姆斯特丹自由大学的研究人员在过去的18个月中多次强调:

目前的芯片防御系统可以抵御传统的R攻击。

但是,存储芯片的制程提高可能会带来R攻击的新风险。

在最坏的情况下,恶意代码有可能通过这种攻击逃脱沙箱环境,甚至接管系统。

对此,谷歌表示:

谷歌正在和独立的半导体工程贸易组织JEDEC以及半导体行业的几家公司合作,寻找“R攻击的可能解决方案”,并鼓励其他专家加入一起努力,因为这个挑战对整个行业都有巨大影响。

的确啊,虽然现在这些黑客技术需要技巧,甚至一些运气才能实现有针对性的攻击。

但因为基本上现在所有计算设备都存在潜在的R攻击可能,所以寻求解决方案还是迫在眉睫的。

目前,JEDEC已经发布了两项权宜之计(JEP 300-1和JEP 301-1),向广大用户进行了提醒。

希望会有实实在在的效果吧。

不知道下次R攻击会不会再起风云呢?

参考链接:
[1]https://www.wired.com/story/rowhammer-half-double-attack-bit-flips/
[2]https://www.vusec.net/projects/trrespass/
[3]https://securityaffairs.co/wordpress/118284/hacking/rowhammer-variant-dubbed-half-double.html
[4]https://security.googleblog.com/2021/05/introducing-half-double-new-hammering.html
[5]https://www.darkreading.com/threat-intelligence/google-discovers-new-rowhammer-attack-technique/d/d-id/1341147
[6]https://www.jedec.org/standards-documents/docs/jep300-1

新型内存攻击,专治制程提高的芯片相关推荐

  1. 华为发布7nm制程麒麟810芯片:自研达芬奇架构 nova5首搭

    昨日华为消费者业务手机产品线总裁何刚在武汉发布了华为麒麟810芯片,该芯片采用7nm制程,采用了华为自研的达芬奇架构的NPU. 据华为方面介绍,麒麟810采用7nm工艺制程,相比8nm工艺,能效提升2 ...

  2. 全新起点!英特尔发布 Agilex FPGA,采用 10 纳米制程 | 极客头条

    四月,草长莺飞.桃花烂漫.如此茂盛的季节,给科技行业的新品推出,更加增添了几分喜气. 4月3日,英特尔宣布推出全新产品家族--英特尔® Agilex™ FPGA. 英特尔® Agilex™ FPGA ...

  3. assembly 输出ab中所有数_BGA、TAB、零件、封装及Bonding制程术语解析

    1.Active parts(Devices) 主动零件 指半导体类之各种主动性集成电路器或晶体管,相对另有 Passive﹣Parts被动零件,如电阻器.电容器等. 2.Array 排列,数组 系指 ...

  4. XX nm制造工艺是什么概念?实现7nm制程工艺为什么这么困难?

    在智能机性能越来越强悍的今天,最核心的处理器就变得尤为重要.其实从上世纪70年代起,处理器发展的速度就没有停下来过,从最初的180nm工艺到现在的14nm.7nm工艺,可以说制作工艺的进步带给了CPU ...

  5. 突破制程工艺:为什么说7nm是物理极限,美国的1nm是什么概念?

    适用了20余年的摩尔定律近年逐渐有了失灵的迹象.从芯片的制造来看,7nm就是硅材料芯片的物理极限.不过据外媒报道,劳伦斯伯克利国家实验室的一个团队打破了物理极限,采用碳纳米管复合材料将现有最精尖的晶体 ...

  6. 如果说7nm是制程工艺物理极限 那么1nm是什么概念?

    适用了20余年的摩尔定律近年逐渐有了失灵的迹象.从芯片的制造来看,7nm就是硅材料芯片的物理极限.不过据外媒报道,劳伦斯伯克利国家实验室的一个团队打破了物理极限,采用碳纳米管复合材料将现有最精尖的晶体 ...

  7. 全球首款2纳米制程芯片问世:每平方毫米3.3亿晶体管,IBM打造

    2017 年,IBM 联合三星和 GlobalFoundries 推出了首个 5nm 制程工艺的芯片.仅仅过去不到四年,IBM 又率先公布 2nm 芯片制造技术,不仅具有更高的晶体管密度,而且采用了全 ...

  8. intel 服务器主板芯片,台积电3nm制程获Intel订单,不打造手机芯片太可惜了

    这架势,这速度,不得不说inter(英特尔)这个速度让人刮目相看了,率先在台积电下了3nm制程工艺的订单,那么3nm最先进的工艺,它是想要进入手机SOC行列了吗?其实不然,看到有关的报道,英特尔竟然是 ...

  9. 台积电2nm与3nm制程

    台积电2nm与3nm制程 台湾积体电路制造股份有限公司,中文简称:台积电,英文简称:tsmc,属于半导体制造公司.成立于1987年,是全球第一家专业积体电路制造服务(晶圆代工foundry)企业,总部 ...

最新文章

  1. 班门弄斧?基于BCE的Lightningspin应用对比ChainBet
  2. Windows 2008 R2服务管理器刷新失败
  3. Data URI scheme 在 html 中嵌入小图片
  4. [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]
  5. php sphinx api调用,php调用Sphinx
  6. 数学建模 时间序列分析
  7. Ubuntu之查看依赖软件
  8. 拓端tecdat|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
  9. Kettle Spoon入门教程
  10. 购书网站前端实现(HTML+CSS+JavaScript)
  11. js正则表达式 验证非负数
  12. MySQL数据库服务器、数据库和表的关系
  13. linux qt lgl,Linux下QT、cannot find -lGL、
  14. jQuery基础入门
  15. js:网页中的高和宽(document)
  16. 郑州计算机网络安全协会,过滤王文档教材网吧使用手册(网吧)-郑州市计算机网络安全协会.doc...
  17. golang $or $in $ge $gte 查询使用
  18. MySQL(七)—— 分组查询
  19. android 双层饼图_高大上的Excel双层饼图 充分表达层级关系 手把手详解
  20. 室内设计计算机考试题,12秋计算机班3dsMax室内设计期末考试试题

热门文章

  1. .gitignore和.gitkeep有什么区别?
  2. 滚动后如何检查元素是否可见?
  3. POJ-2828-Buy Tickets
  4. 失手打死请自己吃饭的酒友 嫌疑人在深圳落网
  5. 浅析React之事件系统(二)
  6. [转]阿里巴巴数据库连接池 druid配置详解
  7. Spring学习框架图
  8. OpenGL学习入门之VS2010环境配置 [转]
  9. Google Maps API 初级1
  10. flutter 切图重命名脚本