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

- 軒仔 - 2022-01-20

以色列網路情報公司 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 多位政治人物和外交情報官員,甚至還有法國總統馬克宏等國家元首。