許多開發者或使用者在安裝 Chrome 擴充功能時,往往只要看到安裝量高或有 Featured 標章就傾向於信任。然而,最近安全研究機構 Island 揭露了一款擁有超過千萬次安裝量的 Adblock for YouTube 擴充功能,雖然它確實能攔截廣告,但內部隱藏了一個極其危險的設計:它具備「遠端腳本注入」的能力。
這類風險最可怕的地方在於,攻擊者不需要更新擴充功能版本,也不需要經過 Google Chrome Web Store 的再次審核,只要修改伺服器端的設定,就能在所有使用者的瀏覽器中執行任意的 JavaScript 程式碼。
什麼是遠端腳本注入與 dormant 狀態
在正常的擴充功能開發中,程式碼在提交到商店審核後就固定了。但這款擴充功能定義了一套特殊的規則,稱為 trusted-create-element(可信元素創建)。這是一個自定義的機制,允許擴充功能根據伺服器回傳的指令,動態地在網頁中創建 script 標籤並執行內容。
研究人員指出,這個功能目前處於 dormant(休眠)狀態。這意味著該功能雖然已經寫在程式碼裡並部署在使用者電腦上,但伺服器端目前尚未發送啟動指令。一旦開發者決定將其激活,這將變成一個完美的後門,能讓攻擊者在使用者不知情的情況下,讀取網頁內容、竊取敏感資料,甚至在管理後台或公司內部系統中以使用者的身份執行操作。
權限濫用與邏輯漏洞
廣告攔截器通常需要較高的權限,例如檢查網路請求、修改網頁 DOM 元素或隱藏內容。這使得它們在安全邊界上天然地處於高風險位置。
這款擴充功能在權限處理上有兩個嚴重的實務問題。首先,儘管名稱標榜為 YouTube 廣告攔截器,但它實際上請求了所有網站的訪問權限。其次,它內部雖然有一個檢查機制,用來確認目前是否在 youtube.com 頁面才啟動功能,但這個檢查邏輯極其簡陋。
它僅僅是檢查 URL 字串中是否包含 youtube.com,而沒有驗證主機名稱(Hostname)或來源(Origin)。這意味著只要攻擊者在任何網站的 URL 參數中加入 youtube.com(例如 bank.example.com/search?q=youtube.com),該擴充功能的邏輯就會被誤導,認為目前處於 YouTube 環境而啟動相關行為。
綜合風險評估與工程啟示
單看一行可疑程式碼可能不足以判定為惡意軟體,但安全專家建議從整體脈絡(Context)來分析風險。這款擴充功能具備以下高風險特徵:
第一,擁有極高安裝量且能訪問所有網站。 第二,存在可由遠端控制的腳本注入路徑。 第三,歷史記錄可疑,曾包含廣告注入 SDK(Unistream SDK),且所有權曾發生變更。 第四,與其他已被 Chrome Store 移除的惡意擴充功能有關聯。
對於工程師而言,這次事件提供了一個重要的安全教訓:不要過度信任第三方套件的權限請求。在企業環境中,應盡量限制員工安裝權限過大的瀏覽器擴充功能,因為一旦這些工具的開發者轉向或被收購,原本的功能工具可能會在瞬間變成大規模的資料竊取工具。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。