檢測瀏覽器已安裝的插件和擴充
檢測瀏覽器是否內建真實的 PDF 預覽功能,可識別插件偽裝
比對插件列表與 MIME 類型的邏輯關係
檢測 navigator.plugins 是否被腳本劫持或偽裝
注意:為了防止瀏覽器指紋識別,現代瀏覽器的plugins接口通常只能看到內建的 PDF Viewer 等極少數插件。
檢測已被現代瀏覽器棄用的傳統插件狀態
外掛和擴充為瀏覽器增添強大功能,但每一個也可能留下痕跡,讓你的瀏覽器更容易被識別。理解它們如何被偵測、以及一組不尋常的擴充如何抬高你的唯一性,有助於你在便利與隱私之間取得平衡。
擴充是自訂瀏覽器的小程式,可增添廣告攔截、密碼管理或翻譯等功能。外掛則是更早的技術,如 Flash 和 Java 小程式,用於執行嵌入式內容,因安全原因已基本退役。如今幾乎一切都以基於網路技術的現代擴充形式執行,但在指紋識別的討論中兩個術語仍會出現,因為它們各自都能暴露獨特的訊號。
舊式外掛使用 NPAPI 等介面,可被直接列舉,因此已安裝清單曾是豐富的指紋來源。瀏覽器多年前移除了該能力以堵上安全漏洞,於是經典的外掛清單如今大多為空或趨於標準化。擴充取代了外掛,並被刻意設計得更難列舉——但正如後續章節所述,它們的影響仍能以間接方式被觀察到。
儘管瀏覽器不再暴露你的擴充清單,這些擴充對頁面所做的改動卻清晰可見。廣告攔截器會移除特定元素,密碼管理器會注入表單欄位,翻譯工具會改動文字,許多擴充還會從可預測的內部位址載入資源。透過觀察這些影響,網站無需直接詢問瀏覽器,便能推斷出你正在執行哪些擴充。
偵測依賴副作用。指令碼可以探測擴充的可被網頁存取的資源、觀察它對 DOM 的改動、量測它引入的時序差異,或偵測它注入的內容指令碼。每確認一個擴充都會增加識別資訊。由於這些技術利用的是擴充自身的行為而非特權介面,因此很難在不停用引發問題的擴充的前提下加以阻止。
擴充由個人喜好決定,因此一組不尋常的組合可能比你的硬體更具識別性。幾個小眾擴充湊在一起,便可能形成一個幾乎無人共用的集合,把你為隱私或便利安裝的工具變成強而持久的指紋。諷刺的是,某些反追蹤擴充本身足夠罕見,反而抬高了你的唯一性而非降低它。
只從官方商店和可信開發者處安裝擴充,因為惡意擴充能讀取你在線上所做的一切。定期檢視清單,移除不再使用的擴充,既為安全也為縮小指紋。處理敏感任務時,使用乾淨的設定檔或無痕視窗——它會停用大多數擴充——可同時減少你的攻擊面和可追蹤性。
外掛偵測會檢查你的瀏覽器向網站暴露了什麼:navigator.plugins 清單中的項目、瀏覽器宣稱可處理的 MIME 類型,以及即使未被直接列出、也能揭露常見擴充的行為線索。基於隱私考量,現代瀏覽器已不再暴露完整的擴充清單,因此偵測改為依賴副作用——被注入的元素、被改動的頁面資源,或擴充隨附的可被網頁存取的檔案。執行偵測能顯示你的設定洩漏了哪些此類訊號,以及它們為你的指紋增添了多少資訊。
過去,網站會讀取 navigator.plugins 陣列來列舉已安裝的外掛,例如 Flash 或 PDF 檢視器。如今這套邏輯反了過來:為了抑制指紋識別,現代瀏覽器會回傳一份標準化、寫死的清單——通常是少數幾個內建 PDF 檢視器項目,在 Chrome、Edge 和 Firefox 之間幾乎完全相同——因此這份清單本身如今幾乎不帶任何資訊熵。但這個 API 對偵測仍然重要,因為無頭和被偽裝的瀏覽器往往無法完整重現它,而一份與其宣稱的 User-Agent 不符的外掛清單,便是立即可見的機器人訊號。
不能直接看到。現代瀏覽器不再交出你的擴充清單。然而,網站往往能透過偵測擴充對頁面所做的改動或載入的資源來推斷出你執行了哪些,因此你的擴充並不像看上去那麼私密。
可能會。由於擴充選擇因人而異,一組不尋常的擴充會為你的指紋增加資訊熵,可能比硬體更精確地識別你。即使是隱私擴充,若足夠罕見也會適得其反。保持一組精簡、常見且可信的擴充是更安全的平衡。
預設情況下,大多數擴充在無痕視窗中會被關閉,除非你明確允許。這在敏感瀏覽時既降低安全風險也減少指紋識別,這也是無痕模式讓人感覺更匿名的原因之一,儘管它本身並不能阻止指紋識別。
優先選擇信譽良好的開發者出品、使用者眾多、近期有更新且權限最少的知名擴充。廣泛使用的工具通常稽核更充分,且因使用者眾多,對你唯一性的貢獻也小於冷門擴充。任何不再實際使用的都應移除。
執行一次外掛偵測。它會讀取你的 navigator.plugins 清單和支援的 MIME 類型,並尋找能揭露常見擴充的副作用,然後顯示網站會偵測到什麼。由於瀏覽器已限縮直接列舉擴充的能力,偵測會聚焦於仍會洩漏的訊號——以及你的外掛資料是否與瀏覽器其餘部分一致。
大致上已不再使用。Flash 和 Java 小程式等舊式外掛已從現代瀏覽器中移除,被內建功能和網路標準所取代。如今所剩的,是一份精簡且大多固定的 navigator.plugins 清單(往往只有一個 PDF 檢視器),外加屬於另一套系統的瀏覽器擴充。不過舊有的外掛 API 仍然存在,現在更多被用於指紋識別和機器人偵測,而非真正的功能用途。