ITBear旗下自媒體矩陣:

Black Hat Asia 2019 | PC安全機制又招“重錘”,百度安全發(fā)現(xiàn)新型Rowhammer攻擊方法

   時間:2019-04-10 14:47:12 來源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評論無障礙通道

自從Rowhammer漏洞首次出現(xiàn)以來,研究者與防御者之間可以說從此上演了一場軍備競賽,一招一式之間彰顯各方技術(shù)實力。就在最近,百度安全實驗室資深研究員Yueqiang Cheng博士和新南威爾士大學(xué)的Zhi Zhang博士就祭出大招,他們發(fā)現(xiàn)了一種新型Rowhammer攻擊方法,可以有效攻破目前PC上的各種防御機制,從而使得整個PC安全機制面臨崩塌的風(fēng)險。

憑借此項研究,百度安全成功入選了本屆Black Hat Asia,成為本屆大會“連中三元”的贏家。3月26日,Yueqiang Cheng博士和Zhi Zhang博士受邀出席大會并在演講中詳細介紹了Rowhammer新型攻擊方法和防御思路。

Black Hat是國際安全工業(yè)界的頂級會議之一,具有廣泛的影響力。每年分別在美國、歐洲、亞洲各舉辦一次安全信息技術(shù)峰會,會議聚焦于先進安全研究、發(fā)展和趨勢,并以其強技術(shù)性、權(quán)威性、客觀性引領(lǐng)未來安全思想和技術(shù)的走向。為保證會議內(nèi)容的技術(shù)先進性和客觀性,Black Hat對報告內(nèi)容有嚴苛的評審機制,報告入選率不足20%。近年來,百度安全多次登上Black Hat的舞臺,分享在AI安全、移動安全等領(lǐng)域的研究與實踐成果。

百度安全發(fā)現(xiàn)最全新Rowhammer攻擊方法

這幾年,硬件內(nèi)存容量正在大幅度上漲,這直接要求著每個單獨DRAM芯片上的存儲容量也要提升,存儲單元的密度顯著增加。當(dāng)頻繁轟炸多個DRAM內(nèi)存單元時,其相鄰行的電荷將會發(fā)生相互干擾,觸發(fā)DRAM單元極間的相互作用,造成DRAM中比特位數(shù)值的永久翻轉(zhuǎn),這意味著攻擊者可以在不訪問目標(biāo)內(nèi)存區(qū)域的前提下使目標(biāo)內(nèi)存區(qū)域產(chǎn)生數(shù)據(jù)錯誤。這就是Rowhammer比特翻轉(zhuǎn)攻擊。

攻擊者可以利用它破壞MMU強制執(zhí)行的內(nèi)存保護,從而獲得權(quán)限提升。值得關(guān)注的是,在這個過程中攻擊者不需要借助任何軟件漏洞,便能打破沙盒,攻擊內(nèi)核甚至虛擬機監(jiān)控器,從而獲得非法提權(quán),造成用戶隱私泄漏或者帳號資產(chǎn)被盜等嚴重損失。

這一存在設(shè)備硬件端的漏洞,已然超越了傳統(tǒng)安全軟件的對于解決方案的認識,無法僅僅通過升級操作系統(tǒng)軟件來解決。但為了抵御該攻擊,業(yè)界還是提出了不少防護措施?;谟布姆雷o措施需要硬件廠商修改硬件標(biāo)準(zhǔn),對硬件進行升級,對現(xiàn)有的硬件無法進行防護。因此,具有實用性的軟件防護機制是目前主流的防御辦法。

在這些軟件防御中,基于內(nèi)核的memory isolation是最有效和實用的解決方案(CATT Usenix Security 2017)。該方案將物理內(nèi)存分割成若干隔離的物理分區(qū),并確保每一個分區(qū)只能被一個軟件域使用,由任意軟件域發(fā)起的內(nèi)存訪問只能由它所分配的物理分區(qū)完成,因此,任何軟件域所觸發(fā)的位翻轉(zhuǎn)只能發(fā)生在該域所在的分區(qū),從而防止軟件域逃逸而引起權(quán)限提升。

此次演講中,來自百度安全的Yueqiang Cheng博士展示了一種全新的攻擊方法,可以有效攻破上述目前最先進的memory isolation機制,從而使得Rowhammer攻擊內(nèi)核變得可能。該方法證明在現(xiàn)代操作系統(tǒng)中,物理隔離也表現(xiàn)的回天乏術(shù)。

具體來說,之前基于內(nèi)核的memory isolation機制基于靜態(tài)ownership來決定所有權(quán)的歸屬。比如內(nèi)核申請的內(nèi)存屬于內(nèi)核域,用戶申請的內(nèi)存屬于用戶域。但是Yueqiang Cheng博士發(fā)現(xiàn),在現(xiàn)代的內(nèi)核里面,內(nèi)存的歸屬權(quán)往往是動態(tài)變動的,而且會有多個所有者的情況,比如大量mmap的內(nèi)核內(nèi)存,都同時有兩個擁有者。通過這樣的內(nèi)存,攻擊者就有機會發(fā)起Rowhammer,獲得內(nèi)核權(quán)限。該攻擊分為以下幾個步驟:

1.尋找到符合要求的內(nèi)存。此次攻擊里面使用了SCSI驅(qū)動的內(nèi)存和Video驅(qū)動的內(nèi)存。這樣的內(nèi)存都具有兩個所有者。

2.百度安全提出了全新的memory ambush技術(shù),將其隱蔽的放置頁表頁面在目標(biāo)周圍。相比以往的Rowhammer技術(shù)往往需要申請大量的內(nèi)存,甚至有些時候會引起系統(tǒng)的崩潰等不穩(wěn)定情況出現(xiàn)。而memory ambush技術(shù)巧妙的搭建在Linux Buddy Alloctor的基礎(chǔ)上,可以有效且準(zhǔn)確的控制目標(biāo)內(nèi)存。在實驗環(huán)境下面,僅僅使用88MB內(nèi)存就可以發(fā)起攻擊。

3.使用side-sided Rowhammaer技術(shù)對目標(biāo)內(nèi)存(比如頁表頁面)進行攻擊,使其發(fā)生bit翻轉(zhuǎn)

4.控制頁表去任意修改內(nèi)核數(shù)據(jù)和其他程序的代碼和數(shù)據(jù)

5.修改uid,或者root提權(quán)。

注意這里的memory ambush技術(shù)和另外文章another flip (S&P2018)里面用的memory waylaying有著類似的優(yōu)點(占用內(nèi)存很小,不會導(dǎo)致系統(tǒng)內(nèi)存耗盡),但是兩者的技術(shù)有很大不同。memory ambush技術(shù)建立在Linux Buddy Alloctor基礎(chǔ)上,而memory waylaying建立在page cache的基礎(chǔ)上。另外該another flip文章是從一個non-root process攻擊了在同一個user隔離域里面的root process,memory ambush則是從根本上攻擊了完全隔離的另外一個域(從user隔離域攻擊kernel隔離域)。如果CATT進行了細粒度的隔離域分割,比如把user隔離域分為root-user隔離域和non-root-user隔離域,another flip的攻擊就不能成功,但此次百度安全在Black Hat Asia上所展示的攻擊依然有效。

此次新型攻擊程序允許普通用戶隱蔽地獲取Linux系統(tǒng)(Linux 4.x)的root/kernel權(quán)限。這對整個系統(tǒng)的完整性和隱私性都會形成重大威脅。獲得提權(quán)之后,攻擊者可以任意獲取用戶隱私,篡改重要數(shù)據(jù),監(jiān)控用戶行為等等種種惡意攻擊。

任重而道遠,防御Rowhammer的路還很長

Rowhammer還活著,比特翻轉(zhuǎn)的風(fēng)險依然存在。針對此次公布的新型攻擊手法,百度安全也介紹了一些防御方案建議,希望這些研究成果能夠給內(nèi)存芯片廠商帶來新的思路,提高芯片對于Rowhammer的防御能力。

第一,將軟件域之間的共享內(nèi)存區(qū)域歸入低權(quán)限的軟件域中,因此將該共享內(nèi)存和高權(quán)限的物理分區(qū)隔離,阻斷Rowahmmer,這需要大量修改系統(tǒng)內(nèi)核的內(nèi)存分配子系統(tǒng),確保共享內(nèi)存區(qū)域不再用于安全敏感數(shù)據(jù)結(jié)構(gòu)的分配,因此此方案可行性較低;

第二,將所有數(shù)據(jù)(包括代碼)所在的DRAM單元行進行上下隔離,即數(shù)據(jù)單元行之間相隔一個無效單元行,因此確保位翻轉(zhuǎn)只會發(fā)生在無效行上,避免數(shù)據(jù)行被影響。此方法的問題在于沒有考慮位翻轉(zhuǎn)可以發(fā)生在連續(xù)多個單元行上,即一個數(shù)據(jù)單元行可引發(fā)相鄰的無效單元行以及更遠的數(shù)據(jù)單元行發(fā)生翻轉(zhuǎn),導(dǎo)致權(quán)限提升;

第三,將所有的頁表頁放在DRAM模塊的true cells上,且只有頁表頁均位于物理地址區(qū)域的最高區(qū)域,因此確保當(dāng)頁表頁發(fā)生翻轉(zhuǎn)時只會指向低段的物理地址區(qū)域(比特位只會由1到0進行翻轉(zhuǎn)),而不會指向位于高端的頁表頁,從而防止攻擊者獲得可寫頁表頁。該方案只保護以頁表頁可寫為目標(biāo)的Rowhammr攻擊,保護范圍受限,即當(dāng)攻擊者將頁表頁翻轉(zhuǎn)指向一個非頁表頁,如當(dāng)前進程的cred結(jié)構(gòu)體或者root進程的權(quán)限檢查代碼頁,該方案就會失效。最后,它依賴于一個大概率事件,即true cells的位翻轉(zhuǎn)方向是1到0,但該翻轉(zhuǎn)方向的概率是隨DRAM模塊變化的,并不是恒定的翻轉(zhuǎn)方向,一旦true cells發(fā)生從0到1的翻轉(zhuǎn),那么該方案也會失效。

總的來說,現(xiàn)有的軟件防護只能一定程度地減弱Rowhammer攻擊,我們還需要新的軟件防護機制來保衛(wèi)現(xiàn)有的計算機系統(tǒng),提高黑客的攻擊成本。

在萬物互聯(lián)的趨勢下,只有敢于直面問題才能解決問題。百度安全始終倡導(dǎo)通過新一代技術(shù)研發(fā)與開源,實現(xiàn)對安全問題的快速響應(yīng)和有效對抗。在在本屆Black Hat Asia中,百度安全對于深度神經(jīng)網(wǎng)絡(luò)(DNN)模型算法安全性、Rowhammer新型攻擊方法、Meltdown新變種三大創(chuàng)新性研究報告成功入選,彰顯了百度安全在AI安全、系統(tǒng)安全、軟件安全等重要安全領(lǐng)域方面具有世界領(lǐng)先的技術(shù)儲備。未來,百度安全還將繼續(xù)聯(lián)手學(xué)界、業(yè)界和監(jiān)管機構(gòu)一道,協(xié)作共贏,打造AI時代的安全生態(tài)。

舉報 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version