谷歌的安全團隊“Project Zero”近日發(fā)布了一項關于動態(tài)隨機儲存器(DRAM)的漏洞,借助這項漏洞,攻擊者可以通過反復加載內存的特定行來實現賬戶提權。
該漏洞在一篇卡內基梅隆大學和英特爾實驗室的合作論文中被首次提出,名為Rowhammer。論文中說,此漏洞主要為威脅到搭載特定DRAM的設備,這主要是x86架構的筆記本電腦。漏洞的主要表現是:當攻擊者敲打(Hammering)內存的特定某幾行時,會導致其它行的內存單元相應地翻轉。
更嚴重的是,該漏洞并不僅僅存在于理論層面上。谷歌的研究小組已經提出了兩個概念認證過的漏洞案例。
Project Zero的博客發(fā)布的文章,聲稱內存的小型化是漏洞的根源。
“當DRAM的制造精度越來越高,部件在物理層面上越來越小。既能在一塊芯片上集成更大的內存容量,又能讓各個內存單元之間不發(fā)生電磁干擾是非常難以做到的”,Zero Project的團隊成員馬克·西伯恩在博客中寫道。“這一情況使得對內存的單個區(qū)域進行的讀寫有可能干擾到鄰近的區(qū)域,導致電流流入或流出鄰近的內存單元。如果反復進行大量讀寫,有可能改變鄰近內存單元的內容,使得0變成1,或者1變成0”。
谷歌提出的兩例概念認證的漏洞中,其中之一關于x86和x64架構的Linux系統(tǒng),另外一個則是關于Google Native Client(NaCl)程序。前者“提升了訪問整塊內存區(qū)域的權限”,后者則“提權,導致可以越過NaCl的x86-64沙盒,直接使用主機的系統(tǒng)調用”。后者可以通過對NaCl程序進行稍許改動來進行防御,但是前者在當今的設備上很難防范。
基于這兩個漏洞,Project Zero團隊對制造于2010~2014年間的8個x86筆記本原型機展開了測試,過程中使用了5個供應商的DRAM和來自5個不同家族的CPU。團隊發(fā)現,15/29的結果都存在風險,這是一個相當大的比例。
不過,除了測試之外,還有一些值得注意的東西。團隊強調,研究的樣本量仍然較小,而且得到的負面結果也不一定就意味著漏洞。另外,臺式電腦看上去并沒有受到威脅,這有可能是因為臺式機都配備了相對來說比較高端的ECC(錯誤檢查糾正技術)內存。ECC內存并沒有比特翻轉的問題。然而,大多數筆記本電腦并不使用帶有ECC的DRAM。
內存制造商并未忽視該問題。2014年發(fā)表的一篇論文顯示,英特爾公布了一系列涉及到該漏洞的軟件。谷歌的團隊提到,“至少有一個DRAM制造商在公開數據里表示,他們在自己生產的動態(tài)隨機存儲器設備里加上了防御Rowhammer漏洞的措施,而且這并不需要額外的內存控制器支持”。
Project Zero敦促DRAM制造商、CPU制造商、BIOS制造商披露他們解決Rowhammer問題的更多措施。這樣不僅僅會幫助篩選出假陰性的例子,還能幫助軟件和操作系統(tǒng)制造商找到防御類似問題的措施。
原文地址:http://www.aqniu.com/threat-alert/6887.html