設備指紋:你是如何被暴露的?
首頁
文章
設備指紋:你是如何被暴露的?

設備指紋:你是如何被暴露的?

初階
發佈時間 Aug 26, 2019更新時間 Dec 11, 2023
4m

什麼是設備指紋?

由社群提交 - 作者:匿名


在計算機科學領域中,指紋生成是指為各類電子數據創建唯一標識符的過程。而當我們需要實施某項技術來識別出單個用戶或設備時,我們將它們稱為瀏覽器或設備指紋。

本質上,該過程包括了收集有關智能手機、計算機或其他設備的信息。有時,即使用戶隱藏了IP地址或者更換了瀏覽器,通過指紋識別也是可以識別到該設備的。

多年來,網絡分析服務一直在收集設備和瀏覽器信息,旨在分析合法的網絡流量並檢測潛在的欺詐行為。如今,出現了更多先進的技術能夠收集到設備裡面特定的參數。

指紋技術在之前主要應用在計算機領域中。如今,新一代技術可以識別出任何類型的設備信息,並且新不斷專注於日益增長的移動端應用程序。


它是如何工作的?

詳細說來,設備指紋識別涉及相關數據的收集,然後通過散列函數對數據集進行合併和提交。接下來散列函數的輸出(哈希值)可以作為每個設備(或用戶)的唯一ID。

收集到的信息通常被存儲在數據庫中,而非設備端。雖然單一數據點的生成方式是相同的,但多個數據集的組合最終生成的指紋卻是唯一的。

設備指紋識別方式可分為被動和主動兩種方式。這兩種方式的目的都是收集設備的信息。因此,即使數千台運行著相同操作系統的計算機,每台計算機上也都可安裝有各類的軟件、硬件、瀏覽器、插件、語言、時鐘和常規設置的相應組合。


被動設備指紋識別

顧名思義,通過無感知的方式收集信息,無需請求用戶(或遠程系統)的同意。該方式會基於每台設備發送的內容來收集數據,因此被動指紋識別傾向於客戶端提供較少的特定信息(例如,操作系統)。

例如,有開發者開發了一款被動指紋識別技術,該技術被用於收集網絡設備(例如因特網調解調器)上的無線驅動器信息。該程序可以在無需設備操作的前提下,在各種類型的驅動程序中通過被動方式實現交互。簡而言之,不同的設備會採用不同的方式來掃描網絡中可能存在的連接(接入點)。因此,攻擊者也可以使用這些差異來準確識別每個目標設備所使用的驅動程序。


主動指紋識別

另外一種識別方式是主動指紋識別,該方式需要主動請求網絡通信,這使得它們在客戶端中的運行更容易被檢測到。一些網站運行JavaScript代碼作為收集用戶設備和瀏覽器信息的方式。所收集的信息包括窗口大小、字體、插件、語言設置、時區,甚至包括其硬件的詳細信息。

主動識別技術的一個典型例子是畫布指紋識別,它常被用於計算機和移動設備中。通常基於HTML5網頁的畫布(圖形元素)交互腳本。腳本中記錄了畫佈在屏幕上所繪製的隱藏圖像,然後記錄圖像中包含的信息,例如屏幕分辨率、字體和背景顏色。


具體有何用途?

設備指紋識別可以為廣告商提供了一種跨瀏覽器跟踪消費者行為的功能。還能夠幫助銀行系統識別用戶的請求是來自可信設備還是來自存在欺詐行為相關聯的系統中。

除此之外,設備指紋識別還可以幫助網站識別多個帳戶註冊的行為,或幫助搜索引擎識別存在可疑行為的設備。

在檢測和防範身份盜用或信用卡欺詐方面,設備指紋識別也能夠派上用場。然而,這些技術可能會影響到用戶隱私,尤其是在使用被動指紋識別時,在某些數據收集的方式中,用戶可能無法檢測到個人的數據已經被收集。


存在哪些限制?

在主動指紋識別方面,數據收集依賴於腳本語言(如JavaScript)的可用性。然而當移動設備和用戶運行了隱藏程序或插件,可能會影響腳本執行的可用性,使指紋識別難以識別出相應的設備信息。其中包括用於攔截廣告和追踪器的瀏覽器插件。

但是,在某些情況下,某些看重隱私保護的用戶反而更容易被識別。例如,當他們使用了某些非主流軟件和具有特殊設置的插件時,會使他們更具備特徵,容易被發現。

此外,指紋識別的有效性可能會受到客戶端大量變化的影響。不斷更改設置或使用多個虛擬操作系統的用戶可能會在數據收集過程中收到影響,導致識別不准確。

使用不同的瀏覽器也可能導致指紋識別在收集信息的過程中出現錯誤,但現在可以使用現代的跨瀏覽器指紋識別技術來避免這些問題。


總結

現在有很多方式可以實現和使用設備指紋識別技術。收集數據和識別設備來源的有效性會因方式不同而異。

無論是單獨使用還是與其他方法結合使用,設備指紋識別都會成為追踪行為和識別用戶的有效工具。因此,這種強大的技術可以用於合法或非法活動中,所以了解它們的基本機制會有助於您進一步熟悉該技術。