高凡,王健,劉吉強
基于動態(tài)瀏覽器指紋的鏈接檢測技術(shù)研究
高凡,王健,劉吉強
(北京交通大學(xué)智能交通數(shù)據(jù)安全與隱私保護技術(shù)北京市重點實驗室,北京 100044)
隨著用戶隱私泄露和網(wǎng)絡(luò)欺詐問題的出現(xiàn),傳統(tǒng)檢測機制已經(jīng)不能阻擋愈演愈烈的攻擊行為,需要新的技術(shù)手段輔助進行Web安全檢測。作為溝通用戶與網(wǎng)絡(luò)數(shù)據(jù)的橋梁,瀏覽器廣泛應(yīng)用于用戶與各種應(yīng)用程序之間的交互,其中瀏覽器指紋包含用戶瀏覽器及設(shè)備等多種特征信息,其獨特性可以極大地提高用戶識別的準確率。但是瀏覽器指紋隨時間不斷發(fā)生變動,基于靜態(tài)指紋的研究方案難以滿足動態(tài)指紋檢測的要求。針對這一問題,為了提高動態(tài)瀏覽器指紋的識別和鏈接檢測能力,從多維角度獲取參數(shù)并進行篩選,得到細粒度和高區(qū)分度的特征進行指紋檢測,防止過多不必要參數(shù)帶來的運算代價,并將雙向門控循環(huán)單元(BiGRU,bidirectional gating recurrent unit)引入指紋檢測工作中,提出了基于堆疊BiGRU的動態(tài)瀏覽器指紋鏈接檢測模型,解決了指紋檢測過程中忽略前后向信息交互導(dǎo)致的檢測精度不高的問題,在準確率和鏈接時長等指標上有了一定的提升。進而針對不同特征參數(shù)的重要性不同,賦予相同權(quán)重會造成檢測誤差的問題,結(jié)合注意力機制聚焦穩(wěn)定性更強的指紋特征,提出了基于Att-BiGRU的動態(tài)瀏覽器指紋鏈接檢測模型,較堆疊BiGRU有了檢測能力上的優(yōu)化,進一步提高了瀏覽器指紋的檢測準確率,并在與基準模型的綜合指標對比結(jié)果中表現(xiàn)出了良好的鏈接能力。
瀏覽器指紋;動態(tài)鏈接;攻擊檢測;注意力機制;Web安全
科學(xué)技術(shù)的發(fā)展促進著互聯(lián)網(wǎng)的不斷革新,網(wǎng)絡(luò)為人類社會提供的便捷服務(wù)深刻改變了人們信息交互的方式。瀏覽器作為Web應(yīng)用的入口,是安全防護的薄弱環(huán)節(jié),尤其作為向用戶提供服務(wù)的工具,攻擊者通過瀏覽器采用惡意手段竊取用戶隱私。例如,Cookie曾被用來解決用戶頻繁登錄同一網(wǎng)站時加載速度過慢的問題,彌補了無狀態(tài)HTTP(HyperText transfer protocol)的局限性,但也常被廣告商用來獲取用戶的偏好信息[1-2]。Web開發(fā)者為了抵御各類安全威脅,通常根據(jù)用戶IP(Internet protocol)地址攔截特定訪問,但IP易被修改和偽造。因此,需要一個有效的安全檢測方法,在提高互聯(lián)網(wǎng)安全性的同時將認證過程對用戶的影響降到最低,防止惡意用戶訪問。
瀏覽器指紋主要取決于自身的軟硬件參數(shù)進行識別,是每個用戶獨一無二的數(shù)據(jù)。將瀏覽器指紋作為識別手段可以極大地提高用戶的識別率[3],增強在線賬戶的安全性,如可以應(yīng)用到銀行等網(wǎng)站中,通過在登錄時驗證用戶的瀏覽器指紋,系統(tǒng)可以輕松地阻止來自未知設(shè)備的未授權(quán)訪問。瀏覽器指紋也可以應(yīng)用于反欺詐等風控場景,由于收集到的屬性之間存在眾多依賴關(guān)系,因此可用來檢查指紋是否已被篡改,或者是否與指紋所屬的設(shè)備相匹配,由此區(qū)分普通用戶與欺詐用戶。
但是瀏覽器的不斷更新、用戶自行更改設(shè)備屬性選項或者使用了一系列反跟蹤軟件,均會導(dǎo)致瀏覽器指紋不斷發(fā)生變化,針對靜態(tài)指紋信息的解決方案可能在一段時間后就喪失了研究價值,因此需要更有效的方法進行變動指紋的識別。
綜合上述現(xiàn)狀及問題,本文的主要工作內(nèi)容如下。
1) 從多維角度獲取瀏覽器指紋特征信息,減少特征單一造成的檢測誤差,并在分析后選取其中區(qū)分度高、細粒度和穩(wěn)定性強的屬性,防止過多不必要參數(shù)帶來的運算代價。
2) 將雙向門控循環(huán)單元(BiGRU,bidirectional gating recurrent unit)引入指紋檢測工作中,提出基于動態(tài)瀏覽器指紋的堆疊雙向門控循環(huán)單元檢測模型,通過前后序相互依賴提高檢測的準確率,進而提升鏈接動態(tài)瀏覽器指紋的能力。
3) 考慮特征權(quán)重問題,使用注意力機制調(diào)整模型關(guān)注點,聚焦閾值更高的特征屬性,提出Att-BiGRU模型適用于瀏覽器指紋的鏈接工作,減少噪聲污染,在綜合表現(xiàn)上進一步提高瀏覽器指紋的檢測能力。
瀏覽器指紋識別首先由電子前沿基金會(EFF,Electronic Frontier Foundation)提出,Eckersley等[4]在大量瀏覽器樣本中收集了470 161個指紋,發(fā)現(xiàn)瀏覽器指紋可以更精確地顯示設(shè)備的多樣性。在瀏覽器指紋的概念出現(xiàn)之后,特征屬性由原先的Cookie擴充到了User-Agent、Canvas等參數(shù),瀏覽器指紋的部分特征示例如表1所示。
瀏覽器指紋常被用于多種目的,Laperdrix等[5]將瀏覽器指紋的使用分為兩大類。
1) 負面應(yīng)用:未知的第三方通過偽造瀏覽器指紋假冒用戶獲取隱私信息,或者通過識別已知漏洞攻擊其設(shè)備。
2) 正面應(yīng)用:通過實時檢測和更新進行用戶身份識別,防止惡意用戶欺詐,還可以通過驗證設(shè)備為系統(tǒng)增強在線服務(wù)的安全性。
現(xiàn)有的研究工作主要聚焦于更改瀏覽器屬性特征以達到欺瞞跟蹤者的目的,進而防止攻擊[6]。對于瀏覽器指紋帶來的惡意跟蹤問題,Torres等[7]使用FP-Block的解決方案分離Web身份,瀏覽器連接不同站點時會呈現(xiàn)不同的指紋,從而防止跟蹤;Fiore等[8]根據(jù)以往的數(shù)據(jù)創(chuàng)建相似指紋,呈現(xiàn)偽造的一致性指紋對抗惡意檢測,但這兩類研究的覆蓋范圍均不完整。Laperdrix等[9]將噪聲引入Canvas、AudioContext API等特征中,并隨機化JavaScript對象的枚舉順序以增加瀏覽器的不確定性;Wang等[10]將拉普拉斯噪聲注入低秩矩陣進行指紋的隱私保護,減少指紋跟蹤的影響,但這類方式的缺點是其他特征仍舊可以發(fā)揮作用,甚至特殊化參數(shù)在某種程度上使指紋更加突出。
通過修改指紋特征、引入噪聲或者使用Tor瀏覽器[11]的做法在某種程度上可以免受惡意跟蹤的困擾,但只能提供有限的保護,難度較大且會增加用戶操作的復(fù)雜度。因此,需要進行瀏覽器指紋的安全檢測研究工作,并對瀏覽器指紋的識別驗證現(xiàn)狀做進一步介紹。
瀏覽器指紋是增強認證的一個有效手段,如Bursztein等[12]設(shè)計的基于畫布指紋識別的名為Picasso的解決方案,不僅可以過濾非正常流量,還可以檢測出設(shè)備的瀏覽器和操作系統(tǒng)系列,查看指紋與實際設(shè)備之間是否存在不匹配的現(xiàn)象。Faiz-rhademi等[13]提出的FPGuard方法,能夠在運行時檢測和預(yù)防瀏覽器指紋,通過收集并分析與指紋活動有關(guān)的細粒度數(shù)據(jù),進而識別Web服務(wù)及在線行為。
2019年,有兩項相似的研究通過畫布指紋識別增強身份驗證。Rochet等[14]為每個設(shè)備創(chuàng)建個性化模型,并使用深度學(xué)習算法為用戶建立二進制分類模型,在得分高于設(shè)置的特定閾值后才能驗證。而Laperdrix等[15]在研究中要求當前瀏覽器必須能夠渲染出與先前完全相同的Canvas,否則就會阻止當前設(shè)備匹配,用戶只能使用其他方式進行識別。但這兩項研究對特征的精度匹配要求很高,同時特征訓(xùn)練和提取不全面,識別不了變動指紋。
如今一些從事在線安全檢測的企業(yè)已經(jīng)使用瀏覽器指紋來增強身份驗證,如SecurAuth[16]作為自適應(yīng)訪問控制解決方案的提供商,成功地構(gòu)建了通過設(shè)備指紋識別的基于啟發(fā)式的身份驗證系統(tǒng),該系統(tǒng)也使用了瀏覽器指紋作為多因素身份驗證過程的一部分。Lovation公司擁有名為ClearKey[17]的解決方案,該解決方案將設(shè)備信息的收集作為其多因素身份驗證框架的一部分進行集成,提供了自己的方法來處理帶有模糊邏輯算法的指紋檢測。
瀏覽器指紋技術(shù)能夠辨別用戶的訪問設(shè)備,在不增加用戶操作且不降低用戶體驗的情況下增強認證和訪問的安全性。但需要注意的是,瀏覽器指紋的特征數(shù)據(jù)時常會發(fā)生變化,在一定的變化范圍之內(nèi),為了能夠判別出新的指紋與已知庫中的指紋是否來源于同一瀏覽器,需要進一步研究動態(tài)瀏覽器指紋的鏈接工作。
指紋是用戶設(shè)備和環(huán)境的直接反映,隨著系統(tǒng)更新或配置更改,瀏覽器指紋會經(jīng)常發(fā)生改變,因此需要具備了解這些變化并鏈接動態(tài)指紋的能力。
指紋變化的原因主要分為以下幾點。
1) 自動變化:如瀏覽器或內(nèi)置插件自動升級更新。
2) 環(huán)境改變:如進入不同的時區(qū)。
3) 用戶自定義設(shè)置:用戶更改某些選項,如清除Cookie、更換字體或禁用DNT等。
4) 使用反跟蹤操作:如使用某些擴展程序混淆指紋,或者給指紋的某些特征增加噪聲(如FPRandom[9]中為Canvas和AudioContext引入了用戶無法察覺的噪聲),使指紋表現(xiàn)出了隨機性。
Eckersley[4]首次提出了指紋變動問題,使用算法將瀏覽器指紋特征進行直接比較,估算待測指紋和原先指紋的演變關(guān)系,但該研究方法人為干預(yù)因素過多,不穩(wěn)定且準確率過低。2016年,Alaca等[19]使用設(shè)備指紋進行身份驗證時,考慮穩(wěn)定性研究了指紋的差異接受度,由登錄系統(tǒng)決定是否接受版本更新或者字體被修改的設(shè)備,但只是簡單地做了介紹,并沒有進行深入探討和研究。
2018年,Vastel等[19]描述了瀏覽器指紋變化的頻繁程度,引出靜態(tài)規(guī)則與機器學(xué)習中的隨機森林相結(jié)合的算法FPStalker,追蹤瀏覽器指紋的演變過程。在此基礎(chǔ)上,Li等[20]提出通過將新指紋鏈接到上一個指紋來提高瀏覽器指紋的穩(wěn)定性,使用長短期記憶網(wǎng)絡(luò)模型來學(xué)習瀏覽器指紋不斷變動的潛在關(guān)系。Li等[21]在Gomez-Boix工作的基礎(chǔ)上,首次對數(shù)百萬個指紋數(shù)據(jù)進行了大規(guī)模的研究,分析了瀏覽器指紋的隱私和安全問題,并強調(diào)研究動態(tài)瀏覽器指紋的重要性。
結(jié)合以上研究工作,考慮到指紋特征之間的依賴關(guān)系和動態(tài)指紋的鏈接問題,本文對動態(tài)瀏覽器指紋進行檢測技術(shù)研究。
瀏覽器指紋屬性繁多,在檢測用戶并鏈接瀏覽器實例的過程中,過多的特征參數(shù)會引入噪聲,導(dǎo)致實驗的魯棒性偏低,同時會增加不必要的運算代價。因此,從設(shè)備、操作系統(tǒng)、瀏覽器和用戶配置等多維角度獲取瀏覽器指紋特征屬性并分析,提取出符合以下要素的特征。
(1)可區(qū)分度高
盡量選擇區(qū)分度比較高的特征,至少能從數(shù)千臺設(shè)備中標識某一設(shè)備,即使指紋被仿冒也能夠從中檢測出來,增強安全性。因此引入信息熵[22]的概念來衡量指紋特征的區(qū)分度,信息熵可以作為參數(shù)信息的量化指標,特征參數(shù)越復(fù)雜,不同瀏覽器指紋之間出現(xiàn)相同情況的概率越小,信息熵越大。瀏覽器指紋特征熵值示例如表2所示。
表2 瀏覽器指紋特征熵值示例
(2)細粒度
瀏覽器特征中包含一定的冗余信息,因此特征提取時需要對冗余信息進行過濾,對粗粒度信息進行分割,提取細粒度的數(shù)據(jù)作為特征參數(shù)。
例如,GPU和navigator.vendor中均包含供應(yīng)商等相關(guān)信息,需要在比較后篩除重復(fù)數(shù)據(jù);User-Agent包含的信息量較大,需要使用User-Agent解析庫對其進行分解,得到瀏覽器、操作系統(tǒng)和是否為PC端等信息;Canvas、WebGL等字符串表示復(fù)雜,需要使用哈希雜湊進行處理;Use of DNT等特征參數(shù)簡單,可以直接數(shù)值化操作等。
(3)穩(wěn)定性
在考慮瀏覽器指紋時常變化的情況下,需要保留一部分信息量低但穩(wěn)定性較強的特征屬性。針對瀏覽器指紋發(fā)生變化后產(chǎn)生的一系列問題,對指紋屬性值中的變化進行分析,選取合理的特征。例如,Use of LocalStorage、Use of SeesionStorage等參數(shù),用戶基本不會對其改動,這些特征作為保留數(shù)據(jù)可以在檢測初期幫助篩除不匹配的指紋數(shù)據(jù)。
在考慮上述3種要素的基礎(chǔ)上,最終提取出User-Agent、Accept、Cookies、Language、Canvas等25種特征進行后續(xù)實驗。
考慮到瀏覽器指紋的動態(tài)鏈接中有時間序列關(guān)系,經(jīng)過分析后選用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)進行瀏覽器指紋檢測:通過前序影響后序判斷特征的相似度從而將待測指紋鏈接到現(xiàn)有指紋鏈中,通過后序影響前序判斷鏈接的合理性??紤]到過擬合及運算代價問題,使用雙向門控循環(huán)單元進行算法的改進,提出基于堆疊BiGRU的動態(tài)瀏覽器指紋檢測模型,提高模型的魯棒性,減少特征順序?qū)δP偷挠绊?,引入Dropout算法提高模型的泛化能力?;诙询BBiGRU的瀏覽器指紋鏈接流程如圖1所示。
2.2.1 指紋篩選
一個用戶的全部瀏覽器指紋應(yīng)構(gòu)成一條指紋鏈,但瀏覽器指紋會隨配置更改不斷發(fā)生變動,為了更好地鏈接瀏覽器指紋的動態(tài)變化過程,同一指紋鏈需存在多條指紋數(shù)據(jù)進行訓(xùn)練。因此,篩除指紋數(shù)據(jù)庫中鏈長度小于6的瀏覽器指紋,并對指紋鏈接進行初步的規(guī)則限制:同一指紋鏈中的所有指紋數(shù)據(jù)需要保持操作系統(tǒng)和瀏覽器類型的穩(wěn)定;對Use of LocalStorage、CookiesEnable、Use of DNT等特征的設(shè)置需相同;Canvas值保持一致;Fonts參數(shù)信息有交集;User-Agent、Vendor、Plugins、Language、Accept等特征變化在一定相似性范圍內(nèi)等。
圖1 基于堆疊BiGRU的瀏覽器指紋鏈接流程
Figure 1 The flow of browser fingerprint link based on stacked BiGRU
在以上規(guī)則的基礎(chǔ)上,將待測指紋與指紋數(shù)據(jù)庫中的已知指紋進行對比,如算法1所示。
算法1 指紋匹配規(guī)則算法
輸入 原始指紋數(shù)據(jù)集
輸出 匹配的指紋id或者篩選后的指紋數(shù)據(jù)集sub
開始
Function:
Rules={rule1,rule2,...}
if verifyRules(f,f, Rules) then
if NumberofDiff = 0 then
pre←pre∪ <f>
else
sub←sub∪ <f>
end if
end if
end for
if|pre| > 0 and sameIds(pre) then
returnpre[0].id
else if |sub| > 0 then
return Fuction_BiGRU
else
return generateNewId()
end if
end function
其中,為原始指紋數(shù)據(jù)集,f為待測的未知指紋,f為指紋庫中某個待比較的瀏覽器指紋,sub為粗略篩選后的數(shù)據(jù)集,pre為精確匹配的數(shù)據(jù)集合。
在檢驗待測指紋f是否屬于已知指紋庫中的某條指紋鏈時,先在已有規(guī)則條件下遍歷指紋庫中的每條指紋數(shù)據(jù)。如果符合規(guī)則,則判斷未知指紋f和已知指紋f的相似度,如果二者之間完全匹配,則將該指紋置于精確匹配的pre集合;否則將其置于候選指紋集合sub。倘若精確匹配的pre集合中僅存在1條指紋數(shù)據(jù),則直接返回該指紋數(shù)據(jù)的id;如果pre集合中指紋數(shù)量大于1,則比較集合中所有指紋的id是否一致,相同時直接返回歷史id,表明待測指紋f屬于該瀏覽器實例,可以成功鏈接到指紋鏈上。但如果是候選集合sub中存在指紋數(shù),則進入BiGRU模型中繼續(xù)判斷。如果待測指紋完全不符合現(xiàn)有的篩選規(guī)則,則說明指紋數(shù)據(jù)庫中沒有待測指紋的歷史數(shù)據(jù),需要生成一條新的指紋鏈,并賦予其新的指紋id。
2.2.2 雙向門控循環(huán)單元
瀏覽器指紋數(shù)據(jù)特征繁多,且隨時間和配置更改等因素變動較大,考慮到時間序列及單向網(wǎng)絡(luò)會受到指紋數(shù)據(jù)順序影響,采用可以減少過擬合風險的雙向門控循環(huán)單元進行指紋檢測。
雙向門控循環(huán)單元相較于單向門控循環(huán)單元增加了從后向前傳輸數(shù)據(jù)的隱藏層,每一次輸入都包含正向時間步和逆向時間步的GRU,輸出由兩個方向的GRU同時決定。
其中,WWW為權(quán)重系數(shù),bb為某時刻隱藏狀態(tài)對應(yīng)的偏差。
將BiGRU應(yīng)用到動態(tài)瀏覽器指紋檢測中,首先,進行規(guī)則篩選后的指紋鏈均含有至少6條瀏覽器指紋數(shù)據(jù),將當前時間步時刻的指紋鏈以從后向前(即從新到舊)的順序進行兩兩比較,設(shè)X為{1,2,...,x},指的是時刻的待測指紋f與已知指紋f之間各個特征屬性值的相似性結(jié)果,設(shè)X?1指的是指紋f?1與指紋f2之間屬性值的相似性結(jié)果,設(shè)X?2指的是指紋f2與指紋f?3之間屬性值的相似性結(jié)果,將{X?2,X?1,X}作為特征輸入向量。其次,引入堆疊BiGRU模型,在本文實驗中3層效果比單層和雙層BiGRU明顯,超過3層難以訓(xùn)練。堆疊BiGRU的每一隱藏層包含不同的神經(jīng)元,并對每一層細胞的記憶狀態(tài)進行重置。將第一層時間步的隱藏輸出作為第二層時間步的隱藏輸入,以此類推,將最后一個隱藏層的輸出作為輸出向量。將經(jīng)過指紋篩選之后得到的候選集合sub處理后放入堆疊BiGRU模型中進行訓(xùn)練,進而判斷待測指紋f與sub集合中數(shù)據(jù)的相似度。
2.2.3 Dropout算法
為了進一步減少模型過擬合的發(fā)生,達到正則化的效果,本文使用Dropout算法,減輕神經(jīng)元之間的共適應(yīng)性。
Dropout是通過隨機忽略的方式來減少隱藏節(jié)點之間的相互作用,在前向傳播的過程中使具有一定概率的神經(jīng)元停止工作,從而在訓(xùn)練過程不會太依賴局部特征,使復(fù)雜神經(jīng)網(wǎng)絡(luò)在訓(xùn)練非大容量數(shù)據(jù)集時也能很好防止過擬合并提高模型的效率,Dropout算法示意如圖2所示。
圖2 Dropout算法示意
Figure 2 Schematic diagram of Dropout algorithm
在模型的訓(xùn)練階段,標準神經(jīng)網(wǎng)絡(luò)的計算公式如下:
設(shè)置概率,則引入Dropout算法的神經(jīng)網(wǎng)絡(luò)計算式:
其中,Bernoulli為伯努利隨機分布函數(shù),通過概率隨機生成一個0-1概率向量,r表示網(wǎng)絡(luò)的權(quán)重參數(shù),b為偏差。在模型測試階段,每個神經(jīng)元的權(quán)重參數(shù)均需乘以。
Dropout算法提升了模型的精度,使神經(jīng)網(wǎng)絡(luò)稀疏化,減輕了部分特征的強依賴關(guān)系,學(xué)習更加魯棒的特征。本文研究在進行指紋檢測過程時,將Dropout的概率值設(shè)置為0.3,更好地提高模型的魯棒性,有效防止過擬合。
2.2.4 結(jié)果輸出
在全連接層使用Sigmoid激活函數(shù)激活,根據(jù)輸出的概率與閾值比較,判斷該待測指紋f是否屬于已知的指紋鏈。高于閾值則為同一條指紋鏈,否則不屬于已知的指紋鏈,需要創(chuàng)建新的瀏覽器實例。
在算法2指紋匹配規(guī)則的基礎(chǔ)上,后續(xù)偽代碼描述如算法2所示。
算法2 基于堆疊BiGRU的指紋鏈接算法
輸入 篩選后的指紋數(shù)據(jù)集sub
輸出 匹配的指紋id
開始
Function:
<X?2,X?1,X>=featureVector(f,f)
← PBiGRU(f.id =f.id|<X?2,X?1,X>)
candidates=candidates∪ <f,>
else
return gererateNewId()
end if
end for
if |candidates| > 0 and sameIds(candidates) then
return candidates[0].id
else
return gererateNewId()
end if
end function
2.3.1 實驗環(huán)境
本實驗在配置Tensorflow環(huán)境的Pycharm professional中進行,實現(xiàn)配置如表3所示。
2.3.2 數(shù)據(jù)集
本文實驗數(shù)據(jù)集起初通過開源的Fingerprintjs2自行獲取,但由于瀏覽器指紋的特征提取會侵犯用戶的隱私,因此數(shù)據(jù)獲取只能在周邊小范圍內(nèi)進行。同時時間特征持續(xù)檢測的周期要求比較長,持續(xù)時間不足會導(dǎo)致實驗結(jié)果缺乏可行性,考慮到最終收集到的指紋數(shù)據(jù)量很?。▋H有84個用戶參與采集過程)、持續(xù)時間比較短的現(xiàn)實因素,結(jié)合開源數(shù)據(jù)集進行后續(xù)實驗。
表3 實驗配置
由于上述提到的隱私問題,關(guān)于瀏覽器指紋的開源數(shù)據(jù)集很少,最終本文選用Github上的開源數(shù)據(jù),并對其進行相應(yīng)處理。該數(shù)據(jù)集的收集時間長達兩年,共有近2 000個志愿者參與,公開數(shù)據(jù)集共15 000條。同時,由于實驗需要對瀏覽器實例進行檢測,因此對數(shù)據(jù)集中的每條數(shù)據(jù)標注id序列,相同的id表明來源于同一指紋鏈,經(jīng)過篩除不符合規(guī)則及指紋長度小于6的數(shù)據(jù)后,最終用于實驗的數(shù)據(jù)集共4 803條瀏覽器指紋。
2.3.3 實驗結(jié)果分析
本文的基準模型為首次提出動態(tài)指紋概念的Eckersley算法,結(jié)合隨機森林的FPStalker算法以及改進的LSTM算法,由于需要檢測動態(tài)瀏覽器指紋的鏈接情況,本實驗首先從拆分鏈數(shù)量、鏈接時長和所有權(quán)比率指標進行評估。
(1)拆分鏈數(shù)量
期望將同一用戶同一瀏覽器的所有指紋數(shù)據(jù)鏈接到同一鏈上,但現(xiàn)實會由于更改配置等,指紋差距過大被拆分為多個鏈,這種情況下,拆分鏈越少意味著鏈接檢測效果越好,因此將拆分鏈數(shù)量作為評價指標之一。拆分鏈數(shù)量對比如圖3所示。從圖3可以看出,Eckersley算法將指紋鏈分裂成多條,甚至在初始能夠達到14條左右,穩(wěn)定性比較差;LSTM比Eckersley在初始值有所降低,但伴隨時間的增長會反超Eckersley成為拆分數(shù)量最多的模型;FPStalker在對比實驗中表現(xiàn)最好,數(shù)目基本穩(wěn)定在兩條;而本文提出的堆疊BiGRU模型產(chǎn)生的拆分鏈數(shù)量比Eckersley和LSTM少,多于FPStlaker,為4條左右。
Figure 3 The comparison of the number of split chains
(2)鏈接時長
鏈接時長表明能夠追蹤到的指紋時間。鏈接時間越長表明指紋動態(tài)變化產(chǎn)生的副作用越小,能夠持續(xù)追蹤到指紋的變化過程,將變化后的瀏覽器指紋鏈接到原有指紋鏈上。
在拆分鏈的基礎(chǔ)上,同一條瀏覽器指紋鏈可能被拆分為多條子鏈,本文將最長拆分鏈的鏈接時間作為衡量數(shù)據(jù)進行對比。例如,用戶A的第一條鏈A1-A2-A3為兩個時間間隔(即2T),第二條鏈A4-A5-A6-A7為3個時間間隔(即3T),則最長鏈接時間為3T,以此類推。如圖4所示,BiGRU模型的最長鏈接時間優(yōu)于LSTM和Eckersley,但與FPStalker相比有所差距。
Figure 4 The comparison of maximum linking time
(3)所有權(quán)比率
所有權(quán)意味著一條指紋鏈上是否只含有同一用戶的指紋數(shù)據(jù),如果摻雜其他用戶的指紋,說明指紋鏈被污染,所有權(quán)比率將會下降,因此將其作為評價指標之一。即指紋鏈A中只有用戶A的指紋數(shù)據(jù),則A的所有權(quán)比率為1,但如果錯誤地將用戶B的指紋數(shù)據(jù)鏈接到A指紋鏈上,則A的所有權(quán)比率會下降。例如,A指紋鏈中有100條指紋數(shù)據(jù),但是其中只有90條是A自身的正確數(shù)據(jù),其余10條來源于B或C等其他指紋鏈,那么A的所有權(quán)比率為90/100=0.90。
所有權(quán)比率對比如圖5所示,可以看出LSTM在所有權(quán)指標中表現(xiàn)最好,鏈接出錯的概率最低;堆疊BiGRU的效果次之,但隨時間的增加趨近于LSTM的概率走向;FPStalker對比LSTM和BiGRU的所有權(quán)比率有所下降,表明在檢測過程中會將部分指紋數(shù)據(jù)錯誤匹配;Eckersley由于是最早提出應(yīng)用于動態(tài)指紋檢測的算法模型,結(jié)構(gòu)比較簡單,在鏈接過程中錯誤率最高。
圖5 所有權(quán)比率對比
Figure 5 The comparison of ownership rate
瀏覽器特征種類繁多,但不同特征參數(shù)對指紋檢測工作的貢獻程度不同,如Canvas及Accept等,由于這些特征參數(shù)的信息熵較高,不同指紋之間特征的相似度低,因此可以賦予更高的權(quán)重。而Use of LocalStorage及DNT等特征可以在檢測初期進行篩選,但不能很好地進一步區(qū)分指紋信息,因此賦予較小的權(quán)重。本文進一步提出基于注意力機制的BiGRU模型適用于瀏覽器指紋的鏈接工作,聚焦區(qū)分度和閾值高的特征參數(shù),賦予特征不同的概率偏重,提高模型檢測的精確度。
Att-BiGRU模型主要分為特征數(shù)據(jù)輸入層、隱含層以及輸出層。而隱含層包含BiGRU層、注意力機制(Attention)層及Dense層,基于Att-BiGRU模型的瀏覽器指紋鏈接流程如圖6所示。
首先,在模型的輸入層對瀏覽器指紋數(shù)據(jù)進行篩選,指紋篩選流程如上文所示,將待測指紋f與指紋庫中的數(shù)據(jù)f進行匹配,得到篩選后的指紋數(shù)據(jù)集sub,并將指紋數(shù)據(jù)處理為特征向量形式。其次,BiGRU由前向GRU和反向GRU構(gòu)成,將上一時間步隱藏層狀態(tài)h?1傳輸?shù)较乱浑[藏層狀態(tài),將時間序列關(guān)聯(lián)起來,并對輸入特征向量進行更深層次的訓(xùn)練和提取。
圖6 基于Att-BiGRU模型的瀏覽器指紋鏈接流程
Figure 6 The flow chart of browser fingerprint link based on Att-BiGRU model
使用注意力機制專注于區(qū)分度更高和唯一性更強的指紋特征數(shù)據(jù),對BiGRU產(chǎn)生的隱藏層輸出賦予對應(yīng)的概率權(quán)重進行后續(xù)的模型應(yīng)用。調(diào)整模型的關(guān)注點,并對其進行加權(quán)平均,即得到每個時間步隱藏狀態(tài)的隱含表示u,再將其與初始化注意力矩陣u相乘,通過softmax函數(shù)獲取到歸一化權(quán)重a,最后將隱藏狀態(tài)值h與獲取到的權(quán)重a求和得到注意力機制表示計算公式如下。
其中,w為權(quán)重系數(shù),b為誤差偏置系數(shù),tanh和softmax是采用的激活函數(shù)。
Dense層將上層輸出的指紋信息經(jīng)過非線性變化提取特征之間的關(guān)聯(lián),并通過全連接層映射到輸出空間。在Attention層和Dense層之間添加Dropout算法隨機選取隱藏層神經(jīng)元節(jié)點,進一步防止過擬合,增強指紋檢測模型的魯棒性,同時減少計算量。在全連接層使用adam優(yōu)化器,利用softmax函數(shù)進行計算得到最終值,計算公式如下。
本文實驗對瀏覽器指紋在準確率和損失變化、拆分鏈數(shù)量、鏈接時長和所有權(quán)比率指標上進行模型對比。
(1)準確率和損失變化
Att-BiGRU指紋檢測模型的訓(xùn)練集和測試集在準確率結(jié)果中隨著訓(xùn)練次數(shù)的增加呈現(xiàn)出明顯的上升趨勢。如圖7所示,該模型在前7輪次時的訓(xùn)練和測試效果不如堆疊BiGRU模型,但是隨著輪次增加,測試集效果有了明顯提高。Att-BiGRU模型訓(xùn)練集的準確率在該輪次內(nèi)最高為0.983 1,測試集的準確率最高為0.996 0,相較BiGRU模型有所提升,訓(xùn)練效果良好。
圖7 Att-BiGRU模型準確率變化情況
Figure 7 The change of the accuracy of Att_BiGRU model
同時,在損失變化表現(xiàn)中呈現(xiàn)明顯的下降趨勢,如圖8所示。其中Att-BiGRU模型訓(xùn)練集的損失變化最低為0.057 3,測試集的損失變化最低為0.026 0。
圖8 Att-BiGRU模型損失變化情況
Figure 8 The loss change of Att-BiGRU model
(2)拆分鏈數(shù)量
在拆分鏈數(shù)量的比較中,圖9顯示引進注意力機制的Att-BiGRU模型比堆疊BiGRU模型效果更好,考慮到注意力機制能夠關(guān)注更重要的特征參數(shù),減少了噪聲污染,能夠?qū)⒅讣y鏈拆分為更少的數(shù)量,處于3~4條的狀態(tài)區(qū)間。
(3)鏈接時長
最長鏈接時間即瀏覽器指紋拆分鏈中最長子鏈的持續(xù)時長。如圖10所示,Att-BiGRU模型的最長鏈接時間優(yōu)于堆疊BiGRU和LSTM,僅次于FPStalker。
圖9 拆分鏈數(shù)量對比
Figure 9 The comparison of the number of split chains
圖10 最長鏈接時間對比
Figure 10 The comparison of maximum linking time
(4)所有權(quán)比率
所有權(quán)比率代表指紋鏈的純凈程度,用來評估是否僅包含相同用戶的指紋數(shù)據(jù)。如圖11所示,Att-BiGRU模型的所有權(quán)比率相比BiGRU有一定提升,說明指紋鏈被污染的概率降低,識別變動指紋時出現(xiàn)混雜數(shù)據(jù)的情況有所改善,并隨著時間的增長逐漸接近LSTM的比率。
圖11 所有權(quán)對比
Figure 11 The comparison of ownership
(5)運行時間
在進行模型運算時,指紋鏈長度和模型本身的復(fù)雜程度等導(dǎo)致運行時間不斷攀升,如圖12所示。其中,F(xiàn)PStalker由于劃分大量決策樹導(dǎo)致運行時間最久,堆疊BiGRU檢測模型由于深度網(wǎng)絡(luò)計算,運行時間多于LSTM;由于復(fù)雜模型的應(yīng)用,Att-BiGRU模型的運行時間比BiGRU稍久,但總體仍優(yōu)于FPStalker。
圖12 運行時間對比
Figure 12 The comparison of running time
在引入注意力機制的Att-BiGRU模型中,準確率和損失變化較之前模型有所改善,同時能夠?qū)⒅讣y鏈拆分為更少的數(shù)量,提高了追蹤動態(tài)瀏覽器指紋的鏈接時間。雖然在拆分鏈數(shù)量和鏈接時長指標上沒有FPStalker算法表現(xiàn)突出,但考慮到FPStalker將部分指紋數(shù)據(jù)鏈接到了不匹配的指紋鏈中,準確性相對較低。本文提出的堆疊BiGRU和Att-BiGRU模型在所有權(quán)指標中表現(xiàn)比較穩(wěn)定,盡管稍低于LSTM,但LSTM在鏈接時長和拆分鏈數(shù)量的評估指標中表現(xiàn)不佳。綜合衡量,本文提出的基于動態(tài)瀏覽器指紋的檢測模型在各個指標中的整體表現(xiàn)最為優(yōu)越,Att-BiGRU模型較BiGRU模型有一定提升,在模型訓(xùn)練和指紋檢測實驗中準確率更高。雖然本文實驗盡所能地注意到運算代價的問題,但是為了提高鏈接時長及準確率,引入的BiGRU模型及注意力機制等算法會提升運算代價,因此運行時間有待改進。
本文針對瀏覽器指紋在更改配置或受到外界干擾后會發(fā)生變動的問題,提出了基于堆疊BiGRU的動態(tài)瀏覽器指紋鏈接檢測模型,通過前后序相互依賴識別不斷變動的指紋數(shù)據(jù),提升鏈接動態(tài)指紋的能力。并進一步使用注意力機制對指紋特征賦予不同權(quán)重,關(guān)注區(qū)分度和信息熵更高的參數(shù),提出Att-BiGRU指紋鏈接檢測模型。實驗結(jié)果表明,Att-BiGRU模型較堆疊BiGRU模型更關(guān)注關(guān)鍵信息,減少了噪聲污染,在綜合表現(xiàn)上進一步提升檢測能力。
本文工作還有很多可以探討和精進的空間。首先,本文實驗過程中涉及的數(shù)據(jù)只包含PC端信息,后續(xù)可以引入移動端數(shù)據(jù)進行擴展研究。其次,本文工作并沒有從真正意義上實現(xiàn)跨瀏覽器指紋識別,需要更多硬件設(shè)備上的輔助信息進行更深入的指紋檢測。最后,在指紋檢測過程中,可以考慮將指紋數(shù)據(jù)轉(zhuǎn)化為圖像進行鏈接。研究過程中做了一部分將csv(comma-separated values)中的指紋數(shù)據(jù)轉(zhuǎn)化為圖像的工作,但由于預(yù)處理過程中丟失了很多參數(shù)信息,不能很好地衡量鏈接能力,需要探討其他方案。
[1] PAPADOPOULOS P, KOURTELLIS N, MARKATOS E P. Cookie Synchronization: everything you always wanted to know but were afraid to ask[C]//World Wide Web Conference. 2019: 1432-1442.
[2] XUEHUI H, NISHANTH S. Characterising third PARTY cookie usage in the EU after GDPR[C]//ACM Conference on Web Science. 2019: 137-141.
[3] ANDRIAMILANTO N, ALLARD T, GUELVOUIT G L. “Guess who?” large-scale data-centric study of the adequacy of browser fingerprints for web authentication[J]. Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), 2021, 7: 161-172.
[4] ECKERSLEY P. How unique is your web browser[C]//Proceedings of the 2010 Privacy Enhancing Technologies Symposium. 2010: 1-18.
[5] LAPERDRIX P, NATALIIA B, BENOIT B, et al. Browser fingerprinting: a survey[J]. ACM Trans, 2020, 14(2): 1-33.
[6] ANDRIAMILANTO N, ALLARD T, GUELVOUIT G L. FPSelect: low-cost browser fingerprints for mitigating dictionary attacks against web authentication mechanisms[C]//Annual Computer Security Applications Conference (ACSAC '20). 2020: 627-642.
[7] TORRES C, HUGO J, SJOUKE M. FP-Block: usable Web privacy by controlling browser fingerprinting[C]//Proceedings of the 20th European Symposium on Research in Computer Security, 2015: 3-19.
[8] FIORE U, ANIELLO C, ALFREDO D, et al. Countering browser fingerprinting techniques: constructing a fake profile with Google Chrome[C]//Proceedings of the 17th International Conference on Network-Based Information Systems. 2014: 355-360.
[9] LAPERDRIX P, BENOIT B, VIKAS M. FPRandom: randomizing core browser objects to break advanced device fingerprinting techniques[C]//Proceedings of the 9th International Symposium on Engineering Secure Software and Systems. 2017: 97-114.
[10] WANG C, DANI J, LI X, et al. Adaptive fingerprinting: website fingerprinting over few encrypted traffic[C]//Proceedings of the Eleventh ACM Conference on Data and Application Security and Privacy (CODASPY '21). 2021: 149-160.
[11] Saito. Tor fingerprinting: Tor browser can mitigate browser fingerprinting?[C]//International Conference on Network-Based Information Systems, 2017:. 504-517.
[12] BURSZTETN E, ARTEM M, TADEK P, et al. Picasso: lightweight device class fingerprinting for Web clients[C]//Proceedings of the 6th Workshop on Security and Privacy in Smartphones and Mobile Devices. 2016: 93-102.
[13] FAIZ-RHADEMI A, MOHAMMAD Z, KOMMINIST W. FPGuard: detection and prevention of browser fingerprinting[C]//Proceedings of the 29th Data and Applications Security and Privacy Conference. 2015: 293-308.
[14] ROCHET F, KYRIAKOS E, OLIVIER P. SWAT: Seamless Web authentication technology[C]//Proceedings of the World Wide Web Conference. 2019: 1579-1589.
[15] LAPERDRIX P, GILDAS A, NICK N. Morellian analysis for browsers: making web authentication stronger with canvas fingerprinting[C]//Proceedings of the 16th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. 2019: 43-66.
[16] SecurAuth. Device/Browser fingerprinting-heuristic-based authentication[EB]. 2018.
[17] Iovation. ClearKey[EB]. 2018.
[18] ALACA F, VAN O. Device fingerprinting for augmenting web authentication: Classification and analysis of methods[C]//Proeed- gs of the 32nd Annual Conference on Computer Security Applications. 2016: 289-301.
[19] VASTEL A, PIERRE L, ROMAIN R. FP-STALKER: tracking browser fingerprint evolutions[C]//Proceedings of the 39th IEEE Symposium on Security and Privacy. 2018: 1-14.
[20] LI X, CUI X, WANG X. Constructing browser fingerprint tracking chain based on lstm model[J]. IEEE. 2018, 7: 13-18.
[21] LI S, CAO Y .Who touched my browser fingerprint? a large-scale measurement study and classification of fingerprint dynamics[C]//Proceedings of the ACM Internet Measurement Conference. 2020. 370-385.
[22] ANTONIO E, FAJARDO A, MEDINA R. Tracking browser fingerprint using Rule Based Algorithm[C]//16th IEEE International Colloquium on Signal Processing & Its Applications (CSPA). 2020: 225-229.
Research on link detection technology based on dynamic browser fingerprint
GAO Fan, WANG Jian, LIU Jiqiang
Key Laboratory of Security and Privacy in Intelligent Transportation, Beijing Jiaotong University, Beijing 100044, Chin
With the emergence of user privacy leakage and online fraud, traditional detection mechanisms can no longer stop the intensified attacks and new methods are needed to assist in web security detection. As a bridge between users and network data, browsers are widely used in the interaction between users and various applications. The browser fingerprint contains various characteristic information of the user’s browser and device, and its uniqueness can greatly improve the accuracy of user identification. However, browser fingerprints may change over time, and solutions based on static fingerprints cannot meet the requirements of dynamic fingerprints detection. Motivated by this challenge, it’s necessary to improve the recognition and link detection capabilities of dynamic browser fingerprints. Besides, parameters from multi-dimensional perspective need to be obtained and screened to get fine-grained and high-discrimination features for model detecting, preventing the calculation cost caused by too many unnecessary parameters. Bidirectional Gating Recurrent Unit (BiGRU) was introduced into the fingerprint detection, and a stacked BiGRU detection model based on dynamic browser fingerprints was proposed. It solved the problem of low detection accuracy caused by ignoring the interaction of forward and backward information in the process of fingerprints detection, and it also had a certain improvement in indicators such as accuracy and linking time. Furthermore, in view of the different importance of different feature parameters, the same weight given to parameters will result in detection error. Combined with the attention mechanism to focus more stable fingerprint features, an Att-BiGRU fingerprint detection model based on dynamic browser fingerprints was proposed. It optimized the detection ability compared to BiGRU, further improved the detection accuracy of browser fingerprinting, and showed good linking ability on the comprehensive index under the benchmark model.
browser fingerprint, dynamic linking, attack detection, attention mechanism, Web security
The National Key R&D Program of China (2020YFB2103800)
高凡, 王健, 劉吉強. 基于動態(tài)瀏覽器指紋的鏈接檢測技術(shù)研究[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2022, 8(4): 144-156.
TP393
A
10.11959/j.issn.2096?109x.2022049
高凡(1996?),女,山東煙臺人,北京交通大學(xué)碩士生,主要研究方向為網(wǎng)絡(luò)安全及瀏覽器檢測。
王?。?975?),男,山東煙臺人,博士,北京交通大學(xué)副教授、博士生導(dǎo)師,主要研究方向為密碼應(yīng)用及區(qū)塊鏈、網(wǎng)絡(luò)安全。
劉吉強(1973?),男,山東煙臺人,博士,北京交通大學(xué)教授、博士生導(dǎo)師,主要研究方向為可信計算、隱私保護、云計算安全。
2021?11?25;
2022?03?04
王健,wangjian@bjtu.edu.cn
國家重點研發(fā)計劃(2020YFB2103800)
GAO F, WANG J, LIU J Q. Research on link detection technology based on dynamic browser fingerprint[J]. Chinese Journal of Network and Information Security, 2022, 8(4): 144-156.