日前,,來自阿姆斯特丹自由大學(xué)的學(xué)者發(fā)表了一篇名為ECCploit的研究論文,,描述了一種可繞過ECC內(nèi)存保護的Rowhammer攻擊(利用現(xiàn)代存儲卡硬件設(shè)計缺陷的一類漏洞)的新變種。
在默認情況下,存儲卡將臨時數(shù)據(jù)儲存在臨時存儲器元件中,,以柵格的形式多行排列在物理硅片上,。研究人員在2014年發(fā)現(xiàn),,通過反復(fù)讀取一行存儲數(shù)據(jù)可以創(chuàng)建一個電場來改變臨近行中的存儲數(shù)據(jù),,從而導(dǎo)致數(shù)據(jù)損壞或以惡意方式操縱數(shù)據(jù)。隨后幾年,,研究人員擴展了Rowhammer攻擊的方式和開發(fā)場景,,并表示硬件制造商不可忽視這個漏洞。
理論上,,Rowhammer攻擊的方式和形式有很多種:
◇ 改變存儲在DDR3,、DDR4以及類似的存儲卡上的數(shù)據(jù)
◇ 通過JavaScript、網(wǎng)絡(luò)(不一定要訪問PC)和本地惡意軟件進行攻擊
◇ 通過Microsoft Edge瀏覽器控制Windows計算機
◇ 攻擊并控制安裝在云托管環(huán)境中基于Linux的虛擬機
◇ 攻擊并獲取Android智能手機的root權(quán)限
◇ 當(dāng)?shù)谝淮喂舯慌逗驲owhammer會自動繞過已經(jīng)到位的Rowhammer防衛(wèi)
◇ 攻擊者可利用本地GPU提高攻擊效率
◇ 可通過網(wǎng)絡(luò)數(shù)據(jù)包發(fā)起攻擊
◇ 轉(zhuǎn)化為ION攻擊Android內(nèi)存子系統(tǒng),,這打破了操作系統(tǒng)和本地應(yīng)用之間的隔離,,允許數(shù)據(jù)被盜和整個設(shè)備被控制
ECC(Error-Correcting Code)是一種能夠?qū)崿F(xiàn)“錯誤檢查和糾正”的技術(shù),,是高端RAM采用的一種典型的控制機制,硬件制造商在過去聲稱ECC內(nèi)存保護能檢測并防御Rowhammer攻擊,。
ECC內(nèi)存最初被用于防止由α粒子,、中子和其他宇宙射線引發(fā)的比特翻轉(zhuǎn),后來,,研究證明ECC內(nèi)存對防御Rowhammer攻擊也有效,。但是,阿姆斯特丹自由大學(xué)的團隊經(jīng)過數(shù)月對ECC內(nèi)存的逆向工程設(shè)計,,發(fā)現(xiàn)這種保護機制也存在局限性,。
研究人員表示,ECC內(nèi)存一次只能對監(jiān)視的一個內(nèi)存段中的一個比特翻轉(zhuǎn)進行檢測和糾正,;當(dāng)一內(nèi)存段中同時發(fā)生兩個比特翻轉(zhuǎn)時,,ECC內(nèi)存會不堪重負,為了避免數(shù)據(jù)損壞或安全性受損而導(dǎo)致底層應(yīng)用程序的崩潰,;而當(dāng)三個比特翻轉(zhuǎn)同時發(fā)生時,,ECC內(nèi)存雖然不會崩潰,,但也不會做出任何反應(yīng),,這樣,Rowhammer攻擊就能完全繞過ECC保護,。
令人欣慰的是,,目前似乎沒有必要過度擔(dān)憂,因為自2014年被曝光以來,,Rowhammer攻擊一直都只存在于專業(yè)學(xué)者的理論推斷中,。像Meltdown和Spectre的CPU漏洞那樣,Rowhammer攻擊只是理論上的攻擊,,從未在自然環(huán)境下發(fā)生過,,但這些都揭示了支撐現(xiàn)代技術(shù)的硬件的主要設(shè)計缺陷。
研究人員認為目前企業(yè)沒有必要因為Rowhammer攻擊而避免使用ECC內(nèi)存,,因為發(fā)動一次ECCploit攻擊需要32分鐘甚至一周的時間,,這意味著它遠不如聽起來的那么危險,研究人員希望,,對Rowhammer ECCploit攻擊的研究能給硬件供應(yīng)商帶來關(guān)于硬件設(shè)計和銷售方面的啟發(fā),。