row hammer主要是一個(gè)DRAM的硬件漏洞,很難防止,但攻擊也很難進(jìn)行。
通過(guò)重復(fù)訪問(wèn)進(jìn)程虛擬地址空間中的兩個(gè)“攻擊者”內(nèi)存位置,它們可能導(dǎo)致第三個(gè)“受害者”位置的位翻轉(zhuǎn)。受害者位置可能位于進(jìn)程的虛擬地址空間之外——它位于與攻擊者位置不同的DRAM行中。
如果對(duì)同一地址讀寫次數(shù)足夠多,在自動(dòng)刷新相鄰行之間(通常每64毫秒刷新一次),可能會(huì)導(dǎo)致相鄰行的位翻轉(zhuǎn)。

翻轉(zhuǎn)代碼
為了使code1a產(chǎn)生位翻轉(zhuǎn),地址X和Y必須映射到DRAM的同一bank中不同行。
背景知識(shí)
1.DRAM的結(jié)構(gòu)
rack=nbank
bank=n row

DRAM的結(jié)構(gòu)
2.訪問(wèn)cell過(guò)程

cell充放電
每個(gè)DRAM芯片包含許多行單元。在內(nèi)存中訪問(wèn)一個(gè)字節(jié)需要將數(shù)據(jù)從行傳輸?shù)叫酒摹靶芯彌_區(qū)”(在進(jìn)程中釋放行緩沖區(qū)的單元),讀取或?qū)懭胄芯彌_區(qū)的內(nèi)容,然后將行緩沖區(qū)的內(nèi)容復(fù)制回原來(lái)的行緩沖區(qū)的單元(對(duì)單元進(jìn)行充電)
未完。。。