首頁 > 科技

新型記憶體攻擊,專治製程提高的晶片

2021-06-08 10:43:48

水木番 發自 凹非寺量子位 報道 | 公眾號 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攻擊會不會再起風雲呢?


IT145.com E-mail:sddin#qq.com