PACMAN,一種針對 Apple M1 芯片的新攻擊技術(shù)
Security Affairs 網(wǎng)站披露,攻擊者可以通過一種名為 PACMAN 的新硬件攻擊技術(shù),繞過蘋果 M1 處理器上的指針認(rèn)證(PAC),入侵 MacOS 系統(tǒng)。
據(jù)悉,這項(xiàng)技術(shù)是由麻省理工學(xué)院計(jì)算機(jī)科學(xué)與人工智能實(shí)驗(yàn)室(CSAIL)的研究人員Joseph Ravichandran, Weon Taek Na, Jay Lang和Mengjia Yan 共同發(fā)現(xiàn)。
研究人員發(fā)現(xiàn),指針認(rèn)證碼(PAC)允許檢測和防范內(nèi)存中指針意外更改。
指針認(rèn)證實(shí)現(xiàn)了一個特殊的 CPU 指令,在存儲指針之前,將一個加密簽名(PAC)添加到指針未使用的高階位,當(dāng)從內(nèi)存中讀回指針后,該簽名會被另一條指令移除并進(jìn)行驗(yàn)證。
在寫入和讀取之間對存儲值的任何更改都會使簽名無效,這一事件被解釋為內(nèi)存損壞,并設(shè)置指針中的高階位,使指針無效。
研究人員在其發(fā)表的研究論文中表示,利用推測執(zhí)行攻擊來繞過一個重要的內(nèi)存保護(hù)機(jī)制--ARM 指針身份認(rèn)證,這是一個用于執(zhí)行指針完整性的安全功能。之后研究人員提出了 PACMAN,這是一種新的攻擊方法,它可以通過微架構(gòu)的側(cè)邊渠道投機(jī)性地泄露 PAC 驗(yàn)證結(jié)果,而不會造成任何崩潰。
這一攻擊技術(shù)消除了在使用指針身份驗(yàn)證保護(hù)的平臺上進(jìn)行控制流劫持攻擊的主要障礙。
研究人員已通知蘋果公司
值得一提的是,研究人員指出,PACMAN 攻擊只是一種利用技術(shù),并不足以破壞一個系統(tǒng)。但壞消息是,PACMAN 使用的硬件機(jī)制不能用軟件更新來修補(bǔ)。
目前,研究人員設(shè)計(jì)了一個 PAC 諭令,以區(qū)分正確的 PAC 和不正確的 PAC,不會引起任何系統(tǒng)崩潰。
攻擊者可以暴力破解正確的 PAC 值,同時抑制崩潰,并對啟用 PA 的受害者程序或操作系統(tǒng)構(gòu)建控制流劫持攻擊。 PACMAN 攻擊的關(guān)鍵洞察力是使用推測執(zhí)行通過微架構(gòu)側(cè)通道秘密泄露 PAC 驗(yàn)證結(jié)果。
一個 PACMAN gadget 包含以下兩個操作:
- 一個指針驗(yàn)證操作,推測性地驗(yàn)證猜測的 PAC 的正確性;
- 一個傳輸操作,通過微架構(gòu)側(cè)通道推測性地傳輸驗(yàn)證結(jié)果。
指針驗(yàn)證操作由驗(yàn)證指令(ARMv8.3 中的新指令)執(zhí)行,如果驗(yàn)證成功,則輸出有效指針,否則輸出無效指針。
最后,研究人員指出,這種攻擊對于希望實(shí)現(xiàn)具有指針身份驗(yàn)證功能的處理器設(shè)計(jì)人員具有重要意義,并對未來控制流完整性原語的安全性產(chǎn)生廣泛影響。目前,研究人員已經(jīng)與蘋果公司分享了其發(fā)現(xiàn)。