MIT 驚曝 M1 不可修復的漏洞

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