瀏覽器指紋識別是一種在線跟蹤您的方式。它使用您設備中的數據。網站收集螢幕大小、字體和外掛程式等詳細資訊。他們建立了一個獨特的「指紋」。此指紋可以跨網站跟蹤您。公司使用指紋來保護數據。銀行檢查指紋以阻止欺詐。廣告商使用它們來獲得更好的廣告。然而,使用者擔心個人隱私。在這種情況下,CreepJS 有助於平衡這兩方面。它提高了意識並指導更安全的設計。
CreepJS 是一個免費的開源工具,用於瀏覽器指紋測試。它在您的瀏覽器中運行小型 JavaScript 腳本。然後它收集許多數據點。它會檢查您的使用者代理字串以瞭解您的瀏覽器和版本。它會讀取 canvas 和 WebGL 數據,以查看您的設備如何繪製圖像。它會記錄已安裝的字體和螢幕大小,這些字體和螢幕大小因用戶而異。它甚至會記錄時區、音訊上下文和設備記憶體,從而提供有關您機器的額外線索。
CreepJS 還檢查 HTTP 標頭。它查看您的瀏覽器接受哪些語言,以及您是使用cookie還是 do-not-track 設置。它測試 WebRTC 以揭示本地 IP 位址。所有這些細節構成了一個獨特的檔案。網站將此個人資料稱為您的 「指紋」。
使用 CreepJS,開發人員可以準確地看到網站可以使用哪些數據。例如,CreepJS 可能會在您的畫布上繪製一個隱藏的圖像,然後讀回像素數據。該圖通常對於設備的顯卡和驅動程式是唯一的。您的螢幕解析度、安裝的字體、外掛程式清單,甚至電池狀態都增加了更多獨特性。CreepJS 記錄每個值並顯示哪些值在測試中重複。
通過在不同的機器或配置檔上運行 CreepJS,團隊可以並排比較結果。他們可以對哪些數據點最穩定,哪些數據點經常變化進行排序。這有助於他們決定要遮罩或隨機化的內容。簡而言之,CreepJS 為瀏覽器指紋識別提供了一個清晰的視窗。它準確指出了隱私洩露可能發生的位置,以及工程師需要關注的地方。
當你在瀏覽器中運行 CreepJS 時,它會利用幾個核心 Web API。首先,它使用 Console API 來記錄結果。主控台是一個內置的瀏覽器工具,用於顯示消息和數據結構。CreepJS 在那裡列印一個 JSON 物件。JSON(JavaScript 物件表示法)是一種簡單的文本格式。它使數據易於讀取和解析。您可以複製此 JSON 並將儲存到檔案中。
CreepJS 將計算每個數據點的穩定性分數。此分數顯示值在運行中的可靠性。例如,您的螢幕解析度很少更改。所以這個分數很高。但是,如果您安裝新字體,字體可能會發生變化,因此該分數較低。通過對這些分數進行排名,您可以看到哪些值最重要。然後,您就知道將遮罩或隨機化工作的重點放在何處。
在後台,CreepJS 使用 Canvas API 和 WebGL 對圖形進行指紋識別。Canvas API 繪製 2D 形狀和文字。CreepJS 繪製隱藏的形狀並讀回像素數據。此圖是唯一的「畫布哈希」。WebGL 利用您的 GPU 進行 3D 渲染。CreepJS 要求 WebGL 提供供應商和渲染器字串。canvas 和 WebGL 一起提供了強大的指紋。
要強化您的網站,您可以覆蓋這些 API。在 DICloak 或自定義代碼中,您存根 HTMLCanvasElement.prototype.getContext 方法。然後,您返回隨機像素數據,而不是真實數據。您還可以完全阻止 WebGL 調用。
在代碼或 DICloak 配置檔中應用這些修復後,只需重新運行 CreepJS 即可。主控台或日誌檔現在應該顯示不同的畫布哈希、虛假使用者代理和其他偏移的值。這種清晰的前後對比證明瞭您的對策有效。
以這種方式使用 CreepJS 可以幫助您滿足 GDPR 和 CCPA 等合規性要求。這些法律要求您盡量減少數據收集並保護用戶隱私。通過使用 CreepJS 進行測試,您可以證明您的網站只收集嚴格需要的內容。反過來,您可以建立使用者信任,降低法律風險,並領先於不斷演變的 Web 威脅。因此,CreepJS 既可以作為診斷工具,也可以作為瀏覽器指紋防禦最佳實踐的指南。
您可以將 CreepJS 與反檢測瀏覽器一起使用來測試現實世界的防禦措施。首先,在普通瀏覽器中運行 CreepJS。注意哪些數據點洩漏。然後切換到 DICloak,一個強大的反檢測瀏覽器。DICloak 遮罩或隨機化這些相同的點。
當您在 DICloak 中啟動 CreepJS 時,您會看到不同的結果。您的畫布數據會發生變化。您的使用者代理字串會發生變化。外掛程式和字體隱藏在安全的預設值後面。時區和音訊上下文不再與您的真實設備匹配。這表明 DICloak 阻止了 CreepJS 構建穩定的指紋。
這種配對帶來了兩個主要好處。第一,它證明您的反檢測設置有效。您可以獲得之前和之後的清晰、並排的日誌。第二,它可以説明您微調設置。如果 CreepJS 仍然找到一個數據點,你可以調整 DICloak 的規則,直到它消失。
例如,行銷團隊可能會測試 CreepJS 發現重複用戶的頻率。他們在預設瀏覽器中運行 10 個測試。這十個人都共用相同的指紋。然後他們在 DICloak 中運行 10 個測試。每一個看起來都是獨一無二的。這降低了跟蹤和廣告重定向風險。
通過將 CreepJS 與 DICloak 相結合,您可以同時實現隱私和合規性目標。您證明您的網站無法透過指紋跟蹤真實訪問者。而且你確保像 CreepJS 這樣的工具不會暴露你的使用者。這可以建立信任,並讓您領先於不斷演變的 Web 威脅。
4. 在 DICloak 中運行 CreepJS 在 DICloak 的瀏覽器視窗中,載入相同的 HTML 測試頁面。再次打開主控台以查看新指紋。將這些值與您的基準進行比較。您應該會看到畫布數據、字體和時區的變化。
5. 分析和調整如果 CreepJS 仍然選取一個常量值,請返回 DIClok 的設置。調整隨機化級別或添加自定義蒙版。重複測試,直到每次運行的所有關鍵數據點都不同。
6. 通過遵循這個明確的工作流程,您可以驗證 DICloak 是否阻止了 CreepJS 創建穩定的指紋。此過程滿足隱私和合規性需求。它還為您的防檢測設置建立了真實的信心。
問題 1.瀏覽器指紋識別違法嗎?
答:瀏覽器指紋識別本身並不違法。這是一種跟蹤方法。GDPR 和 CCPA 等法律限制了您使用數據的方式。如果您存儲或共用指紋,則必須徵得同意。CreepJS 等工具可以説明您測試合規性。
問題 2.FingerprintJS有什麼用?
答:FingerprintJS 是一種流行的用於指紋識別的 JS 庫。它收集數據點以構建設備配置檔。許多網站使用它來檢測欺詐和機器人。您可以將其與 CreepJS 進行比較,以查看每個工具揭示了什麼。
問題 3.瀏覽器指紋識別是好是壞?
答:瀏覽器指紋識別可以兩者兼而有之。它有助於打擊欺詐並提高安全性。但它也會損害用戶隱私。使用 CreepJS 可以準確地向您展示網站可以收集多少數據。然後,您可以選擇保護或限制指紋識別。
問題 4.什麼是最好的瀏覽器指紋庫?
答:沒有一個「最佳」的庫。FingerprintJS 功能豐富。CreepJS 簡單且免費測試。其他選項包括 AmIUnique 和 ClientJS。您應該選擇適合您的需求和合規性目標的工具。
問題 5.駭客可以竊取我的指紋嗎?
答:如果駭客在您的瀏覽器上運行腳本,他們可以讀取您的指紋。他們可能會使用它來跟蹤或繞過安全檢查。通過使用 CreepJS 進行測試並使用反檢測瀏覽器進行遮罩,您可以查看並阻止這些嘗試。