變身「毒」蘋(píng)果?全球首個(gè) DMP 漏洞,僅 A14、M1 等蘋(píng)果芯片獨(dú)有
來(lái)源 | CSDN
近來(lái)的蘋(píng)果,可以說(shuō)是很好地詮釋了一個(gè)詞:樹(shù)大招風(fēng)。
前有各大監(jiān)管機(jī)構(gòu)查它壟斷、命其開(kāi)放,后有競(jìng)爭(zhēng)公司不斷挖角、竊取機(jī)密,甚至就在日前,還有研究人員在 Apple Silicon 中發(fā)現(xiàn)了世界首個(gè)數(shù)據(jù)內(nèi)存依賴預(yù)取器(Data Memory-Dependent Prefetcher,簡(jiǎn)稱為 DMP)安全漏洞——該漏洞被稱為“Augury”(意為“占卜”),目前只存在于 Apple Silicon。
發(fā)現(xiàn) Augury 的研究團(tuán)隊(duì)成員來(lái)自不同高校,其中包括伊利諾伊大學(xué)厄巴納-香檳分校、特拉維夫大學(xué)和華盛頓大學(xué),而該團(tuán)隊(duì)一直以來(lái)對(duì) DMP 都存有疑慮。
DMP,即數(shù)據(jù)內(nèi)存依賴預(yù)取器,可通過(guò)了解整個(gè)內(nèi)存內(nèi)容,預(yù)取數(shù)據(jù)來(lái)提高系統(tǒng)性能。一般來(lái)說(shuō),為了確保系統(tǒng)安全,內(nèi)存訪問(wèn)會(huì)受到限制和劃分,而著名科技評(píng)測(cè)網(wǎng)站 Anandtech 在蘋(píng)果推出 M1 后,對(duì) A14 測(cè)評(píng)的一段措辭引起了該研究團(tuán)隊(duì)的注意:
在微架構(gòu)調(diào)查中,我們?cè)谔O(píng)果的芯片設(shè)計(jì)中看到了“記憶魔法”的跡象,我們推測(cè)蘋(píng)果正在使用某種指針追蹤預(yù)取機(jī)制。
對(duì)此,研究團(tuán)隊(duì)猜測(cè):蘋(píng)果芯片的 DMP 預(yù)取可能會(huì)超出內(nèi)存指針集,即可以訪問(wèn)并嘗試對(duì)不相關(guān)的內(nèi)存地址進(jìn)行預(yù)取,甚至深度預(yù)取。
出于這種擔(dān)憂,該團(tuán)隊(duì)開(kāi)始研究 M1 和 A14,也果然發(fā)現(xiàn)了眉目:
“我們發(fā)現(xiàn)蘋(píng)果處理器有一個(gè) DMP。”
“我們發(fā)現(xiàn)這個(gè) DMP 預(yù)取了一個(gè)指針數(shù)組解引用模式?!?/span>
“我們發(fā)現(xiàn)可以通過(guò)此預(yù)取器來(lái)泄漏任何指令都不會(huì)讀取的數(shù)據(jù)(指針),即使只是推測(cè)性的!”
進(jìn)一步解釋:Apple Silicon 的 DMP 功能存在漏洞“Augury”,如該漏洞被攻擊者成功利用,系統(tǒng)將會(huì)被暴露于靜態(tài)數(shù)據(jù)攻擊,即被泄露的數(shù)據(jù)由于是靜態(tài)的,不會(huì)以推測(cè)或非推測(cè)的方式被核心讀取,因此難以被發(fā)現(xiàn)。
具體來(lái)說(shuō),該研究團(tuán)隊(duì)發(fā)現(xiàn) Apple Silicon 的確使用了 DMP 預(yù)取指針數(shù)組 (AoP):
for( i=0; i<len(arr); i++ ){ *arr[i];}
研究人員對(duì)此解釋道:“一旦代碼看到 *arr[0]……arr[2] 發(fā)生(甚至只是推測(cè)性的!),它就將開(kāi)始預(yù)取 arr[3]。也就是說(shuō),它是先預(yù)取 arr 的內(nèi)容,然后才取消引用。但一般傳統(tǒng)的預(yù)取器不會(huì)執(zhí)行第二步/取消引用的操作。”
在 AoP 中,系統(tǒng)尋址、讀取和緩存尚未訪問(wèn)過(guò)的內(nèi)存,且這些數(shù)據(jù)可能永遠(yuǎn)不會(huì)被訪問(wèn)——也就是說(shuō),目前 Apple Silicon 的 DMP 功能使系統(tǒng)過(guò)度讀取和暴露數(shù)據(jù),也就更容易受到攻擊。
說(shuō)到這里,可能會(huì)有人會(huì)由這次的 Augury,聯(lián)想到曾經(jīng)在全球引起巨大轟動(dòng)的 Spectre 和 Meltdown 漏洞(這兩個(gè)漏洞可使攻擊者通過(guò)利用并行運(yùn)行進(jìn)程的方式來(lái)破壞處理器的特權(quán)內(nèi)存,竊取敏感數(shù)據(jù)),但該研究團(tuán)隊(duì)指出,Augury 和 Spectre/Meltdown 并不相同:
Augury 只利用 DMP 功能,并非瞬態(tài)執(zhí)行;
Spectre 可被完全禁用,而 Augury 將仍然存在;
適用于 Augury 的防御類型與其他微架構(gòu)攻擊也不同。任何依賴于跟蹤被核心訪問(wèn)的數(shù)據(jù)防御都不能阻止 Augury 泄露數(shù)據(jù),因?yàn)橥ㄟ^(guò) Augury 泄露的數(shù)據(jù)永遠(yuǎn)不會(huì)被核心讀取。
因此我們也可以理解為,Spectre 和 Meltdown 漏洞泄漏的是正在使用的數(shù)據(jù),而利用蘋(píng)果的 DMP,Augury 可能會(huì)泄漏整個(gè)內(nèi)存內(nèi)容,即使這些數(shù)據(jù)沒(méi)有被主動(dòng)訪問(wèn)。
據(jù)研究團(tuán)隊(duì)公開(kāi)的漏洞資料表明,Augury 目前僅存于 Apple Silicon,已確認(rèn)受影響的芯片包括 A14、M1 和 M1 Max(都具有 DMP 功能)。他們也對(duì)最新幾款英特爾和 AMD 處理器進(jìn)行了測(cè)試,但均沒(méi)有發(fā)現(xiàn) Augury 漏洞的跡象。
此外,研究人員補(bǔ)充道:“我們認(rèn)為一些較舊的 A 系列芯片和最新的 M1 系列(M1 Pro 等)芯片也會(huì)受到影響,但目前只在 M1 Max 上得到了證實(shí)?!?/span>
值得慶幸的是,該研究團(tuán)隊(duì)指出,盡管聽(tīng)起來(lái) Augury 存在不小的隱患,但他們還未“展示任何借助 Augury 進(jìn)行端到端的漏洞利用”,因此至少現(xiàn)階段,“只有指針會(huì)被泄露”。
至于該漏洞的補(bǔ)丁,研究團(tuán)隊(duì)表示已與蘋(píng)果方面討論過(guò)這個(gè)問(wèn)題,蘋(píng)果也已知曉漏洞的全部細(xì)節(jié),但目前據(jù)他們的了解,蘋(píng)果尚未推出相關(guān)補(bǔ)丁。
參考鏈接:
https://www.prefetchers.info/
https://www.tomshardware.com/news/apple-silicon-exclusively-hit-with-world-first-augury-dmp-vulnerability
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。