谷歌披露macOS內核中存在的高危險性缺陷

谷歌的Project Zero團隊以其在公司內部以及其他公司生產的產品中發現並披露安全漏洞的能力而聞名。其成員在軟件中找到缺陷,私下向製造商報告,並在公開披露之前給他們90天的時間來解決問題。去年,該團隊發現了Windows 10 S和Microsoft Edge的漏洞。現在,它暴露了macOS內核中的“高嚴重性”缺陷。

谷歌Project Zero的一名安全研究人員發現,儘管macOS的內核XNU在某些情況下允許寫入時複製(COW)行爲,但任何複製的內存都不可用於源進程的修改。雖然COW是一種本質上沒有缺陷的資源管理技術,但還是留下了一些問題。

Project Zero發現,如果修改了用戶擁有的已掛載文件系統映像,則不會通知虛擬管理子系統這些更改,這意味着攻擊者可以採取惡意操作,而無需掛載的文件系統瞭解它。

這種寫時複製行爲不僅適用於匿名內存,還適用於文件映射。這意味着,在目標進程開始從傳輸的存儲區讀取之後,存儲器壓力可能導致保留傳輸的存儲器的頁面被從頁面緩存中逐出。稍後,當再次需要被驅逐的頁面時,可以從後備文件系統重新加載它們。

這意味着如果攻擊者可以在不通知虛擬管理子系統的情況下改變磁盤文件,由此形成了一個高危安全漏洞。 macOS允許普通用戶掛載文件系統映像。當安裝的文件系統映像直接發生變化時(例如,通過在文件系統映像上調用pwrite()),此信息不會傳播到已安裝的文件系統中。

研究人員向蘋果公司通報了發現於2018年11月的這一缺陷,但該公司在超過90天的最後期限之後仍未修復,這就是爲什麼這個漏洞現在以“高嚴重性”標籤公開。不過,蘋果已經收到了這個問題,正在與Project Zero合作 開發 未來macOS版本的補丁。

您還可以在此處查看 專用網頁 上演示此問題的概念驗證代碼。