MIT 驚曝 M1 不可修復(fù)的漏洞

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