蘋果M1晶片驚現重大硬傷:ARM處理器或集體淪陷

6月11日消息,據媒體報道,近日,麻省理工學院(MIT)的研究人員發現,蘋果的M1晶片存在一個「無法修補」的硬體漏洞,攻擊者可以利用該漏洞突破其最後一道安全防禦。

報道稱,該漏洞存在於蘋果M1晶片中使用的硬體級安全機制中,被稱為「指針身份驗證」(PAC)——這是Arm處理器當中廣泛存在的一項硬體安全機制,它通過使用加密哈希保護指針來保護記憶體中的指針完整性,該加密哈希驗證指針無法被修改,系統使用它來驗證程式對受保護指針的使用。當使用錯誤的PAC時,程式會崩潰。

根據此前Arm公布的資訊顯示,PAC最小化了攻擊面,使得面向返回編程(ROP)漏洞減少了60%以上、面向跳轉編程(JOP)漏洞減少了40%以上。

如果是同時使用PAC和分支目標標識符(BTI)這兩個硬體安全機制的Arm CPU則能夠進一步提升安全性,Glibc 中攻擊者可用的小工具數量減少了約 98%,而程式碼大小僅增加了 2% 左右。

不過,麻省理工學院電腦科學和人工智慧實驗室(CSAIL)的研究人員Joseph Ravichandran、Weon Taek Na、Jay Lang 和 Mengjia Yan 創造了一種新穎的硬體攻擊方式,它結合了記憶體損壞和推測執行攻擊來迴避安全功能。

該攻擊表明,指針身份驗證可以不留痕迹地被攻破,並且由於它是一種硬體安全機制,因此蘋果將無法通過更新M1晶片的軟體修補程式來修復它。

MIT CSAIL研究團隊將其攻擊方式稱之為「Pacman」,它通過硬體側信道攻擊來暴力破解PAC值(由於PAC值只有一定數量,研究人員可以嘗試所有值以找到正確的值),並抑制崩潰,從而啟動連鎖攻擊,最終構建控制流劫持攻擊。

「PAC的大小相對較小,直接的暴力攻擊會導致足夠多的崩潰來檢測惡意行為——更不用說程式重新啟動會導致 PAC 被刷新。但Pacman攻擊的關鍵在於,使用推測執行攻擊,通過微架構側通道秘密泄露PAC驗證結果,而不會導致崩潰。」該論文解釋道。

在概念驗證中,研究人員證明該攻擊甚至可以針對內核(設備作業系統的軟體核心)起作用,這「對所有啟用指針身份驗證的 Arm 系統的未來安全工作具有重大影響。」MIT CSAIL的博士生和該研究論文的共同主要作者Joseph Ravichandran說道。

「指針身份驗證背後的想法是,如果所有其他防禦方法都失敗了,你仍然可以依靠它來防止攻擊者控制你的系統。」 Joseph Ravichandran補充道:「但是,我們已經證明,作為最後一道防線的指針身份驗證並不像我們曾經認為的那樣的安全。」

到目前為止,蘋果已經在其所有基於Arm架構的訂製晶片上內置了PAC功能,包括 M1、M1 Pro 和 M1 Max等。此外,包括高通和三星在內的許多其他晶片廠商已經宣布或預計將推出新處理器都將支援該硬體級安全功能。

雖然,MIT CSAIL的研究人員表示,尚未對蘋果剛剛發布的 M2 晶片的進行測試攻擊,但該晶片也支援PAC功能。

根據此前Arm公布的資訊顯示,不僅基於Armv8.3/8.6指令集的CPU內置了PAC功能,最新的Armv9指令集的CPU同樣也內置了PAC功能。

MIT CSAIL的研究人員在研究論文中說:「如果不解決這個問題,我們發現的這項攻擊方式將在未來幾年影響大多數移動設備,甚至可能影響桌面設備。

據介紹,研究人員已經向蘋果公司展示了他們的研究結果。不過,他們也指出,Pacman攻擊並不能繞過 M1 晶片上的所有安全機制,它只是針對PAC可以防止的現有的漏洞。

Joseph Ravichandran表示:「到目前為止,還沒有使用Pacman創建端到端攻擊,因此沒有直接的擔憂。Pacman需要一個現有的軟體漏洞才能發揮作用——攻擊者需要能夠寫入溢出記憶體。攻擊者可以使用現有的漏洞與我們的謂的『Pacman Gadget』相結合——受攻擊中的一個程式碼序列,允許推測性地使用簽名指針。」

目前,該研究團隊已將該問題通知蘋果,並將在 6 月 18 日的電腦架構國際研討會上披露更多細節。

在該消息被曝光之後,蘋果公司發言人 Scott Radcliffe 對外回應稱:「我們要感謝研究人員的合作,因為這個概念證明促進了我們對這些技術的理解。根據我們的分析以及研究人員與我們分享的詳細資訊,我們得出的結論是,此問題不會對我們的用戶構成直接風險,並且不足以自行繞過作業系統安全保護。」

值得一提的是,Pacman是在蘋果M1晶片中被發現的第三個漏洞。去年5月,安全研究員赫克托馬丁 (Hector Martin) 發現了一個名為M1RACLES的漏洞,該漏洞允許兩個應用程式秘密交換數據。

上個月,多個大學組成的團隊又發現了一個名為 Augury 的漏洞,可導致晶片泄漏靜態數據,不過目前還沒有展示出任何可行的漏洞利用方法。

但是與前兩個漏洞不同的是,Pacman漏洞利用的是M1本身的存在的硬體安全機制PAC,而且該機制還廣泛存在於其他Arm架構的處理器當中,這也使得該漏洞可能將會帶來更大的影響。

蘋果M1晶片驚現「難以修復」漏洞:ARM處理器或集體淪陷