最複雜的漏洞攻擊 !! Google 團隊發現間諜軟件 Pegasus 只靠一個 GIF 檔入侵 Apple 設備

以色列網路情報公司 NSO Group 旗下的間諜軟件「Pegasus」早前遭 Apple 控告,涉嫌破解 iPhone 並讀取數據和用戶資料。而最近 Google 資安團隊「Project Zero」的研究人員在調查後表示,這是目前技術最複雜的漏洞之一,原兇是由 GIF 檔案引爆一連串資訊安全危機。

NSO Group 是透過 ForcedEntry 漏洞入侵目標的設備,安裝最新版「Pegasus」或透過建立 Apple ID 發動 Zero-click 攻擊,將惡意代碼送到手機。而最厲害之處是即使沒有點擊任何惡意連結,也能在不知情下安裝間諜軟件。而 Pegasus 亦能讓黑客遠距操控麥克風、鏡頭,收集用戶資訊、Email 和訊息等敏感資訊。

Pegasus 初頭是透過入侵 iPhone 的 iMessage,只要取得目標電話號碼或 Apple ID 即可。再乓送一個假 GIF 圖到 iMessage,然而背後是 PDF 檔案,由於副檔名是 GIF,因此使 Apple CoreGraphics PDF 自動解析假 GIF 檔。由於 CoreGraphics PDF 應用不是按據副檔名述取,而是由內容分析,因此這檔案就會打開 PDF 的「成像引擎」。

據 Project Zero 的公佈,PDF 有種很舊的壓縮格式「JBIG2」,可將掃描的 bitmap 壓縮到很小,主要是 1990 年代後期 XEROX WorkCenter 掃描器所用。而黑客的 PDF 就含有 JBIG2,在需要解壓縮程式時,CoreGraphics PDF 應用大概會使用 Apple 專用程式碼,但 JBIG2 則會執行到開源的 Xpdf。而 JBIG2 沒有編程功能,不過一旦與漏洞結合,就有能力模擬在任何記憶體電路運作,即透過 JBIG2 指令執行自定義腳本,做出如 AND、OR、XOR、XNOR 的邏輯運算。

故黑客使用了 7 萬條 JBIG2 指令和邏輯閘建構出迷你電腦架構,有暫存器、加法器和比較器,可做基本運算,原理大概跟 Javascript 類似。黑客可以 JBIG2 bootstrap 進入「沙盒」模擬電腦環境,再執行攻擊程式。

NSO Group Pegasus 於今年 7 月被指控入侵和竊聽世界各地記者、維權人士和企業高層的手機。在監控名單流出後,原來有超過 5 萬個電話號碼,含 189 名記者、85 位維權人士、65 名企業高層、600 多位政治人物和外交情報官員,甚至還有法國總統馬克宏等國家元首。