英特爾今日發(fā)布了 CPU 微代碼更新,以防止攻擊者濫用 RAPL 機(jī)制、從其 CPU 中竊取敏感數(shù)據(jù)。與此同時(shí),一支研究團(tuán)隊(duì)披露了一種名叫“鴨嘴獸”(Platypus)的新型攻擊方法,全稱為“針對(duì)受保護(hù)的用戶敏感數(shù)據(jù)的功率泄露攻擊”(Power Leakage Attacks:Targeting Your Protected User Secrets)。
被攻擊者利用 RAPL 接口,全稱為“運(yùn)行平均功率限制”(Running Average Power Limit)。其支持通過系統(tǒng)固件、或工具軟件,來監(jiān)測(cè) CPU 和 DRAM 的功率消耗。
作為一種已被運(yùn)用多年的應(yīng)用程序 / 系統(tǒng)硬件性能追蹤和調(diào)試接口,其能夠有效地讓固件和工具軟件調(diào)取 CPU 為執(zhí)行相關(guān)任務(wù)所需耗費(fèi)的能源。
然而在今日發(fā)表的一篇論文中,來自格拉茨技術(shù)大學(xué)、伯明翰大學(xué)、以及 CISPA 亥姆霍茲信息安全中心的研究人員團(tuán)隊(duì),已經(jīng)揭示了如何通過 Platypus 攻擊來確定 CPU 內(nèi)部正在處理哪些數(shù)據(jù),然后通過 RAPL 接口匯報(bào)相應(yīng)的值。
研究人員指出,借助 Platypus,其證明了可通過觀察功耗的變化,來區(qū)分不同的指令、以及不同的操作數(shù)和存儲(chǔ)負(fù)載的權(quán)重,從而達(dá)成推斷出負(fù)載值的目的。
這些“已加載值”特指 CPU 中加載的數(shù)據(jù),比如加密密鑰、密碼、敏感文檔、或任何其它類型的信息。
通常情況下,這類數(shù)據(jù)的訪問可受到一系列安全機(jī)制的防護(hù)。比如內(nèi)核空間布局隨機(jī)化(KASLR),或在硬件隔離的受信任執(zhí)行環(huán)境(TEE)下運(yùn)行,Intel 公司的 SGX 也是其中一種。
然而新研究表明,Platypus 攻擊允許別有用心者通過查看功耗值的變化,來繞過所有這些安全機(jī)制構(gòu)筑的信息圍欄。
測(cè)試期間,研究人員稱其僅通過持續(xù) 20 秒的 RAPL 功耗值觀察,即成功地繞過 KASLR 機(jī)制的防護(hù),并從 Linux 內(nèi)核中檢索了相關(guān)數(shù)據(jù)。在另一項(xiàng)測(cè)試中,他們還檢索了在 Intel SGX 安全區(qū)內(nèi)處理的數(shù)據(jù)。
不過要從 SGX 安全區(qū)內(nèi)檢索 RSA 秘鑰,需要攻擊者通過 Platypus 展開持續(xù) 100 分鐘的 RAPL 數(shù)據(jù)監(jiān)測(cè)。若要從 SGX 安全區(qū)和 Linux 內(nèi)核內(nèi)存空間檢索 AES-NI 加密密鑰,更需要耗費(fèi) 26 個(gè)小時(shí)。
而且相比之下,Linux 較其它平臺(tái)更易受到 Platypus 攻擊的影響。因?yàn)?Linux 內(nèi)核附帶了 powercap 框架,該通用驅(qū)動(dòng)程序可用于和 RAPL 接口(及其它功率限制 API)進(jìn)行交互,以輕松讀取功耗值。
當(dāng)然,這并不意味著 Windows 和 macOS 就可以高枕無憂。只是在某些情況下,攻擊者必須在目標(biāo)設(shè)備上安裝 Intel Power Gadget 實(shí)用工具應(yīng)用程序,才能夠通過 RAPL 接口進(jìn)行交互。
但無論底層操作系統(tǒng)如何處理,針對(duì) Intel SGX 安全區(qū)的 Platypus 攻擊都可以在一定程度上得逞。因?yàn)楣粽邇H追求對(duì) SGX 安全區(qū)的訪問,而不涉及 OS 底層及其獨(dú)立的 CPU 內(nèi)存區(qū)域。
除了通過物理接觸,研究團(tuán)隊(duì)也證實(shí) Platypus 攻擊可遠(yuǎn)程發(fā)起。比如通過將攻擊代碼植入惡意軟件的安裝包中,即可在沒有真人直接介入的情況下對(duì)目標(biāo)系統(tǒng)展開攻擊。
當(dāng)然,Platypus 和 PlunderVolt 攻擊也存在著較大的區(qū)別。后者是針對(duì) Intel CPU 電源電壓接口的另一種形式的攻擊,實(shí)際應(yīng)用中也更加積極(比如主動(dòng)修改功率值)。
相比之下,Platypus 要更加被動(dòng)一些,僅通過查看功耗數(shù)據(jù)來推斷出 CPU 正在處理的敏感數(shù)據(jù)。慶幸的是,芯片制造商已于今日發(fā)布了 CPU 微代碼(固件)修復(fù)更新。
最后,相關(guān)安全報(bào)告涉及 CVE-2020-8694(Linux + Intel)、CVE-2020-8695(Intel)、以及 CVE-2020-12912(Linux AMD),研究論文(PDF)和更多細(xì)節(jié)可移步至 Platypus Attack 網(wǎng)站查看。
責(zé)編AJX
-
cpu
+關(guān)注
關(guān)注
68文章
10868瀏覽量
211844 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7045瀏覽量
89061 -
intel
+關(guān)注
關(guān)注
19文章
3482瀏覽量
186020
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論