高級指紋保護:字體 | Canvas | WebGL | 時區(qū)
最后更新于:2022-10-17 18:13:37

一、字體指紋
可以選擇瀏覽器能測試到的字體,有些字體是瀏覽器必需字體,當(dāng)你不勾選時,為了瀏覽器能正常顯示,軟件會自動忽略你未勾的字體正常加載。

我們可以進入到設(shè)置字體界面,如上圖,默認是不使用字體列表,每次動態(tài)隨機的字體指紋。
如不使用動態(tài)隨機,那么就要在下面選擇要用的字體,列出來的字體是本機系統(tǒng)所有字體,如果換機器請確保選擇的字體存在,或我們自己下載安裝一些字體來也是可以的。
二、硬件指紋:Canvas
Canvas是一種HTML5 API,用于在網(wǎng)頁上繪出2D圖像和動畫。
除了上述功能之外,Canvas也可以作為瀏覽器指紋識別的附加熵。根據(jù)Englehardt和Narayanan在普林斯頓大學(xué)的一項研究(2016),超過5%的網(wǎng)站使用Canvas來進行指紋識別。
綜上,Canvas通過命令瀏覽器繪制一個隱藏的Canvas圖像來實現(xiàn)指紋識別。在不同的機器上,這張圖片的繪制結(jié)果略有不同;但如果機器相同,則圖像也相同。圖像被繪出后,它會被轉(zhuǎn)換成一個哈希字符串,被進一步用于身份驗證。
噪聲模式A/B/C(Noise mode)
當(dāng)網(wǎng)站通過瀏覽器請求讀取Canvas函數(shù)時,噪聲模式下的Canvas屏蔽算法會中途攔截它,并向讀出添加一個隨機但始終會保持一致的噪聲。為了更好地理解其工作原理,我們可以將其類比為一個“語音修正器”。當(dāng)您使用一個有著特定預(yù)設(shè)的語音修飾器時,它會改變你的聲音,使它與原來的聲音有很大的區(qū)別,但隨著時間的推移這種變化將保持一致。
由于讀出添加了隨機的噪聲,如果網(wǎng)站應(yīng)用了數(shù)據(jù)分析技術(shù),便會發(fā)現(xiàn)指紋是100%唯一的。

關(guān)閉模式(Off Mode)
將Canvas設(shè)置成關(guān)閉模式后,網(wǎng)站將會得到您設(shè)備的真實Canvas指紋。
將Canvas設(shè)置成“關(guān)閉模式”在某些情況下是有利的,比如當(dāng)網(wǎng)站對100%唯一的或監(jiān)測到Canvas被攔截這些情況有較糟糕的回應(yīng)時。
拉力貓指紋瀏覽器提供了三種不同的操作模式來控制瀏覽器文件的Canvas指紋:噪聲模式、關(guān)閉模式和封鎖模式。
請注意!在真實環(huán)境中,Canvas指紋的哈希值并不是唯一的,因為世界各地有著與您的設(shè)備相同的副本。所以如果您顯示了真實的Canvas指紋,您只會被劃分到使用同一硬件的用戶群。此外,通過變更其他指紋,您可以增加網(wǎng)站將您的瀏覽器配置文件視為單獨身份。
封鎖模式(Block mode)
封鎖模式完全禁止網(wǎng)站讀取Canvas。當(dāng)網(wǎng)站試圖從瀏覽器配置文件中讀出已被設(shè)置為封鎖模式的Canvas時,返回的值將為空。
這種情況處理方式完全取決于網(wǎng)站自身的權(quán)衡。然而,在檢索Canvas對象數(shù)據(jù)的過程中發(fā)生瀏覽器錯誤的情況下,這樣的事件也可能發(fā)生在沒有專心隱藏自己的Canvas指紋的用戶身上。
在多臺電腦上打開瀏覽器配置文件
請注意!如果您創(chuàng)建了一個將Canvas設(shè)置為噪聲模式的瀏覽器配置文件,并且在裝有不同硬件的多個設(shè)備上打開它,網(wǎng)站就會知道Canvas的哈希值在多平臺上運行時并不是持續(xù)的。
雖然添加的噪聲是持續(xù)的,然而它在運行的設(shè)備上起到的只是過濾器的作用。所以,如果設(shè)備改變了,那么讀出來也會改變。
以下是一個例子的截圖。同一個拉力貓指紋瀏覽器配置文件在兩個不同的設(shè)備上被打開。雖然這個瀏覽器配置文件的噪聲是持續(xù)的,但Canvas讀出卻仍舊不同。

如果您需要在多個設(shè)備上獲得不變的讀出,您可以嘗試以下幾種解決方法:
1.在硬件指紋設(shè)置為噪聲模式的情況下,在配置相同的虛擬機(拉力貓指紋瀏覽器)或虛擬專用服務(wù)器(VPS)上運行拉力貓指紋瀏覽器。由于這些設(shè)備是由同一種方式設(shè)置的,添加噪聲后的Canvas指紋在多個設(shè)備上會保持一致。
2.在有著相同硬件、驅(qū)動程序、操作系統(tǒng)的同一PC型號上運行拉力貓指紋瀏覽器。由于這些設(shè)備有著同樣的硬件設(shè)置,被掩蔽后的系統(tǒng)指紋在多設(shè)備上會保持一致。
三、WebGL
WebGL就是俗稱的硬件顯卡型號的意思,再拉力貓指紋瀏覽器我們提供了多個平臺和品牌的顯卡芯片指紋。
WebGL vendor (供應(yīng)商): 像蘋果手機和蘋果電腦一般都是
WebGL vendor :Apple Inc.
WebGL renderer(渲染器):Apple GPU
如果我們是 Windows 系統(tǒng)情況下,大部分是:
WebGL vendor :Google Inc.
我們在做實驗的情況下Chrome瀏覽器和Internet Explorer(Edge)測試取WebGL vendor 會有兩種不同值 ,Chrome 取為 Google Inc. Internet Explorer(Edge)取為 Microsoft ,所以 WebGL vendor 不能完全翻譯為《顯卡供應(yīng)商》,因為它和瀏覽器開發(fā)商有關(guān)。我們有趣的發(fā)現(xiàn)Firefox瀏覽器取值 WebGL vendor :Google Inc.
所以這里我們可以得出一個結(jié)論:如果我們把User-Agent標(biāo)識成了Chrome 和 Firefox 瀏覽器,那么最好 windows 系統(tǒng) WebGL vendor 設(shè)置為Google Inc. 比較合理。
webgl信息從采集數(shù)據(jù)中獲取,預(yù)覽webgl json形式數(shù)據(jù):

四、時區(qū)

和時區(qū)有關(guān)的是本機的時區(qū)信息,拉力貓指紋瀏覽器有本地時區(qū)模擬功能,還有一項就是你的出口IP地址,如果想時區(qū)檢測相一至,可以選中《啟用基于IP設(shè)置時區(qū)》
選中基于IP設(shè)置時區(qū)后,每次啟動瀏覽器配置時會自動檢測出口IP,自動設(shè)置IP所在國家的時區(qū)。