史上最複雜 Zero-click 攻擊:Pegasus 如何靠 GIF 檔案駭進 iPhone?

作者 | 發布日期 2021 年 12 月 23 日 17:34 | 分類 Apple , iPhone , 資訊安全 Telegram share ! follow us in feedly


以色列網路情報公司 NSO Group 旗下間諜軟體「飛馬」(Pegasus)先前遭蘋果提告,涉嫌破解 iPhone、讀取數據和用戶訊息,這次 Google 資安團隊 Project Zero 研究人員深入研究飛馬後,驚呼「這是史上技術最複雜的漏洞之一」,竟是從「GIF 檔案」引爆一連串資安危機。

飛馬彷彿鬼入侵,沒點擊就被駭

NSO Group 利用漏洞 ForcedEntry 入侵受害者裝置,安裝最新版「飛馬」,或透過建立 Apple ID 發動「免點擊」(Zero-click)攻擊,將惡意資料送到受害者裝置,即使沒有點擊任何惡意連結,也能在對方不知情下安裝「飛馬」軟體。

同時,飛馬能讓駭客遠距操作麥克風、鏡頭,蒐集用戶訊息、電子信箱和訊息等敏感資訊。

Google 資安團隊 Project Zero 研究人員 Ian Beer 和 Samuel Gross 表示,「我們沒見過這種外部利用的漏洞,從如此有限的起點建立同等能力,不需要與攻擊者伺服器互動,也沒有加載 JavaScript 或類似腳本引擎等。資安界許多人認為一次性遠距代碼執行,無法建立可靠的單次攻擊漏洞,但事實證明不但可行,還能有效對付人。」

飛馬如何入侵 iPhone?

先要知道的是,飛馬入侵 iPhone 的初始入口是 iMessage,所以只要取得目標對象電話號碼或 Apple ID 用戶名就能入侵。

iMessage 可接收 gif 圖檔,攻擊者做一個「假 GIF」(實際上是 PDF),由於副檔名是 GIF,因此讓蘋果 CoreGraphics PDF 設計會自動解析假 GIF 檔。

然而 CoreGraphics PDF 解析器不會注意到副檔名,而是從內容分析,因此這檔案就進入 PDF 的「成像引擎」(rendering engine)。

據 Google Project Zero 部落格,PDF 有種很古老的壓縮格式叫「JBIG2」,是種黑白圖像壓縮演算法,可將掃描進去的 bitmap 壓縮到很小,主要是 1990 年代後期 XEROX WorkCenter 掃描器使用。如果用過這種舊款掃描機掃描 PDF,其中 PDF 檔案就可能含 JBIG2。

一般來說,檔案壓縮後需繪製 PDF,為了讓印表機顯示更方便,會有很多壓縮和節省流量方法,如是英文或德文等語言編寫的文本,會採用重複字母為參考字形(reference glyph),將完整字母變形或替換成稍微看得懂的字形,雖然有變動,但不影響閱讀,由於不會保留所有資料,因此儲存資料量明顯減少。

壓縮格式竟然建出「迷你電腦」

駭客的 PDF 就含 JBIG2,之後需要解壓縮程式,蘋果 CoreGraphics PDF 解析器似乎採用蘋果專用程式碼,但 JBIG2 執行來自 Xpdf,原始碼是免費開源。

JBIG2 主要為了壓縮、解壓縮設計,沒有基本編程(scripting)能力,連基本運算都很困難,所以到底該怎麼讓 JBIG2 可以運作?

攻擊者發現 JBIG2 雖沒有編程功能,不過一旦跟漏洞結合,就有能力模擬在任意記憶體運作的電路,意即透過 JBIG2 指令執行自定義腳本,做出如 AND、OR、XOR、XNOR 的邏輯運算。

因此,攻擊者使用 7 萬條 JBIG2 指令和邏輯閘建構出迷你電腦架構,有暫存器、加法器和比較器,可做基本運算,雖不像 Javascript 那麼快,但運作原裡相同。

Project Zero 部落格指出,有了這台迷你電腦,就可透過 JBIG2 bootstrap 進入「沙盒」(SandBox)模擬電腦環境,之後透過模擬環境試跑真正的攻擊程式。

研究人員直言,「整件攻擊在這非常奇怪、模擬的環境執行。非常不可思議,也非常可怕。」

蘋果開吉、美國列入黑名單

由於這行為太惡劣,為防止更多濫用行為及損害使用者,造成資安問題,蘋果 11 月 23 日提告 NSO Group,並發出永久禁令,禁止其使用任何蘋果軟體、服務或裝置,還要求超過 75,000 美元賠償金。美國當局也將該公司列入出口管制黑名單。

飛馬今年 7 月遭指控入侵和竊聽世界各地記者、維權人士和企業高層的智慧手機,影響遍及多平台。後來監控名單流出,超過 5 萬筆電話號碼,含 189 名記者、85 位維權人士、65 名企業高層、600 多位政治人物和外交情報官員,甚至還有法國總統馬克宏等國家元首,震驚全球。

(首圖來源:科技新報)

延伸閱讀: