有史以來最複雜的iPhone攻擊鏈:卡巴斯基公佈三角測量攻擊漏洞細節
網路安全公司卡巴斯基在今年6 月發佈公開報告稱該公司部分員工使用的iPhone 遭到了入侵,攻擊者使用多個高度複雜的零點擊漏洞,在不需要受害者進行任何交互的情況下感染iPhone並實現持續監聽。這次事件被卡巴斯基命名為三角測量(IOSTriangulation),相關漏洞通報蘋果後,蘋果在6 月下旬集中發布多個更新對漏洞進行修復。
不過彼時相關漏洞的細節並未公佈,畢竟iPhone 升級也是要時間的,一般研究人員都會落後公佈漏洞細節,避免有攻擊者趁著部分用戶尚未升級然後抓緊時間利用漏洞。
現在漏洞發布已經過去半年,在最新舉辦的混沌通訊大會(Chaos Communication Congress) 上,卡巴斯基團隊的研究人員發布了詳細的報告以及技術細節分享給其他安全研究人員。
卡巴斯基稱以色列商業間諜軟體開發商NSO 集團的飛馬座開採的iMessage 零點擊漏洞被稱為技術上最複雜的漏洞之一,而三角測量攻擊看起來處於同樣的可怕水平。
以下是卡巴斯基公佈的完整的攻擊鏈,包括用於獲取受害者設備root 權限的四個0day 漏洞:
1. 攻擊者向目標使用者發送惡意iMessage 附件,當受害者的iPhone 收到訊息時,iMessage 不會有任何提醒、同時自動處理該附件;
2. 這個惡意附件利用了未記錄的、蘋果獨有的ADJUST TrueType 字體指令中的遠端程式碼執行漏洞CVE-2023-41990;
3. 惡意程式碼使用面向返回/ 跳躍的程式設計和以NSExpression/NSPredicate 查詢語言編寫的多個階段,然後利用JavaScriptCore 庫環境執行權限提升;
4. 攻擊者利用的JavaScript 漏洞被混淆,這導致程式碼不可讀,儘管如此研究者發現攻擊者大約使用了11,000 行程式碼,主要用於JavaScriptCore 和記憶體解析操作;
5. 攻擊者利用JavaScriptCore 偵錯功能DollarVM ($vm) 來獲得從腳本操作JavaScriptCore 記憶體並執行本機API 的能力;
6. 攻擊者為了支援新舊iPhone,所以也做了一個包含指標驗證程式碼的繞過功能,可以用在最新iPhone 上;
7. 攻擊者利用XNU 記憶體映射系統中的整數溢位漏洞CVE-2023-32434 來取得使用者等級對裝置整個實體記憶體讀取/ 寫的存取權限;
8. 攻擊者使用硬體記憶體映射I/O 暫存器來繞過頁面保護層,此問題已透過CVE-2023-38606 進行緩解;
9. 利用所有漏洞後,JavaScript 漏洞可以針對裝置執行任何操作,包括執行間諜軟體,但攻擊者選擇:
a. 啟動IMAgent 程序並注入有效負載以清除設備中的漏洞利用痕跡;
b. 以不可見模式執行Safari 流程,並將其轉送到下一攻擊階段所使用的網頁;
10. 該網頁有一個腳本來驗證受害者,如果偵測通過則轉到下一階段:Safari 漏洞利用;
11.Safari 漏洞利用CVE-2023-32435 來執行shellcode;
12.shellcode 以Mach 目標檔案的形式執行另一個核心漏洞利用,它使用相同的漏洞:CVE-2023-32434 和CVE-2023-38606,這與使用JavaScript 編寫的核心漏洞完全不同,不過目標也是用於記憶體解析操作,但在後期攻擊者大部分功能並未使用;
13. 此漏洞利用取得root 權限並繼續執行其他階段,包括載入間諜軟體等。
卡巴斯基稱攻擊者幾乎對攻擊鏈的各個面向都進行了逆向工程,可見攻擊者的目標也不是一般目的,也就是主要目的其實可能是間諜行為和政治目的。
卡巴斯基團隊計畫在2024 年發布更多文章介紹三角測量攻擊的內容,關於本篇內容有興趣的用戶請閱讀卡巴斯基報告原文,裡麵包含各個漏洞的解析:https://securelist.com/ operation-triangulation-the-last-hardware-mystery/111669/