导读:近日,国际顶级设计自动化大会DAC大会公布DAC 2020会议议程和论文名单,由百度安全发表的《DRAMDig: A Knowledge-assisted Tool to Uncover DRAM Address Mapping》成功入选。
本篇论文介绍了由百度安全所研究设计的DRAM address mapping逆向工具——DRAMDig,能够在平均7~8分钟时间(最快仅需要69秒),快速、可靠地逆向出DRAM地址映射 ——Rowhammer攻击实现的关键步骤。该工具可用来评估个人主机、云计算基础设施是否受到Rowhammer攻击的威胁。
DAC是以电子设计自动化(EDA)和嵌入式系统及软件(ESS)为主题的国际公认的最顶尖学术会议,也是中国计算机学会(CCF)认定的A类会议,被誉为EDA界的奥斯卡。大会每年吸引全球知名的学者参与成果发布和技术讨论,近两年论文接受率维持在20%左右。
图1. 2020 DAC Accepted Papers
谈到Rowhammer攻击,整个安全行业一定都不陌生,2014卡内基梅隆大学 宣布发现一种存在于动态随机储存器(下称DRAM)的漏洞,借助这项漏洞,攻击者可以通过反复加载内存的特定行来实现账户提权,研究一经发表,便掀起业内极大轰动,因为这表明了不管是PC、手机,不管操作系统是Linux、Windows··,几乎所有搭载DRAM内存的X86构架CPU的设备都会都会存在安全隐患,影响不言而喻。
那么,今天我们就带大家了解一下,究竟颠覆攻击逻辑的Rowhammer到底是什么?由百度安全研究员Minghua Wang和Yueqiang Cheng联合Henry Zhang(来自澳洲Data61)所研究设计的映射逆向工具DRAMDig,又是如何快速、可靠地逆向出触发Rowhammer攻击的DRAM地址映射?
“一招通杀”所有设备 ——Rowhammer攻击原理
从硬件角度来看,计算机就是一个庞大的集成电路,由大量的电子管、继电器和各种电气元件组合而成。其中用来存储信息用的物理内存,就是我们上面提到的DRAM。就像去图书馆找一本书,你需要通过书的类型和编码,定位到它在哪一个书架,哪一排,哪一格,DRAM里想要找到存储的某一数据,也有一套明确的访问路径:channel→DIMM→rank→chip→bank→cell。所以,计算机内存就是由无数个内存存储单元(下简称cell)构成的电路板。
图2.内存存储单元cell结构
cell由一个晶体管和一个电容组成,就像一个小电池,每个cell存放1 bit数据,而计算机里所有的内容,本质上都是一堆数据编码,都可以用类似01010101001这样的二进制来表达——体现在cell上,晶体管通电状态表示1,不通