變身“毒”蘋果?全球首個 MP漏洞,僅A14、M1等蘋果芯片獨有

蘋果已知情,但尚未打補丁。

近來的蘋果,可以說是很好地詮釋了一個詞:樹大招風。

前有各大監管機構查它壟斷、命其開放,後有競爭公司不斷挖角、竊取機密,甚至就在日前,還有研究人員在 Apple Silicon 中發現了世界首個數據內存依賴預取器(Data Memory-Dependent Prefetcher,簡稱為 DMP)安全漏洞——該漏洞被稱為“Augury”(意為“佔卜”),目前只存在於 Apple Silicon。

1 一直對 DMP 存有疑慮

發現 Augury 的研究團隊成員來自不同高校,其中包括伊利諾伊大學厄巴納-香檳分校、特拉維夫大學和華盛頓大學,而該團隊一直以來對 DMP 都存有疑慮。

DMP,即數據內存依賴預取器,可通過瞭解整個內存內容,預取數據來提高系統性能。一般來說,為了確保系統安全,內存訪問會受到限制和劃分,而著名科技評測網站 Anandtech 在蘋果推出 M1 後,對 A14 測評的一段措辭引起了該研究團隊的注意:

在微架構調查中,我們在蘋果的芯片設計中看到了“記憶魔法”的跡象,我們推測蘋果正在使用某種指針追蹤預取機制。

對此,研究團隊猜測:蘋果芯片的 DMP 預取可能會超出內存指針集,即可以訪問並嘗試對不相關的內存地址進行預取,甚至深度預取。

出於這種擔憂,該團隊開始研究 M1 和 A14,也果然發現了眉目:

  • “我們發現蘋果處理器有一個 DMP。”

  • “我們發現這個 DMP 預取了一個指針數組解引用模式。”

  • “我們發現可以通過此預取器來洩漏任何指令都不會讀取的數據(指針),即使只是推測性的!”

進一步解釋:Apple Silicon 的 DMP 功能存在漏洞“Augury”,如該漏洞被攻擊者成功利用,系統將會被暴露於靜態數據攻擊,即被洩露的數據由於是靜態的,不會以推測或非推測的方式被核心讀取,因此難以被發現。

2 Apple Silicon 獨有的漏洞

具體來說,該研究團隊發現 Apple Silicon 的確使用了 DMP 預取指針數組 (AoP):

研究人員對此解釋道:“一旦代碼看到 *arr[0]……arr[2] 發生(甚至只是推測性的!),它就將開始預取 arr[3]。也就是說,它是先預取 arr 的內容,然後才取消引用。但一般傳統的預取器不會執行第二步/取消引用的操作。”

在 AoP 中,系統尋址、讀取和緩存尚未訪問過的內存,且這些數據可能永遠不會被訪問——也就是說,目前 Apple Silicon 的 DMP 功能使系統過度讀取和暴露數據,也就更容易受到攻擊。

說到這裡,可能會有人會由這次的 Augury,聯想到曾經在全球引起巨大轟動的 Spectre 和 Meltdown 漏洞(這兩個漏洞可使攻擊者通過利用並行運行進程的方式來破壞處理器的特權內存,竊取敏感數據),但該研究團隊指出,Augury 和 Spectre/Meltdown 並不相同:

  • Augury 只利用 DMP 功能,並非瞬態執行;

  • Spectre 可被完全禁用,而 Augury 將仍然存在;

  • 適用於 Augury 的防禦類型與其他微架構攻擊也不同。任何依賴於跟蹤被核心訪問的數據防禦都不能阻止 Augury 洩露數據,因為通過 Augury 洩露的數據永遠不會被核心讀取。

因此我們也可以理解為,Spectre 和 Meltdown 漏洞洩漏的是正在使用的數據,而利用蘋果的 DMP,Augury 可能會洩漏整個內存內容,即使這些數據沒有被主動訪問。

3 蘋果已知情,但尚未打補丁

據研究團隊公開的漏洞資料表明,Augury 目前僅存於 Apple Silicon,已確認受影響的芯片包括 A14、M1 和 M1 Max(都具有 DMP 功能)。他們也對最新幾款英特爾和 AMD 處理器進行了測試,但均沒有發現 Augury 漏洞的跡象。

此外,研究人員補充道:“我們認為一些較舊的 A 系列芯片和最新的 M1 系列(M1 Pro 等)芯片也會受到影響,但目前只在 M1 Max 上得到了證實。”

值得慶幸的是,該研究團隊指出,盡管聽起來 Augury 存在不小的隱患,但他們還未“展示任何借助 Augury 進行端到端的漏洞利用”,因此至少現階段,“只有指針會被洩露”。

至於該漏洞的補丁,研究團隊表示已與蘋果方面討論過這個問題,蘋果也已知曉漏洞的全部細節,但目前據他們的瞭解,蘋果尚未推出相關補丁。

參考鏈接:

  • https://www.prefetchers.info/

  • https://www.tomshardware.com/news/apple-silicon-exclusively-hit-with-world-first-augury-dmp-vulnerability

本文來自微信公眾號“CSDN”(ID:CSDNnews),整理:鄭麗媛,36氪經授權發布。

本文經授權發布,不代表36氪立場。

如若轉載請註明出處。來源出處:36氪