row hammer主要是一个DRAM的硬件漏洞,很难防止,但攻击也很难进行。
通过重复访问进程虚拟地址空间中的两个“攻击者”内存位置,它们可能导致第三个“受害者”位置的位翻转。受害者位置可能位于进程的虚拟地址空间之外——它位于与攻击者位置不同的DRAM行中。
如果对同一地址读写次数足够多,在自动刷新相邻行之间(通常每64毫秒刷新一次),可能会导致相邻行的位翻转。
为了使code1a产生位翻转,地址X和Y必须映射到DRAM的同一bank中不同行。
背景知识
1.DRAM的结构
rack=nbank
bank=n row
2.访问cell过程
每个DRAM芯片包含许多行单元。在内存中访问一个字节需要将数据从行传输到芯片的“行缓冲区”(在进程中释放行缓冲区的单元),读取或写入行缓冲区的内容,然后将行缓冲区的内容复制回原来的行缓冲区的单元(对单元进行充电)
未完。。。