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