MIT 發(fā)現(xiàn)蘋果 M1 中新型硬件漏洞:可不留痕跡攻破安全機(jī)制
麻省理工學(xué)院計算機(jī)科學(xué)和人工智能實驗室(CSAIL)的科學(xué)家發(fā)布了一項研究稱?,他們發(fā)現(xiàn)了一種可以繞過 Apple M1 CPU 上的指針驗證機(jī)制的新型硬件攻擊,稱為 PACMAN。
根據(jù)介紹,M1 芯片使用了指針認(rèn)證的功能,該功能是針對典型軟件漏洞的最后一道防線。在啟用指針認(rèn)證后,通常會危及系統(tǒng)或泄漏私人信息的漏洞會被攔截在其軌道上。目前,蘋果已經(jīng)在其所有基于 ARM 的定制芯片上實施了指針認(rèn)證。
而 MIT 新發(fā)現(xiàn)的這一漏洞,則可以在不留痕跡的情況下攻破這最后一道防線。此外,鑒于 PACMAN 利用的是硬件機(jī)制,因此沒有任何軟件補(bǔ)丁可以對其進(jìn)行修復(fù)。MIT 方面表示,蘋果的 M2 芯片也支持指針認(rèn)證,但他們還沒有針對其進(jìn)行相關(guān)的攻擊測試。
研究指出,攻擊者可通過猜出指針認(rèn)證碼(Pointer Authentication Code,PAC)的值并將其禁用來實現(xiàn) PACMAN 攻擊。PAC 是一種加密簽名,可以用來確認(rèn)一個應(yīng)用程序有沒有被惡意篡改。猜測出正確值的難度也并不高,攻擊者可以通過 hardware side channel 來檢驗猜測結(jié)果的正確性?!拌b于 PAC 可能的值數(shù)量只有這么多,他們發(fā)現(xiàn)可以嘗試所有的值以找到正確的值”。最重要的是,由于猜測都是在推測執(zhí)行下發(fā)生的,所以攻擊不會留下任何痕跡。
“指針認(rèn)證背后的想法是,如果所有其他的方法都失敗了,你仍然可以依靠它來防止攻擊者控制你的系統(tǒng)。我們已經(jīng)證明,作為最后一道防線的指針認(rèn)證并不像我們曾經(jīng)認(rèn)為的那樣絕對。當(dāng)引入指針認(rèn)證時,一大類 bug 突然變得更難用于攻擊。而隨著 PACMAN 加重這些 bug 的嚴(yán)重程度,整體攻擊面可能會更大?!?/p>
不過,PACMAN 并不會完全繞過 M1 芯片上所有的安全設(shè)施;它只能利用指針認(rèn)證可防止的現(xiàn)有漏洞,并通過找到正確的 PAC 來釋放該漏洞在攻擊中的真正潛力。正由于 PACMAN 無法在沒有現(xiàn)有軟件錯誤的情況下破壞系統(tǒng),因此研究人員認(rèn)為大家可以不必恐慌?!暗侥壳盀橹?,還沒有人利用 PACMAN 創(chuàng)建端到端攻擊?!?/p>
值得注意的是,指針認(rèn)證主要用于保護(hù)核心操作系統(tǒng)內(nèi)核。研究指出,PACMAN 攻擊甚至對內(nèi)核有效,這 “對所有啟用指針認(rèn)證的 ARM 系統(tǒng)上的未來安全工作具有重大影響。未來的 CPU 設(shè)計人員在構(gòu)建未來的安全系統(tǒng)時應(yīng)該注意考慮這種攻擊,開發(fā)人員應(yīng)注意不要僅僅依靠指針認(rèn)證來保護(hù)他們的軟件?!?/p>
MIT CSAIL 計劃在 6 月 18 日的國際計算機(jī)架構(gòu)研討會上正式介紹這一研究。蘋果方面在得知此發(fā)現(xiàn)后則發(fā)布聲明表示?,“我們要感謝研究人員的合作,因為這個概念證明推進(jìn)了我們對這些技術(shù)的理解。根據(jù)我們的分析以及研究人員與我們分享的細(xì)節(jié),我們得出的結(jié)論是,這個問題不會對我們的用戶構(gòu)成直接風(fēng)險,而且不足以自行繞過操作系統(tǒng)的安全保護(hù)。”?