
即使沒有 Cookies 或 Web Beacon,個人仍然可能在線上被識別出來
瀏覽器指紋識別是一種技術,用於收集網頁瀏覽器使用者的信息,並利用該信息來識別個別用戶。通常,會將瀏覽器設置、環境、插件的存在、螢幕解析度、已安裝的字型等各種元素結合在一起,為每個用戶創建一個獨特的識別符號。這使得即使在用戶未登錄的情況下,也能跟蹤在線活動並對用戶進行概要分析。瀏覽器指紋識別主要被廣告商和網站運營商用於分析用戶的興趣和行為,從而實現定向廣告投放。
在這個頁面上,我們將介紹瀏覽器指紋識別中使用的信息類型以及防止通過瀏覽器指紋識別識別個人的方法。
用於瀏覽器指紋識別的元素
瀏覽器指紋識別中使用的元素是多樣的。以下列出了一些常見的元素,並對每個元素進行了簡要介紹:
用戶代理:
一個指示瀏覽器類型和版本的字符串。
用戶代理有助於識別用戶的瀏覽器,因為根據瀏覽器的類型和版本,將使用不同的渲染引擎和功能。
然而,由於將用戶代理與其他元素結合時識別個人的便利性,用戶代理的使用正逐步被淘汰。
例如,對於 Windows 上的 Google Chrome,從大約 2023 年 4 月開始,以下字符串已被固定:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.0.0 Safari/537.36
但是,為了應對基於瀏覽器類型的分支處理的必要性,已經實施了 用戶代理客戶端提示 API(UA-CH) 作為用戶代理的替代屬性。儘管 UA-CH 提供的信息少於用戶代理用於識別個人,但在瀏覽器指紋識別中仍存在被利用的風險。
螢幕解析度:
顯示器上的寬度和高度的像素數。
使用者設備的螢幕解析度是一個獨特的特徵,在瀏覽器指紋識別中至關重要。
特別是,從預設設置更改窗口大小會使識別個人變得更容易。
因此,在像 Tor 瀏覽器這樣關注隱私的瀏覽器中,當改變窗口大小時會顯示警告訊息,以警示使用者指紋識別的風險。
已安裝的字型:
用戶設備上安裝的字型列表。
由於不同設備的字型類型和版本不同,它們被用作瀏覽器指紋識別的一部分。
如果在操作系統上安裝了自定義字型,通過字型進行指紋識別的風險會增加。
語言設置:
瀏覽器的語言和區域設置。
識別用戶的瀏覽器使用的語言和區域對瀏覽器指紋識別很有幫助。
使用者的瀏覽器語言設置可以通過 JavaScript 的標準 API 中的 navigator.languages 屬性或 HTTP 請求標頭中的 Accept-Language 設置輕鬆確定。
此外,語言的優先級設置也會在指紋識別中帶來風險。
根據瀏覽器的不同,語言的優先級設置會決定偏好分數。
de,en-US;q=0.7,en;q=0.3
在這個例子中,德語被設置為第一語言(偏好分數 1.0),美式英語被設置為第二語言(偏好分數 0.7),標準英語被設置為第三語言(偏好分數 0.3)。
de,en;q=0.7,en-US;q=0.3
在這個例子中,德語被設置為第一語言(偏好分數 1.0),標準英語被設置為第二語言(偏好分數 0.7),美式英語被設置為第三語言(偏好分數 0.3)。
雖然這兩個例子具有相同的偏好語言陣列,但語言優先級設置提供了識別個人的提示。
插件信息:
瀏覽器中已安裝的插件或附加元件的信息。
每個用戶的插件存在與否及其版本不同,使它們成為瀏覽器指紋識別中的獨特元素。
執行用戶腳本的擴展如 Greasemonkey 或實現自定義 CSS 的 Stylus 提供了給網站識別用戶的提示。
雖然這些元素中的每個單獨可能不足以識別用戶,但它們的組合會生成更準確的瀏覽器指紋。
畫布指紋識別:
畫布指紋識別是一種利用 Canvas API(用於繪製 2D 圖形的 API)來唯一識別用戶的瀏覽器和設備的技術。
畫布指紋識別利用瀏覽器執行特定繪圖操作時的微小差異為每個用戶生成唯一標識符。
由於畫布指紋識別依賴於瀏覽器的繪圖能力、圖形硬件和渲染引擎特性,因此具有很高的準確性並且難以追蹤。例如,即使在瀏覽器中繪製相同的文本或圖像,由於微小的繪製差異,生成的畫布指紋也會有所不同。
ETag 追蹤:
ETag 追蹤是通過利用網頁瀏覽
器的緩存機制來追蹤用戶的一種方法。ETag 指的是包含在 HTTP 標頭中的實體標籤,用於識別特定資源的版本(通常是網頁或圖像)。
在 ETag 追蹤中,當網站向用戶提供資源時,它會為這些資源分配一個唯一的 ETag。隨後,當用戶再次訪問相同的資源時,瀏覽器將 ETag 發送到服務器中的請求。然後,服務器使用該 ETag 驗證客戶端的請求是否與先前提供的資源版本相匹配。
ETag 追蹤的問題在於,由於每個用戶的 ETag 都是唯一的,所以每次用戶使用相同的 ETag 訪問資源時都存在追蹤用戶行為的潛在風險。ETag 追蹤持續到瀏覽器緩存被清除。
與基於 cookie 的追蹤相比,ETag 追蹤的進行方式更加隱蔽,對用戶的注意力不太明顯。要對抗這一點,自定義瀏覽器隱私設置或使用隱私保護擴展可以是有效的。
有關 ETag 追蹤的更多細節,請查看此處(也可以進行行為測試!)
瀏覽器指紋識別的類似技術
正如所示,瀏覽器指紋識別是一種根據各種瀏覽器信息來識別個人的機制。然而,還有許多其他方法可以識別個人。
以下是一些例子:
Cookie:由網頁瀏覽器存儲的小型文本文件,其中包含用戶的網站訪問歷史和設置等信息。與瀏覽器指紋識別類似,cookie 用於識別用戶,但它們可以在瀏覽器之間共享信息。將 cookie 用作識別個人的手段受到日益加強的全球監管的影響,並逐步被淘汰。
設備指紋識別:不僅基於瀏覽器信息識別用戶,還基於整個設備的信息。這包括設備的 IP 地址、硬件信息和操作系統版本。使用常見設備識別個人的準確性可能比其他方法低,但對於具有獨特設備或系統配置的用戶,唯一識別用戶的風險會增加。
追蹤像素:也稱為網頁信標,這些是嵌入在網頁中的看不見的 1x1 像素圖像文件,用於跟蹤用戶行為。廣告商和網站運營商使用這些來跟蹤用戶的訪問歷史和移動進行分析。由於在向服務器發送請求時與識別個人的會話信息相關聯,如果網站在本地實施追蹤像素,可能會很難進行緩解。
在網站上隱藏跟蹤的方法
瀏覽器指紋識別對用戶來說是一種已知的風險,因此,有許多對策可用。以下是一些例子:
anonymoX
https://anonymox.net/en
anonymoX 是一個可用作瀏覽器擴展的免費 VPN 服務。
通過通過 anonymoX 的服務器訪問網站,可以防止根據 IP 地址識別個人。
此外,anonymoX 隱藏了操作系統信息,從而防止基於操作系統版本的指紋識別。
CanvasBlocker
https://github.com/kkapsner/CanvasBlocker
CanvasBlocker 通過阻止網站使用 JavaScript API 來執行指紋識別,從而保護免受畫布指紋識別的影響。
CanvasBlocker 包括防止使用 canvas2d、WebGL、DomRect 和其他方法進行
指紋識別的功能。
PrivacyPossum
https://github.com/cowlicks/privacypossum
PrivacyPossum 是一個瀏覽器擴展,可以防止跟蹤器使用用戶識別 cookie,並將 ETag 追蹤的影響降至最低。
該擴展通過混淆用戶的瀏覽信息來困擾跟蹤器,從而使識別變得困難。
受到電子前沿基金會 Privacy Badger 的啟發,PrivacyPossum 解決了其他擴展的不足。
高級隱私保護
雖然使用這些瀏覽器擴展使跟蹤變得困難很重要,但由於用戶和分析公司之間的貓捉老鼠遊戲,實現完全的個人信息保護是一個挑戰。隱私保護的最佳選擇之一是在可能的情況下避免在線輸入可識別的信息。
在這裡,我們介紹 SMSOnline,這是一個提供免費一次性電話號碼的服務,是保護個人信息的一個絕佳選擇。
通過利用 SMSOnline 提供的一次性電話號碼服務,可以減輕識別個人信息和地理阻止的風險。
手機號碼經常用於目的,例如基於短信的驗證來唯一識別用戶。從其他國家獲得手機號碼並不容易,網站通常使用這一點來限制用戶訪問特定地理區域。SMSOnline 對於繞過這些限制非常有用。
https://www.smsonline.cloud/zh-tw
SMSOnline 是一個網站,您可以在其中查看來自世界各地的電話號碼收到的短信。
使用 SMSOnline 可以避免在線上暴露您的實際電話號碼。該服務提供來自20多個國家的電話號碼,包括日本、中國、台灣、韓國、美國和德國等一級國家,在任何時候線上都有100多個電話號碼可用。通過輕鬆獲得國際電話號碼,可以輕鬆地繞過基於手機號碼驗證的地理阻止。通過將此服務與今天介紹的瀏覽器擴展結合使用,可以減少您在互聯網上的數字足跡和活動跡象。
感謝您的閱讀。