▲?更多精彩內容?請點擊上方藍字關注我們吧!
日前,有研究人員在 Apple Silicon 中發現了世界首個數據內存依賴預取器(Data Memory-Dependent Prefetcher,簡稱為 DMP)安全漏洞——該漏洞被稱為“Augury”(意為“占卜”),目前只存在于 Apple Silicon。
發現 Augury 的研究團隊成員來自不同高校,其中包括伊利諾伊大學厄巴納-香檳分校、特拉維夫大學和華盛頓大學,而該團隊一直以來對 DMP 都存有疑慮。
DMP,即數據內存依賴預取器,可通過了解整個內存內容,預取數據來提高系統性能。一般來說,為了確保系統安全,內存訪問會受到限制和劃分,而著名科技評測網站 Anandtech 在蘋果推出 M1 后,對 A14 測評的一段措辭引起了該研究團隊的注意:
在微架構調查中,我們在蘋果的芯片設計中看到了“記憶魔法”的跡象,我們推測蘋果正在使用某種指針追蹤預取機制。
對此,研究團隊猜測:蘋果芯片的 DMP 預取可能會超出內存指針集,即可以訪問并嘗試對不相關的內存地址進行預取,甚至深度預取。
出于這種擔憂,該團隊開始研究 M1 和 A14,也果然發現了眉目:
“我們發現蘋果處理器有一個 DMP。”
“我們發現這個 DMP 預取了一個指針數組解引用模式。”
“我們發現可以通過此預取器來泄漏任何指令都不會讀取的數據(指針),即使只是推測性的!”
進一步解釋:Apple Silicon 的 DMP 功能存在漏洞“Augury”,如該漏洞被攻擊者成功利用,系統將會被暴露于靜態數據攻擊,即被泄露的數據由于是靜態的,不會以推測或非推測的方式被核心讀取,因此難以被發現。
具體來說,該研究團隊發現 Apple Silicon 的確使用了 DMP 預取指針數組?(AoP):
for( i=0; i<len(arr); i++ ){*arr[i];}
研究人員對此解釋道:“一旦代碼看到 *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 可能會泄漏整個內存內容,即使這些數據沒有被主動訪問。
據研究團隊公開的漏洞資料表明,Augury 目前僅存于 Apple Silicon,已確認受影響的芯片包括 A14、M1 和 M1 Max(都具有 DMP 功能)。他們也對最新幾款英特爾和 AMD 處理器進行了測試,但均沒有發現 Augury 漏洞的跡象。
此外,研究人員補充道:“我們認為一些較舊的 A 系列芯片和最新的 M1 系列(M1 Pro 等)芯片也會受到影響,但目前只在 M1 Max 上得到了證實。”
值得慶幸的是,該研究團隊指出,盡管聽起來 Augury 存在不小的隱患,但他們還未“展示任何借助 Augury 進行端到端的漏洞利用”,因此至少現階段,“只有指針會被泄露”。
至于該漏洞的補丁,研究團隊表示已與蘋果方面討論過這個問題,蘋果也已知曉漏洞的全部細節,但目前據他們的了解,蘋果尚未推出相關補丁。
來源:csdn等網絡內容綜合
推薦閱讀

添加微信回復“進群”
拉你進技術交流群!
國產芯|汽車電子|物聯網|新能源|電源|工業|嵌入式…..??
在公眾號內回復您想搜索的任意內容,如問題關鍵字、技術名詞、bug代碼等,就能輕松獲得與之相關的專業技術內容反饋。快去試試吧!
如果您想經常看到我們的文章,可以進入我們的主頁,點擊屏幕右上角「三個小點」,點擊「設為星標」。
歡迎掃碼關注