macOS 12 進(jìn)程注入漏洞破壞所有安全層
在 macOS 12.0.1 Monterey 中,蘋果修復(fù)了編號(hào)為 CVE-2021-30873 的進(jìn)程注入漏洞 (process injection),此漏洞影響所有基于 macOS AppKit 的應(yīng)用。
進(jìn)程注入是指一個(gè)進(jìn)程在另一個(gè)進(jìn)程中執(zhí)行代碼的能力。在 Windows 中,使用它的原因之一是躲避反病毒掃描程序的檢測,例如稱為 DLL 劫持的技術(shù)。該技術(shù)允許惡意代碼偽裝成不同可執(zhí)行文件的一部分。在 macOS 中,由于兩個(gè)應(yīng)用程序擁有的權(quán)限不同,這種漏洞的影響要大得多。
蘋果發(fā)布修復(fù)漏洞的更新后,發(fā)現(xiàn)此漏洞的研究人員近日對(duì)它進(jìn)行了詳細(xì)介紹,描述了使用漏洞逃逸沙盒、root 提權(quán),并繞過 SIP 文件系統(tǒng)限制的方法。
研究人員還介紹了蘋果修復(fù)此漏洞的思路。首先是修復(fù)了逃逸沙盒,不再讀取 com.apple.appkit.xpc.openAndSavePanelService 中應(yīng)用程序的保存狀態(tài) (CVE-2021-30659)。至于其他部分,修復(fù)手段更加復(fù)雜,因?yàn)榈谌綉?yīng)用程序可能會(huì)將他們自己的對(duì)象存儲(chǔ)在已保存狀態(tài),而這些對(duì)象可能不支持安全編碼。這意味著如果應(yīng)用程序繼續(xù)允許非安全編碼,那么進(jìn)程注入可能仍然存在。
從這方面來看,macOS 安全設(shè)計(jì)存在一個(gè)問題,由于某一應(yīng)用程序的代碼簽名(以及由此產(chǎn)生的權(quán)限)將在很長一段時(shí)間內(nèi)保持有效,如果應(yīng)用程序被降級(jí),應(yīng)用程序的 TCC 權(quán)限仍將有效。非沙盒應(yīng)用程序可以靜默下載一個(gè)較舊的、易受攻擊的應(yīng)用程序版本并加以利用。因此,只要與舊的 macOS 應(yīng)用程序向后兼容,此漏洞就會(huì)一直存在。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:macOS 12 進(jìn)程注入漏洞破壞所有安全層
本文地址:https://www.oschina.net/news/206685/process-injection-breaking-all-macos-security-layers