MIT 驚曝 M1 不可(kě)修複的漏洞

 行業動态     |      2022-06-19 08:55:23
一直以來,提及蘋果的産(chǎn)品,無論是操作(zuò)系統,還是芯片等硬件,其安(ān)全性上都會讓人放心一些。當然,這也隻是相對而言。
 
日前,來自麻省理(lǐ)工(gōng)學(xué)院計算機科(kē)學(xué)與人工(gōng)智能(néng)實驗室 (簡稱 MIT CSAIL)發布了一份最新(xīn)的研究報告,研究人員稱已經找到了一種方法來擊敗蘋果 M1 SoC 上所謂的“最後一道安(ān)全線(xiàn)”。
 
漏洞無法修複
 
事實上,蘋果 M1 自 2020 年發布以來,一直廣受業界好評,其不僅幫助 Mac 達到了新(xīn)的性能(néng)高度,更是開啓了蘋果掌控自己軟硬件生态的新(xīn)篇章。
 
然而,随着 M1 芯片中(zhōng)内置了一個新(xīn)漏洞的消息發酵,立即引起了不少安(ān)全專家的關注。
 
據 IEEE Spectrum 報道,此漏洞存在于 M1 芯片硬件層安(ān)全機制 PAC(pointer authentication codes) 中(zhōng),且達到無法修複的級别。
 
MIT CSAIL 計劃在 6 月 18 日舉行的國(guó)際計算機體(tǐ)系結構研讨會上提交一種攻擊模式,其是由本科(kē)畢業于浙江大學(xué)、現任麻省理(lǐ)工(gōng)學(xué)院電(diàn)氣工(gōng)程和計算機科(kē)學(xué)系的助理(lǐ)教授、計算機科(kē)學(xué)與人工(gōng)智能(néng)實驗室的成員 MENGJIA YAN 領導的研究人員推出。
 
 
這種新(xīn)的攻擊模式叫做 PACMAN,可(kě)以繞過 Apple M1 CPU 上的指針身份驗證(PAC),最終導緻計算機操作(zuò)系統的核心變得脆弱。指針身份驗證是一項安(ān)全功能(néng),它将加密簽名(míng)添加到指針中(zhōng),可(kě)幫助保護 CPU 免受已獲得内存訪問權限的攻擊者的攻擊。
 
IEEE Spectrum 表示,由于 PAC 可(kě)能(néng)會陸續整合到由 64 位 Arm 架構構建的未來處理(lǐ)器中(zhōng),因此,這種漏洞可(kě)能(néng)會變得更加普遍。
 
具(jù)體(tǐ)實現原理(lǐ)
 
具(jù)體(tǐ)來看,MIT CSAIL 的研究人員發現,通過 PACMAN 可(kě)以允許攻擊者使用(yòng) Apple M1 CPU 物(wù)理(lǐ)訪問 Mac,以訪問底層文(wén)件系統。
 
 
來源:https://pacmanattack.com/
 
當然,想要通過 PACMAN 這種新(xīn)型方式來實現攻擊,也是有(yǒu)前提條件的。
 
首先,攻擊者需要找到一個影響 Mac 上軟件的内存 Bug,該 Bug 可(kě)以讀取和寫入不同的内存地址。然後,該 Bug 利用(yòng) M1 硬件架構上的細節,能(néng)夠使得漏洞執行代碼,甚至接管操作(zuò)系統的能(néng)力。
 
研究人員在驗證過程中(zhōng)表示,“我們先假設這個漏洞就在那裏,但我們把它變成了一個更嚴重的漏洞。”
 
PACMAN 是在将軟件攻擊的硬件緩解措施與微架構側信道混合在一起時産(chǎn)生的。主要手段就是使用(yòng) PACMAN 方式,其能(néng)夠利用(yòng)預測執行洩露 PAC 驗證結果,且不會引發系統的任何崩潰。
 
 
至于是如何做到這一點的,研究人員稱,這涉及到了現代計算的核心。“幾十年來,計算機一直在使用(yòng)所謂的推測執行來加速處理(lǐ)。在傳統的程序中(zhōng),下一個指令應該遵循哪條指令,通常取決于上一個指令的結果(想想if/then)。現代 CPU 不會等待答(dá)案,而是會直接進行推測,做出有(yǒu)根據的猜測之後,開始沿着這些路線(xiàn)執行指令。如果 CPU 猜對了,這種推測執行能(néng)夠節省很(hěn)多(duō)時鍾周期。如果猜錯了,那麽一切會重新(xīn)開始,處理(lǐ)器沿着正确的指令順序再次開始。重要的是,錯誤計算的值永遠(yuǎn)不會對軟件可(kě)見。沒有(yǒu)一個程序可(kě)以簡單地輸出推理(lǐ)執行的結果。”
 
然而,在過去幾年中(zhōng),研究人員已經發現了可(kě)以利用(yòng)推測執行來做一些事情的方法,比如從 CPU 中(zhōng)偷偷地拿(ná)出數據。這些被稱為(wèi)側信道攻擊(side-channel attack),因為(wèi)它們通過觀察間接信号(例如訪問數據所需的時間)來獲取數據。曾經席卷全球的 Spectre 和 Meltdown 便是側信道攻擊的代表。
 
MIT 研究人員想出了一種方法來欺騙 CPU 猜測指針身份驗證代碼,這樣就不會出現異常,操作(zuò)系統也不會崩潰。當然,答(dá)案對軟件來說仍然是看不見的,其中(zhōng)涉及用(yòng)數據填充特定的緩沖區(qū),使用(yòng) timing 來揭示成功推測取代了哪個部分(fēn)。
 
 
蘋果:對用(yòng)戶沒有(yǒu)直接風險
 
截至目前,MIT CSAIL 稱隻是展示了 PACMAN 在蘋果 M1 CPU 上的試驗,其他(tā)平台或版本具(jù)體(tǐ)情況暫未可(kě)知。不過,需要注意的是,PACMAN 類似于幽靈攻擊,不會留下任何日志(zhì),因此很(hěn)多(duō)人無法識别出自己的設備是否在被攻擊的範圍内。
 
那麽,這是否會對普通用(yòng)戶帶來一定影響?
 
MIT CSAIL 表示,“隻要您保持軟件最新(xīn),就可(kě)以。PACMAN 是一種利用(yòng)技(jì )術 ——就其本身而言,它不能(néng)損害用(yòng)戶的系統。雖然 PACMAN 的原理(lǐ)是通過硬件機制無法通過軟件功能(néng)進行修補,但内存損壞錯誤可(kě)能(néng)會出現。”
 
就在 MIT 研究人員報告了他(tā)們的發現之後,也與蘋果分(fēn)享了概念驗證攻擊過程和代碼。蘋果的産(chǎn)品團隊向 Yan 的團隊回應道:
 
“我們要感謝(xiè)研究人員的合作(zuò),因為(wèi)這種概念驗證促進了我們對這些技(jì )術的理(lǐ)解。根據我們的分(fēn)析以及研究人員與我們分(fēn)享的細節,我們得出結論,這個問題不會對我們的用(yòng)戶構成直接風險,也不足以單獨繞過設備保護。”
 
對此,也有(yǒu)網友評論稱,”好巧不巧,前段時間的 WWDC22 上宣布了 M2 的到來,如果說 M1 不安(ān)全了,那麽也是時候換上 M2 了。“然而,現實來看,對于這一剛爆出的漏洞,M2 芯片上是否已經做了修複還是一個未知數。
 
參考:
 
https://pacmanattack.com/
 
https://spectrum.ieee.org/pacman-hack-can-break-apple-m1s-last-line-of-defense
 
static/file/paper.pdf