這是一起由微軟揭露的大規模瀏覽器擴充功能攻擊事件。攻擊者透過 Edge Add-ons 商店發布了 119 個看似正常的擴充功能,例如廣告攔截器、VPN 或翻譯工具類插件,總安裝量高達 260 萬次。這次攻擊被命名為 StegoAd,其核心技術在於將惡意程式碼隱藏在看似無害的資源檔案中,以規避安全掃描。
隱寫術與規避偵測的實作
這次攻擊最關鍵的技術是 Steganography(隱寫術),簡單來說就是將秘密資訊隱藏在另一種非秘密載體中。在軟體工程中,這通常是指將可執行代碼藏在圖片或字體等二進位檔案裡,讓靜態掃描工具認為這只是一個普通的圖片檔。
攻擊者最初將 JavaScript 程式碼附加在 PNG 圖片的 IEND 標記(圖片結束標誌)之後。因為瀏覽器渲染圖片時會忽略標記之後的內容,所以圖片看起來完全正常,但惡意代碼卻能被讀取。隨著偵測技術提升,攻擊者將手法升級,改用 WebP 圖片格式,甚至將代碼藏在 WOFF2 字體檔案的字形範圍(Glyph ranges)或元數據中。
為了進一步躲避分析人員的目光,這套擴充功能採取了多層防禦機制。首先,程式碼在安裝後不會立即執行,而是進入休眠期,直到通過一系列環境檢查。其次,部分變體會檢查使用者是否開啟了 DevTools(開發者工具),如果發現有人在分析,就會延長休眠時間。
動態載入與 C2 指令中心
除了將代碼藏在本地檔案,更高級的變體會從遠端 C2(Command and Control,指令與控制伺服器)下載看似正常的圖片。擴充功能在接收到圖片後,會經過大小寫切換、數字替換、Base64 編碼以及 XOR 運算等多層解碼,最後驗證簽名才執行。
為了防止安全研究人員反向分析,C2 伺服器會檢查請求者的指紋(Fingerprint)與 User-Agent。如果請求不符合特定條件,伺服器會回傳空的偽裝回應,讓分析者以為該伺服器沒有任何功能。
從廣告欺詐到憑證竊取
對一般使用者而言,最直觀的影響是廣告欺詐(Ad Fraud)。擴充功能會強制注入廣告、劫持 Amazon 或 eBay 等電商平台的聯盟行銷佣金,或將搜尋結果重新導向至特定網站,以此獲利。
但在底層,攻擊者部署了更危險的功能。他們利用遠端代碼執行(Remote Code Execution, RCE)後門,可以隨時從伺服器推送任意 JavaScript 執行。這讓他們能竊取 Google 帳號憑證、攔截二階段驗證碼(2FA)、盜取 WordPress 管理員登入資訊,甚至大批量外傳 Cookie 以進行會話劫持(Session Hijacking)。
值得注意的是,攻擊者甚至利用 Google Analytics 的追蹤 ID 作為隱蔽的遙測通道,讓他們能透過 Google 的基礎設施即時監控這次攻擊的成效。
工程實務建議與防禦
這次事件顯示,即使是官方商店的擴充功能也可能潛伏風險。對於開發者與使用者,有幾點實務建議:
第一,審視安裝的擴充功能。建議定期檢查瀏覽器的擴充功能列表,移除不必要或來源不明的插件。
第二,強化身份驗證。由於這次攻擊能攔截 SMS 簡訊驗證碼,建議改用硬體安全金鑰(如 YubiKey),這類基於 FIDO 標準的硬體認證能有效對抗憑證竊取。
第三,關注 Manifest 版本遷移。攻擊者在這次操作中將插件從 Manifest V2 遷移到 V3,顯示他們能迅速適應瀏覽器平台的 API 變更,安全防護必須持續更新。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。