压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

神奇的數字“3”:一次翻轉3個比特即可實現Rowhammer攻擊

來自荷蘭的一組研究人員已經證實,可以避開糾錯碼(ECC)保護機制來執行Rowhammer內存操縱攻擊。

什么是Rowhammer?

早在2015年,谷歌的Project Zero團隊就曾發現,可以反復對相鄰行中的存儲單元進行充電和放電,來改變單個存儲單元的值。如果攻擊者準確地知道要攻擊的位置,他們就可以更改特定位置,將指令或命令注入內存中,或是授予訪問權限以訪問包含敏感信息的受限制部分。

ECC保護機制在Rowhammer出現之前就已經開發出來了,ECC代表糾錯碼,是一種內存存儲,包含作為具有高端RAM的控制機制,通常部署在昂貴的或者關鍵任務型系統中。ECC內存的工作原理是通過檢測并校正單個比特值的變化,來防止比特翻轉的情況,就像Rowhammer攻擊造成的那樣。

近日,阿姆斯特丹自由大學(The Vrije Universiteit Amsterdam)的一組研究人員表示,他們已經開發出了一種切實可行的方法,來精確地改變服務器RAM內存芯片中的比特,而不會觸發ECC的校正機制。這就使得他們能夠篡改數據,注入惡意代碼和命令,并更改訪問權限,以便可以竊取密碼、密鑰和其他秘密信息。

這一研究發現可謂意義非凡,因為雖然ECC曾被認為是阻止Rowhammer式攻擊的可靠方法,但有人認為從理論上可以繞過這種防御機制。現在這種想法已經得到了證實。

結果是,惡意行為者可以利用該團隊提出來的避開服務器上ECC的技術,使用Rowhammer手段從這些高價值目標中提取信息。當然,這些惡意行為者必須先進入他們可以在易受攻擊的機器上翻轉比特的位置,為了實現這一步,他們可能會使用設備上已有的惡意軟件。

神奇的數字“3”

阿姆斯特丹自由大學的研究團隊證實,ECC校驗錯誤的方式存在一個可利用的漏洞:當一個比特被改變時,ECC系統會糾正該錯誤。而當發現兩個比特被改變時,ECC就會使程序崩潰。

但如果三個比特可以同時被改變,ECC就無法捕獲到這種改動行為。這一點是眾所周知的,不過這里的關鍵是可以證明,它能夠讓Rowhammer攻擊有機可乘。

至關重要的是,研究人員發現了一種類似競爭條件(race condition,即兩個或多個進程讀寫某些共享數據,而最后的結果取決于進程運行的精確時序)的情況,這讓他們確信可以利用3比特翻轉技術有效地操縱RAM地址。

研究人員認為,相比從不需要校正的地址讀取內容,從需要糾正比特翻轉的內存位置讀取內容所花的時間通常來得更長。因此,實驗過程中他們依次嘗試每個比特,直到找到這樣一個可以翻轉三個易受攻擊的比特的word。最后一步是讓兩個位置的所有三個比特都不相同,并實施最后一擊,一次性翻轉所有三個比特:任務完成。

研究人員表示,他們能夠在四種不同的服務器系統上測試和重建漏洞:三個系統運行英特爾芯片,另一個系統使用AMD。他們拒絕透露任何特定的內存品牌。

幸運的是,雖然攻擊很難防止,但在實際環境下也很難實現。阿姆斯特丹自由大學的研究團隊梳理了眾多地址以找到易受攻擊的地址,然后實際執行Rowhammer攻擊。他們表示,在有繁雜的系統中,攻擊可能需要長達一周的時間才能順利實現攻擊。

研究人員表示,他們的研究結果不應被視為對ECC的譴責。相反地,它應該向系統管理員和安全專業人員展示ECC只是他們應該與其他安全機制(比如優化的硬件配置和認真仔細的記錄及監測等)結合使用的幾道保護層之一。

ECC無法阻止針對各種硬件組合的Rowhammer攻擊。如果比特翻轉的數字足夠大,ECC只會減慢攻擊速度。

據悉,介紹這種攻擊技術的論文題目為《利用糾正碼:關于利用ECC內存對付Rowhammer攻擊的有效性》,并將于明年在安全與隱私研討會上正式發表。

上一篇:智能數據與可見性提升DevOps安全

下一篇:23家安全公司:Computing評出年度“安全卓越獎”