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