王曉茜 劉奇旭 劉潮歌 張方嬌 劉心宇 崔 翔
1 (中國科學(xué)院信息工程研究所 北京 100093)
2 (中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100049)
3 (廣州大學(xué)網(wǎng)絡(luò)空間先進技術(shù)研究院 廣州 510006)
(wangxiaoxi@iie.ac.cn)
Web 新技術(shù)不斷地更新迭代,以及信息化時代下用戶信息的爆炸式增長,直接促進了Web 追蹤技術(shù)的高速發(fā)展. Web 追蹤技術(shù)通過為用戶生成唯一的身份標(biāo)識,實現(xiàn)對用戶以及行為活動的追蹤. 其最初目的是服務(wù)不同的網(wǎng)站應(yīng)用追蹤用戶,分析挖掘用戶行為特點,實現(xiàn)個性化推薦. 但追蹤技術(shù)本身存在一定的安全問題,且易被惡意利用獲取用戶敏感信息. 隨著用戶隱私敏感度的提升和信息保護意識的增強,以保護用戶隱私為目標(biāo)的追蹤防御技術(shù)也在不斷地升級和快速發(fā)展.
自2010 年瀏覽器指紋[1]技術(shù)的提出,Web 追蹤技術(shù)的研究趨勢從Cookie 等類型的在用戶客戶端(即瀏覽器)存儲身份標(biāo)識的有狀態(tài)的追蹤,進入了基于瀏覽器獲取特征信息的無狀態(tài)[2]的指紋追蹤時代. 與傳統(tǒng)的Cookie 類追蹤技術(shù)相比,指紋追蹤技術(shù)摒棄了在客戶端存儲信息的形式,而是獲取了較多具有用戶個人特點的、多元化的特征信息,利用一種或多種不同類型的特征信息,生成唯一的指紋,在用戶無感知的情況下進行隱蔽追蹤. 現(xiàn)階段Web 追蹤領(lǐng)域的學(xué)術(shù)研究較多專注于某項特定的追蹤或防御技術(shù),因此,本綜述針對Web 追蹤領(lǐng)域的技術(shù)發(fā)展和研究進行了總結(jié)和分析,并討論了現(xiàn)有技術(shù)發(fā)展的優(yōu)劣勢,對該領(lǐng)域的下一步研究方向進行了展望.
本文研究了2010—2021 年期間Web 追蹤領(lǐng)域的技術(shù)發(fā)展,按照實現(xiàn)機制將Web 追蹤技術(shù)分為了存儲型追蹤技術(shù)和指紋型追蹤技術(shù),從追蹤技術(shù)的起源、技術(shù)實現(xiàn)、發(fā)展現(xiàn)狀等多個角度進行介紹分析.著重分析Web 追蹤及防御技術(shù)的研究及實現(xiàn)方案,將Web 追蹤技術(shù)按照追蹤范圍劃分為3 個層次,描述了不同追蹤范圍所使用特征的特點和獲取方式.從防御技術(shù)的不同形態(tài)進行分類介紹,對防御的技術(shù)實現(xiàn)進行深入分類討論. 著眼于Web 追蹤和防御技術(shù)2 個角度,分析其技術(shù)上的優(yōu)劣性以及當(dāng)前面臨的挑戰(zhàn)和問題,指出未來可能的研究方向.
本文的主要貢獻有4 個方面:
1)介紹了Web 追蹤的起源和分類,從存儲型追蹤和指紋型追蹤2 方面介紹Web 追蹤技術(shù)的發(fā)展和特點. 簡要描述了現(xiàn)階段Web 追蹤技術(shù)的實現(xiàn)和發(fā)展歷程.
2)針對近些年Web 追蹤技術(shù)的發(fā)展進行深入調(diào)研,按照追蹤范圍將Web 技術(shù)追蹤分為了單瀏覽器、跨瀏覽器、跨設(shè)備3 個不同層次. 基于追蹤范圍分別介紹指紋中的特征獲取技術(shù),描述指紋關(guān)聯(lián)算法并對現(xiàn)有的指紋追蹤進行討論.
3)深入研究Web 追蹤防御技術(shù),按照形態(tài)可將防御技術(shù)分為擴展防御,瀏覽器內(nèi)嵌防御,防御框架、工具或機制、構(gòu)建防御對策或環(huán)境. 分別介紹不同形態(tài)在防御技術(shù)上的實現(xiàn)方式,通過對比防御能力以及抵御追蹤的手段,分析了Web 追蹤防御的現(xiàn)狀.
4)基于Web 追蹤技術(shù)和防御技術(shù)2 個角度分析了技術(shù)發(fā)展的優(yōu)劣勢,以及面臨的挑戰(zhàn)和發(fā)展方向.在追蹤技術(shù)方面進行了唯一性和持久性討論;在防御技術(shù)方面針對防御形態(tài)和技術(shù)進行對比,分析防御技術(shù)的優(yōu)缺點,并指出現(xiàn)有技術(shù)無法完全防止指紋追蹤.
早期Web 追蹤技術(shù)的出現(xiàn)是為了保持用戶與服務(wù)器之間的會話狀態(tài),在用戶瀏覽器客戶端中存儲一定的用戶隱私信息,在交互式Web 中對用戶進行識別和區(qū)分. 例如Cookie,F(xiàn)lashCookie,EverCookie,HTML5 中新型的存儲型API 等均使用在客戶端存儲身份標(biāo)識的方式進行追蹤,我們將這種技術(shù)統(tǒng)稱為存儲型追蹤技術(shù). 2010 年電子前沿基金會(electronic frontier foundation,EFF)的專家Eckersley[1]提出的一項劃時代的Web 追蹤技術(shù)——瀏覽器指紋,其基于用戶瀏覽器獲取設(shè)備的軟硬件特征,并結(jié)合現(xiàn)有的存儲型追蹤機制,在服務(wù)器端對用戶進行唯一性識別和追蹤. 隨后,Web 追蹤領(lǐng)域掀起了使用各種不同類型特征信息作為指紋來追蹤用戶的研究熱潮,我們將這類追蹤技術(shù)統(tǒng)稱為指紋型追蹤技術(shù). 依據(jù)Web 追蹤的發(fā)展歷史以及追蹤技術(shù)手段的不同,本節(jié)將Web 追蹤技術(shù)分為2 類進行概述:存儲型追蹤技術(shù)和指紋型追蹤技術(shù)[3].
Cookie 誕生自1993 年,是使用較為廣泛且最具代表性的存儲型追蹤技術(shù),其最有效的功能是在網(wǎng)站中保持用戶狀態(tài),提供用戶個性化服務(wù). 但直至2000 年網(wǎng)絡(luò)隱私權(quán)的提出,Cookie 才開始引起社會的關(guān)注,之后誕生了一系列以存儲關(guān)鍵信息為手段的追蹤技術(shù),包括FlashCookie,EverCookie,隨后HTML5 新技術(shù)也開放了更多的權(quán)限給開發(fā)者[4],例如增添了可直接在瀏覽器中進行內(nèi)容存儲和數(shù)據(jù)庫存儲的API,如表1 所示. 這些存儲機制也為追蹤提供了更加便利的條件.

Table 1 Analysis of Storage Tracking Technology Capabilities表1 存儲型追蹤技術(shù)能力分析
1.1.1 Cookie 類存儲技術(shù)
HTTP Cookie 通常存儲在Web 客戶端特定目錄下,通過在與Web 服務(wù)器的交互請求中攜帶Cookie值來辨別身份. 在設(shè)置并存儲 Cookie 后,當(dāng)用戶再次登錄網(wǎng)站時,瀏覽器都會檢查本地的Cookie 值,在Web 請求中攜帶Cookie 值發(fā)送給Web 服務(wù)器. 服務(wù)器返回用戶對應(yīng)的個性化信息和其他權(quán)限內(nèi)資源.
Flash Cookie[5]同樣是記錄用戶瀏覽網(wǎng)頁時保留的信息,是由FlashPlayer 控制的客戶端共享存儲技術(shù)Share Object,它永久駐留在用戶計算機上,使不同的瀏覽器共用同一個Flash Cookie,實現(xiàn)實時數(shù)據(jù)共享. Flash Cookie 使用多個存儲位置,較為隱蔽且難以清除. Flash Player 在2020 年已經(jīng)被正式淘汰.
UserData 是微軟為IE 瀏覽器專門在系統(tǒng)中開辟的一塊存儲空間,可用于對數(shù)據(jù)進行持久化存儲,除非手動刪除,否則即使IE 瀏覽器被關(guān)閉或者刷新,數(shù)據(jù)也能夠重新被載入而不會丟失,并且永遠(yuǎn)不會失效. 微軟已經(jīng)放棄了對IE 瀏覽器的支持,將內(nèi)置瀏覽器切換為Chromium 內(nèi)核的Microsoft Edge 瀏覽器.
EverCookie[6]又稱為“僵尸Cookie”,是一種更甚于FlashCookie 的瀏覽器持久化追蹤機制,它使用多達10 種以上的存儲機制將Cookie 持久化存儲在不同的位置,當(dāng)在某個位置的Cookie 被清除后,還可以通過其他不同位置的Cookie 進行恢復(fù). EverCookie 所使用的技術(shù)不僅包含HTTP Cookie,UserData,F(xiàn)lash Cookie,還囊括了HTTP 頭中的ETags 和 HTML5 中的SessionStorage,LocalStorage,IndexDB,Java 硬盤寫入漏洞等多個存儲機制. Acar 等人[7]早在2014 年針對EverCookie 的研究中,就發(fā)現(xiàn)了EverCookie 啟用IndexDB 技術(shù)進行存儲,但EverCookie 的野心不止于此,未來可能還會加入超文本傳輸協(xié)議(Hypertext Transfer Protocol,HTTP)身份驗證緩存、TLS 會話恢復(fù)(TLS session resumption)標(biāo)識符、HTTP 公鑰固 定(Http public key pinning,HPKP)認(rèn)證等存儲形式.
1.1.2 HTML5 新型存儲型API
Web Storage[8]是HTML5 提出的存儲型API,包括會話存儲SessionStorage 和本地存儲LocalStorage,可在用戶客戶端保存大量的數(shù)據(jù),數(shù)據(jù)僅存儲在客戶端且不與服務(wù)器產(chǎn)生交互,每個域都有獨立的存儲空間. 其中SessionStorage 僅在當(dāng)前會話下有效,關(guān)閉了瀏覽器窗口就會被銷毀;而LocalStorage 的生命周期是永久的,關(guān)閉頁面或瀏覽器之后,數(shù)據(jù)也不會被清除,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)永遠(yuǎn)不會消失,且2 種存儲機制均遵循同源機制.
Web 數(shù)據(jù)庫存儲包括Web SQL 和IndexedDB[9]2種類型,提供了在客戶端直接進行數(shù)據(jù)存儲的能力,理論上沒有存儲大小限制. Web SQL 是前端的獨立的功能模塊,具有與實際數(shù)據(jù)庫基本一致的增刪改查等操作. IndexedDB 是為了彌補LocalStorage 存儲缺陷誕生的,是瀏覽器提供的非關(guān)系型本地數(shù)據(jù)庫.可儲存大量數(shù)據(jù),提供查找接口和建立索引,但不支持關(guān)系型查詢語句. IndexedDB 使用鍵值對存儲數(shù)據(jù),可進行異步操作,支持事務(wù)操作,受同源限制,存儲空間大,支持二進制存儲.
指紋型追蹤技術(shù),是一種通過瀏覽器獲取用戶設(shè)備暴露給網(wǎng)站的可見特征信息,生成唯一標(biāo)識用戶的指紋,來跟蹤用戶的方法. 當(dāng)用戶訪問并加載Web 網(wǎng)頁時,網(wǎng)站利用瀏覽器的能力獲取設(shè)備、軟件相關(guān)配置、用戶個性化信息以及Cookie 等存儲型追蹤標(biāo)識等,將這些特征Hash 為一個唯一值傳遞到服務(wù)器作為用戶的唯一標(biāo)識. 其依托于用戶瀏覽器對Web 網(wǎng)站頁面的渲染和執(zhí)行能力,以及設(shè)備對瀏覽器權(quán)限和能力的支持.
1.2.1 特征獲取與指紋生成
JavaScript 和HTML5[10]的API 為追蹤者提供了無需經(jīng)過用戶同意可直接獲取用戶設(shè)備和軟件信息的能力. 例如可通過Navigator 對象獲取瀏覽器的用戶代理、首選語言、是否設(shè)置不追蹤(do not track,DNT)等,Screen 對象和Date 對象描述了瀏覽器所處設(shè)備的信息,包括屏幕、時區(qū)等,如表2 所示.

Table 2 API of JavaScript Object and the Corresponding Obtained Information表2 JavaScript 對象的API 及對應(yīng)獲取的信息
Eckersley 依托于前端語言的能力,構(gòu)建了獲取8項用戶特征信息的指紋腳本,計算得出特征信息值至少包含18.1b 的信息熵,使用Murmurhash 算法[11]將8 種不同特征的信息Hash 作為唯一的值,指紋出現(xiàn)重復(fù)的概率只有1/286777. 在指紋生成后使用difflib庫對指紋進行簡單的關(guān)聯(lián). 通過大規(guī)模的數(shù)據(jù)收集和實驗論證,結(jié)果顯示指紋識別率可達到83.6%,在開啟Java 和Flash 的情況下,指紋識別率可高達94.2%.
1.2.2 技術(shù)發(fā)展趨勢
唯一性和穩(wěn)定性是衡量追蹤技術(shù)優(yōu)劣的2 大指標(biāo),指紋型追蹤技術(shù)雖然彌補了一部分存儲類追蹤技術(shù)的缺點,減少了用戶信息被竊取和欺騙的可能,但其本身存在較多不穩(wěn)定因素:使用過程中的常規(guī)軟件升級安裝、添加插件擴展、更改分辨率、網(wǎng)絡(luò)配置等均會影響指紋的唯一性和穩(wěn)定性.
業(yè)界內(nèi)也面向指紋追蹤技術(shù)本身的問題展開了研究,技術(shù)的發(fā)展趨向于在指紋中使用不太穩(wěn)定但含有較高信息量和較多用戶特點的信息,如歷史記錄、字體、瀏覽器擴展等,以及較為穩(wěn)定但唯一性較低的特征,如操作系統(tǒng)特征、硬件特征. 指紋型追蹤技術(shù)結(jié)合現(xiàn)有的Cookie 追蹤、HTML5 的存儲類API等存儲型技術(shù)特性,來提高指紋特征包含的信息量以及指紋所具備的獨特性和穩(wěn)定性. 如表3 所示,按照特征屬性將研究中獲取的特征分為了5 大類:瀏覽器特征、操作系統(tǒng)特征、網(wǎng)絡(luò)特征、硬件特征、存儲型追蹤標(biāo)識.
瀏覽器指紋技術(shù)的發(fā)展同樣也帶來了新的用戶隱私問題,因此Web 追蹤防御技術(shù)迎來了技術(shù)的發(fā)展熱潮. 研究學(xué)者們從使用安裝擴展、防御框架、工具,以及瀏覽器內(nèi)嵌防御等不同的形態(tài)和方式著手,針對性緩解一種或多種的指紋特征獲取技術(shù),減少被持續(xù)追蹤的可能性,防止用戶隱私被泄露. Web 追蹤技術(shù)和防御技術(shù)在不斷對抗中快速發(fā)展,但技術(shù)的成熟還面臨著諸多的問題和挑戰(zhàn).
指紋型追蹤技術(shù)已經(jīng)將存儲型追蹤技術(shù)以及常用于溯源的IP 地址、網(wǎng)絡(luò)等信息納入了指紋的特征范疇,且指紋型的特征信息獲取技術(shù)已經(jīng)從單純的API 調(diào)用,延伸到了使用枚舉、測量、漏洞利用等手段獲取用戶設(shè)備上的各種硬件和軟件信息[12],以及使用指紋關(guān)聯(lián)算法延長追蹤持久性. 本節(jié)著眼于Web追蹤技術(shù)的追蹤范圍,首先將Web 追蹤技術(shù)分為單瀏覽器追蹤、跨瀏覽器追蹤,跨設(shè)備追蹤3 個不同層次,針對較為復(fù)雜的特征及獲取方式(不可通過API調(diào)用獲取的特征)進行介紹. 同時介紹了可有效彌補了指紋中追蹤唯一性的不足的指紋的關(guān)聯(lián)技術(shù),以及特征與追蹤范圍之間的關(guān)系.

Table 3 Classification and Introduction of Fingerprint Tracking Technology Features表3 指紋型追蹤技術(shù)特征分類及介紹
瀏覽器作為Web 的入口,也是信息被暴露的直接出口. 基于Web 瀏覽器所包含的用戶特點、瀏覽器引擎及其所依賴的硬件條件,實現(xiàn)對用戶瀏覽器的唯一標(biāo)識,即瀏覽器范圍內(nèi)的用戶追蹤.
2.1.1 含有較為豐富信息的特征
近些年的Web 瀏覽器追蹤的研究熱點集中在利用含有較多用戶個人特點,且具有高信息熵的特征來產(chǎn)生較為穩(wěn)定和持續(xù)的指紋,例如擴展、字體、歷史記錄、瀏覽器緩存等. 這些特征可在一個瀏覽器內(nèi)實現(xiàn)對用戶的追蹤.
1) 歷史記錄
Felten 等人[13]介紹了一種可以損害用戶瀏覽器歷史記錄隱私的攻擊,使得惡意網(wǎng)站可以嗅探用戶對其他站點的訪問[14],測量用戶瀏覽器執(zhí)行某些操作所需的時間來確定用戶的瀏覽歷史記錄,進而對用戶身份去匿名化,例如利用社交網(wǎng)站上可用的組成員身份信息唯一地標(biāo)識此人,或者顯著減少候選人集[15].
利用層疊樣式表(cascading style sheets, CSS)中:visited 樣式表對頁面中嵌入的“已訪問”和“未訪問”的地址鏈接(uniform resource locator, URL)顏色進行差異表示的漏洞[16],能夠?qū)σ欢〝?shù)量的URL 地址進行枚舉,獲取用戶的訪問列表. Janc 等人[17]基于鏈接樣式顯示區(qū)別,使用了3 種方式對歷史記錄進行嗅探,包括直接利用鏈接訪問樣式差異、間接為已訪問鏈接和未訪問鏈接設(shè)置不同渲染圖片、時序攻擊.Olejnik 等人[18]通過大規(guī)模數(shù)據(jù)研究論證了69%用戶的瀏覽歷史是唯一的,且奇異值大于18b,具有較強的穩(wěn)定性. 隨后Yan[19]在圣地亞哥的安全會議Toorcon上示范了利用HTTP 嚴(yán)格傳輸安全協(xié)議(Http strict transport security, HSTS)和內(nèi)容安全策略(contentsecurity-policy, CSP)2 種安全策略探測歷史記錄的漏洞工具,并將其命名為Sniffly. Smith 等人[20]提出了4種新的歷史記錄嗅探攻 擊:CSS Paint API、CSS 3D transforms、fill-coloring of SVGs 構(gòu)造鏈接點擊攻擊、字節(jié)碼緩存攻擊,并針對主要瀏覽器和具有安全防護性的瀏覽器進行了攻擊測試,發(fā)現(xiàn)依然可以取得很高的信息泄露率. Huang 等人[21]在Smith 的方法技術(shù)上引入了多個輔助環(huán)節(jié)的自適應(yīng)方法,并采用動態(tài)參數(shù)搜索算法對Smith 方法進行了改進,實驗結(jié)果表明,在最流行的操作系統(tǒng)和平臺上的5 種主要瀏覽器上,該自適應(yīng)方法能夠達到近100%的精度.
2)字體
Eckersley 使用Adobe Flash 和Java 虛擬機(Java virtual machine, JVM)來探測系統(tǒng)中安裝的字體的完整列表,并且在可檢測字體的瀏覽器中,排序后字體的熵值為16.0. Boda 等人[22]從將字體作為指紋的一個輸入項的角度,分析了JavaScript 的字體檢測,發(fā)現(xiàn)字體列表可以為識別提供堅實的基礎(chǔ),并且論證了IP 地址、特定字體集、屏幕分辨率、時區(qū)足夠唯一的識別5 種流行的瀏覽器. Fifield 等人[23]指出瀏覽器中的字體渲染受到瀏覽器版本、安裝字體以及抗鋸齒設(shè)置等多方面的因素影響而導(dǎo)致,作者提出了一種基于測量字體字形的屏幕尺寸來對字體進行枚舉,證實即使是相對較粗糙的測量字形邊界框的工具也可以產(chǎn)生很強的指紋,且設(shè)備上的字體信息可用于識別已安裝的應(yīng)用程序以及操作系統(tǒng)的類型和版本[24].
3)擴展
用戶安裝瀏覽器擴展本意是為了更便捷地服務(wù),或更好地防止用戶隱私泄露,但擴展的可枚舉性在無形之中為用戶帶來更多被泄露的隱私. 相比其他含有豐富信息量的特征,擴展能夠為研究學(xué)者提供較為確定的結(jié)果,且便于進行大規(guī)模的數(shù)據(jù)研究.
依據(jù)對擴展檢測方式的不同,可以將枚舉探測分為2 類:靜態(tài)探測和動態(tài)探測. 靜態(tài)探測通過枚舉擴展ID、Web 可 訪問資源(Web accessible resources,WAR)或通過URL 泄露來探測擴展. 通過在用戶瀏覽器中對擴展ID 的既定路徑進行探測[25],可枚舉瀏覽器中的擴展. 在Firefox 使用隨機化ID 的方式來避免擴展被探測的情況下,依然可以通過檢測擴展的WAR 路徑判定擴展是否存在[26],識別90%的擴展[27].Sanchez-Rola 等人[28]討論了統(tǒng)一資源標(biāo)志符(uniformresource identifier,URI)泄露技術(shù),顛覆Safari 中實現(xiàn)的URI 隨機化機制,影響了多達到40%的Safari 擴展. 動態(tài)探測方式主要通過監(jiān)控擴展在頁面上做出的改變,判斷擴展是否存在. XHOUND[29]通過量化監(jiān)測擴展在頁面文檔對象模型(document object model,DOM)做出的修改進行探測和識別,這是第1 個對瀏覽器擴展進行指紋識別的全自動系統(tǒng). Karami 等人[30]基于已有檢測WAR 路徑和頁面DOM 獨特修改2 種技術(shù),結(jié)合傳出HTTP 請求和瀏覽器內(nèi)部信息交換這2 種新穎的擴展檢測方式,構(gòu)建了一個基于行為擴展的全自動創(chuàng)建和檢測指紋的工具Carnus,并且使用Carnus 創(chuàng)建了迄今為止最大的擴展指紋集. Laperdrix等人[31]利用擴展在Web 頁面注入CSS 規(guī)則的操作,提前在Web 界面中注入CSS 規(guī)則,通過檢測碰撞對擴展進行枚舉,這種方式可以識別之前技術(shù)中未檢測出的1 074 個擴展. 瀏覽器擴展枚舉技術(shù)研究進展匯總?cè)绫? 所示.

Table 4 Researches on Technologies of Enumerating Browser Extension表4 瀏覽器擴展枚舉技術(shù)研究
4)API 屬性枚舉和檢測
Nikiforakis 等人[32]證實了在不同瀏覽器家族、版本中,甚至在不同操作系統(tǒng)中相同的瀏覽器版本中,特殊對象的屬性枚舉順序始終是不一致的,這種不一致性可以作為識別用戶的依據(jù)來對用戶進行追蹤,基于此提出了一種基于瀏覽器JavaScript 對象屬性枚舉的指紋追蹤方法. Mulazzani 等人[33]通過分析瀏覽器是否符合JavaScript 標(biāo)準(zhǔn),檢測其支持的功能,從150 多種瀏覽器和操作系統(tǒng)組合收集的數(shù)據(jù)集中,計算出了需要運行的最小測試集,以唯一地標(biāo)識每個組合.
即便JavaScript 被禁用依然能夠?qū)τ脩暨M行指紋追蹤[34],利用CSS 不同的API 屬性在不同渲染引擎中的展現(xiàn)形式的差異,使用字符串請求、媒體查詢、字體規(guī)則檢測等技術(shù),收集瀏覽器的類型、版本、設(shè)備屏幕分辨率、字體等信息來生成指紋. Schwarz 等人[35]提出了2 種新的側(cè)信道攻擊來檢測指令集體系和使用的內(nèi)存分配器,使用一種完全自動化的手段發(fā)現(xiàn)由環(huán)境引起的瀏覽器引擎的細(xì)微差別. JavaScript引擎的固有性能簽名也能夠在傳統(tǒng)形式的系統(tǒng)標(biāo)識(例如用戶代理標(biāo)頭)被修改或隱藏的情況下,檢測瀏覽器版本、操作系統(tǒng)、微體系架構(gòu)等信息[36].
5)瀏覽器緩存信息利用
Solomos 等人[37]將網(wǎng)站頭像(favorites icon, favicons)作為強大的跟蹤向量,向量中的每一位對應(yīng)用戶在1 個特定子域上的圖標(biāo)請求,將該信息生成32b 跟蹤標(biāo)識符,唯一標(biāo)識和追蹤用戶. Bansal 等人[38]使用了細(xì)粒度的超時和HTML5 Web Workers 來對網(wǎng)站進行并行化緩存探測,并在緩存請求中使用超時以防止緩存污染提高攻擊效率,證實了緩存定時攻擊的適用性和有效性.
6)交互式特征
文獻[39?41]監(jiān)控和跟蹤鼠標(biāo)的移動和點擊,捕獲用戶與Web 應(yīng)用程序交互時的鼠標(biāo)操作,推斷用戶輸入的URL,評估Web 應(yīng)用程序的有用性和易用性[42],推斷用戶注意力變化,對定量數(shù)據(jù)進行預(yù)測.Lipp 等人[43]介紹了通用按鍵定時攻擊,能夠使攻擊在后臺選項卡或最小化的瀏覽器窗口中運行,以此觀察到用戶個人識別碼(personal identification number,PIN)或密碼的確切擊鍵時間,推斷用戶輸入的URL,區(qū)分分時共享計算機的不同用戶.
2.1.2 較為穩(wěn)定的高級追蹤特征
近些年陸續(xù)出現(xiàn)的Canvas 指紋、WebGL(Web graphics library)指紋、Audio 指紋是當(dāng)前被廣泛使用的且較為穩(wěn)定的指紋追蹤方式. 這些追蹤技術(shù)依賴于設(shè)備的硬件性能,但會受瀏覽器的影響.
1)Canvas 指紋
2012 年Mowery 等人[44]提出了Canvas 指紋,揭露了不同硬件設(shè)備對字體和文本的圖片場景渲染的差異性. Canvas 圖片處理依賴于瀏覽器圖像處理引擎、壓縮等級和導(dǎo)出選項,因此在不同設(shè)備上的繪制的圖案會有細(xì)微的差別,可以被用來為不同的用戶分配特定的編號. 使用Canvas 技術(shù)在用戶瀏覽器上進行隱秘的繪畫,調(diào)用toDataURL()方法將圖片轉(zhuǎn)化為base64 編碼的字符串,其中編碼后字符串的最后一塊是可作為用戶唯一表示的32b 的循環(huán)冗余校驗碼(cyclic redundancy check,CRC). 截至2014 年,Acar等人[7]調(diào)研發(fā)現(xiàn)在Alexa 前10 萬的網(wǎng)站中已經(jīng)有5%在使用Canvas 指紋,且Canvas 指紋追蹤在網(wǎng)站的二級頁面中比在網(wǎng)站的首頁中可能更多[45]. Laperdrix 等人[46]也進行了大規(guī)模的Canvas 指紋測試,論證了Canvas是最有區(qū)別性的指紋. 但Canvas 指紋含有一定的碰撞率,Daud 等人[47]通過網(wǎng)站測試研究,論證了不同操作系統(tǒng)和相同機器規(guī)格下,Canvas 指紋識別值并不唯一. Canvas 指紋的生成不會引起用戶的注意,因此其已較多應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域[48].
2)WebGL 指紋
WebGL 指紋和Canvas 指紋原理基本相同. 通過HTMLCanvasElement 元素可以獲取到WebGL 對象canvas.getContext("webgl"),基 于WebGL 的API 接 口(例如:WEBGL_debug_renderer_info)獲取用戶的硬件信息,比如顯卡名稱、顯卡型號、顯卡制造商等. 只不過3D 圖像會和WebGL 的某些屬性值綁定在一起(比如顯卡提供商、顯卡型號、壓縮等級等)拼接成很長的字符串,Hash 后獲得一個縮減過的信息量,保留具有信息差的字符串作為WebGL 指紋.
3)Audio 指紋
Englehardt 等人[49]發(fā)現(xiàn)了一種通過音頻為設(shè)備生成指紋的方法,即音頻(audio)指紋. 操作系統(tǒng)提供了專門處理音頻的接口AudioContext API,該API 可以調(diào)用振蕩器接口OscillatorNode 來產(chǎn)生周期波形,然后調(diào)用信號處理模塊將信號壓縮,再通過實時頻域和時域分析(time domain analysis)轉(zhuǎn)換為頻率域,最后生成指紋. 音頻指紋與Canvas 指紋類似,因瀏覽器和以及處理音頻信號硬件的細(xì)微差別,產(chǎn)生不同的音頻結(jié)果. 2016 年,Englehardt 等人[50]使用Open-WPM 在Alexa 前100 萬的網(wǎng)站中進行了測試,發(fā)現(xiàn)當(dāng)前只有少數(shù)網(wǎng)站使用了音頻指紋.
瀏覽器在接入網(wǎng)絡(luò)時,都需要調(diào)用系統(tǒng)中的硬件、網(wǎng)絡(luò)等信息獲取網(wǎng)站內(nèi)容資源并進行渲染. 獲取系統(tǒng)和硬件層面特征的能力是所有瀏覽器的共性,可為攻擊者提供更多獲取設(shè)備信息的渠道,因此跨瀏覽器追蹤也可稱為設(shè)備追蹤. 通過測量硬件特征、枚舉緩存和網(wǎng)絡(luò)信息,能夠?qū)崿F(xiàn)對用戶的跨瀏覽器的標(biāo)識和追蹤[51],也為指紋追蹤提供了更多的穩(wěn)定性.
2.2.1 基于硬件信息的設(shè)備追蹤
設(shè)備硬件信息具有較強穩(wěn)定性,尤其是硬件屬性信息幾乎不會發(fā)生改變. 不同設(shè)備的硬件在提供特定功能時,往往會輸出特定的屬性信息,以及不同的功性能表現(xiàn). 通過獲取或測量設(shè)備硬件的運行差異性,提取其較為穩(wěn)定的特征項,作為設(shè)備唯一標(biāo)識的特征信息.
1) GPU 特征信息
利用WebGL 的API 接口能夠獲取用戶的硬件屬性信息,比如顯卡名稱、顯卡型號、顯卡制造商等.文獻[52]基于設(shè)備的GPU 時鐘頻率、GPU 時鐘偏差來對設(shè)備進行GPU 指紋識別實驗,論證了GPU 的硬件特征不僅能夠區(qū)分不同硬件配置的設(shè)備,甚至能夠區(qū)分具有完全相同硬件配置的設(shè)備.
2017 年,Cao 等人[53]提出了一種依賴于設(shè)備操作系統(tǒng)和硬件功能的指紋識別技術(shù),使用WebGL API 呈現(xiàn)31 個不同的計算機圖形任務(wù)(包括紋理、反鋸齒、線條、光線、音頻、視頻、旋轉(zhuǎn)、語言庫等不同類型和角度),然后從測試任務(wù)中提取信息Hash 成指紋. 該指紋不僅支持單瀏覽器追蹤,還支持跨瀏覽器對用戶進行追蹤. 即使用戶切換瀏覽器,也能夠唯一標(biāo)識設(shè)備.
2) CPU 特征信息
利用對瀏覽器進行基準(zhǔn)測試可以推斷用戶設(shè)備的CPU 中是否存在AES 指令集(aes-ni)和英特爾睿頻加速技術(shù)(turbo boost)2 種擴展[54]的理念,Saito 等人[55]使用側(cè)信道技術(shù)識別了CPU 的內(nèi)核數(shù)、超線程技 術(shù)(hyper threading technology)可用性、SSE2 指 令集(streaming SIMD extensions2)可用性、ASE-NI 可用性以及CPU 系列類型等信息. Schwarz 等人[35]利用由環(huán)境引起的瀏覽器引擎的細(xì)微差別,自動化識別瀏覽器屬性推斷主機系統(tǒng)信息.
3)音頻特征
頻域在不同的瀏覽器中是不同的[53],因此Audio指紋會受瀏覽器的影響,不能完全反映出聲卡的特征. 但是頻率和峰值的比在瀏覽器之間是相對穩(wěn)定的,在頻率和值的坐標(biāo)系上創(chuàng)建一個間距很小的列表,并將峰值頻率和峰值映射到對應(yīng)的表格項. 這種情形下的列表可用于跨瀏覽器的特征.
4)電池?fù)p耗度
Diaz 等人[56]發(fā)現(xiàn)可利用火狐瀏覽器在Linux 上提供的高精度讀數(shù)發(fā)現(xiàn)用戶的電池容量,實現(xiàn)短時間內(nèi)跟蹤網(wǎng)絡(luò)用戶,且舊電池容量或用過的電池的風(fēng)險更高.
5)引擎性能監(jiān)測
使用計時API 函數(shù)獲取指令序列的執(zhí)行時間來計算硬件指紋,能夠在同類場景以及異構(gòu)場景中區(qū)分完全相同硬件和軟件的計算機集[57].
2.2.2 基于網(wǎng)絡(luò)信息的設(shè)備追蹤
IP 地址作為用戶接入網(wǎng)絡(luò)的“地址編號”,是在對用戶進行Web 追蹤時非常重要的信息. 設(shè)備接入Web 所使用的公網(wǎng)出口IP、內(nèi)網(wǎng)IP 和內(nèi)網(wǎng)拓?fù)湫畔⒍加锌赡鼙挥米饔脩糇粉櫤头治龅挠行侄?
1) IP 地址及內(nèi)網(wǎng)拓?fù)?/p>
Mishra 等人[58]論證了公網(wǎng)IP 地址仍然是在線跟蹤的主要載體,87%的參與者至少保留1 個IP 地址1 個月以上. 文獻[59?60]基于網(wǎng)頁即時通信(web realtime communication,WebRTC)可獲取內(nèi)網(wǎng)IP 地址的漏洞[61],提出了基于瀏覽器網(wǎng)絡(luò)掃描器BrowserScaner,依據(jù)網(wǎng)絡(luò)響應(yīng)信息判斷內(nèi)網(wǎng)拓?fù)浜蛢?nèi)網(wǎng)主機存活情況,甚至能夠探測活動節(jié)點的開放端口.
2)TLS 會話
Sy 等人[62]提出了一種可以將跟蹤周期延長到會話恢復(fù)機制的生命周期之外的“延長攻擊”,證實了通過TLS 會話恢復(fù)能夠跟蹤用戶平均長達8 天的時間. 而TLS1.3 草案使得至少65%的用戶可由至少一個網(wǎng)站永久跟蹤.
2.2.3 基于緩存信息的設(shè)備追蹤
對緩存中的敏感地理位置實行推斷攻擊[63],可跟蹤用戶所處的國家和城市. Klein 等人[64]利用可控的域名解析服務(wù)器(domain name system,DNS),為每個用戶分配唯一的DNS 解析記錄,基于用戶主機的DNS 緩存機制,實現(xiàn)對用戶的追蹤,克服瀏覽器的“隱私模式”. 作為Internet 的重要組成部分,許多網(wǎng)絡(luò)應(yīng)用提供商使用內(nèi)容分發(fā)網(wǎng)絡(luò)(content delivery network, CDN)部署的大量緩存代理,因此能夠使攻擊者獲得緩存數(shù)據(jù)的未授權(quán)訪問的Web 緩存欺騙[65],使大量網(wǎng)絡(luò)用戶處于危險之中.
跨設(shè)備追蹤(cross device tracking, CDT)[66]分 為確定性追蹤和概率性追蹤,確定性跨設(shè)備追蹤主要通過郵箱、手機號等登錄賬戶實現(xiàn)跨設(shè)備追蹤;概率性跨設(shè)備追蹤則借鑒和分析了用戶歷史記錄、行為等信息,實現(xiàn)統(tǒng)計學(xué)上的關(guān)聯(lián). 本文只討論概率性的跨設(shè)備追蹤.
2.3.1 跨設(shè)備特征分析
當(dāng)前的追蹤手段往往使用多種技術(shù)相結(jié)合進行綜合性的用戶追蹤,且移動端對HTML5 的支持相較于桌面客戶端更為迅速且全面,因此用于指紋追蹤的特征絕大部分可同樣在移動端獲取.
文獻[46,67]對桌面設(shè)備和移動端設(shè)備進行了指紋研究,雖然移動端缺失了字體和插件2 個較為有區(qū)別性的特征,但依然具備81%的指紋獨特性,并且HTTP 標(biāo)頭和 HTML5 的Canvas 指紋[59,67]在識別這些設(shè)備的瀏覽器方面起著至關(guān)重要的作用. 文獻[68]證實了大部分網(wǎng)站與第三方網(wǎng)站定期收集的Cookie、IP、位置、行為數(shù)據(jù)等信息相同,而這些信息可允許第三方將多個設(shè)備與持續(xù)性的標(biāo)識符關(guān)聯(lián)起來.Kane 等人[69]研究了用戶在不同設(shè)備之間的信息共享方式和訪問網(wǎng)頁活動的重疊度,論證了信息共享的便捷性可提高移動網(wǎng)絡(luò)的可用性.
Karakaya 等人[70]總結(jié)了用于概率跨設(shè)備定位的常見物理和行為特征,分析了16 個跨設(shè)備追蹤的學(xué)術(shù)研究,其認(rèn)為對行為模式的探索是實現(xiàn)概率跨設(shè)備跟蹤的關(guān)鍵. 例如常用的屬性是 URL 地址,以及通過該 URL 訪問的內(nèi)容或訪問的網(wǎng)站和應(yīng)用程序的上下文信息. 從站點內(nèi)容或上下文分類中提取的自然語言處理(natural language processing,NLP)特征對跨設(shè)備匹配非常有用.
2.3.2 跨設(shè)備追蹤方案
我們對常見標(biāo)識符進行了大規(guī)模探索,并量化了它們揭示的主機識別信息的數(shù)量.
使用 來自 Hotmail 和 Bing 的長達1 個 月的數(shù) 據(jù)集,Yen 等人[71]驗證了通用標(biāo)識符(包括用戶代理、IP、Cookie、登錄ID 等)可以幫助以高精度和高召回率跟蹤主機. 通過跨主機聚合信息,發(fā)現(xiàn)了超過 75 000個將 Cookie 轉(zhuǎn)發(fā)到分布式位置的機器人賬戶相關(guān)的隱蔽惡意攻擊. Zimmeck 等人[72]展示了一種檢測跨設(shè)備跟蹤發(fā)生的方法,基于從126 位互聯(lián)網(wǎng)用戶收集的跨設(shè)備跟蹤數(shù)據(jù)集,探索并論證了用戶設(shè)備的IP地址和互聯(lián)網(wǎng)歷史記錄的相似性能夠?qū)⒁苿釉O(shè)備連接到桌面設(shè)備的數(shù)據(jù)集中,其匹配率為0.91. Díaz-Morales[73]提出了一種基于半監(jiān)督機器學(xué)習(xí)方法來處理用戶跨設(shè)備識別的解決方案,以識別哪些Cookie屬于使用設(shè)備的個人.
指紋動態(tài)變化原因可分為3 大類:瀏覽器或操作系統(tǒng)更新、用戶操作更新和環(huán)境更新[74]. 指紋的不穩(wěn)定性能夠通過選取較為穩(wěn)定的特征來進行緩解和彌補,但依然不能實現(xiàn)對用戶長期追蹤. 因此研究學(xué)者設(shè)計了指紋關(guān)聯(lián)算法作為另一個使追蹤更加持久化的手段.
當(dāng)前的指紋關(guān)聯(lián)研究均使用相似度分析對指紋進行關(guān)聯(lián)度判定,也用以證明持續(xù)追蹤的可能性[75].其中文獻[76]引入了指紋的輔助屬性判定,使用專家打分法和編輯距離計算相似度,文獻[77]在此基礎(chǔ)上提出了一種高性能的指紋識別模型,將存儲型追蹤標(biāo)識符作為指紋關(guān)聯(lián)的重要依據(jù). 文獻[78]通過實驗證明了計算機在運行特定程序時產(chǎn)生的不同的CPU 圖形,可在指紋關(guān)聯(lián)時輔助解決其他屬性易被偽裝的問題. 文獻[79]提出了使用規(guī)則和算法進行關(guān)聯(lián)的FP-STALKER,其可追蹤瀏覽器54.48 天,并且26%的瀏覽器能被追蹤超過100 天. 文獻[80]針對安卓(Android)設(shè)備中的指紋進行了研究,提出了基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的指紋識別模型.
但是關(guān)于指紋中特征組合和識別精度之間的相關(guān)性研究較少,文獻[81]使用了在網(wǎng)站上收集的9 457個指紋樣例,來計算不同特征組合的識別精度. 與電子前沿基金會的結(jié)果相比,在Windows,Mac,iOS,Android 系統(tǒng)上的測試,分別實現(xiàn)了1.006%, 3.894%,7.456%,3.840%的識別精度提升.
存儲型追蹤技術(shù)可以服務(wù)于所有范圍的追蹤,關(guān)聯(lián)算法需要定向依據(jù)追蹤技術(shù)的不同進行算法的改進和升級. 按照追蹤的范圍,發(fā)現(xiàn)跨設(shè)備追蹤和跨瀏覽器追蹤所使用的特征均可應(yīng)用于單瀏覽器追蹤.跨瀏覽器追蹤層面較多使用設(shè)備硬件等穩(wěn)定且不易變化的特征,跨設(shè)備追蹤本身的特殊性無法使用穩(wěn)定的設(shè)備特征進行關(guān)聯(lián),但具有較多用戶個人特色的歷史記錄、交互性特征可作為對同一用戶不同設(shè)備進行分析和關(guān)聯(lián)的重要特征.
一些研究學(xué)者對現(xiàn)有的指紋追蹤進行檢測[82-84],進行了大規(guī)模分析[85],評估其在全球范圍內(nèi)的使用情況,當(dāng)前某些指紋追蹤技術(shù)應(yīng)用較為廣泛,但是在實際生活中,較多的網(wǎng)站廠商使用一種或多種指紋追蹤技術(shù),隱秘地進行大數(shù)據(jù)殺熟、價格歧視[86]等操作. 且指紋可能被攻擊者惡意利用,基于指紋的某些特征獲取技術(shù)實施攻擊和漏洞利用,竊取用戶敏感信息. 這在一定程度上為用戶造成了極大的隱私安全風(fēng)險.
Web 追蹤防御技術(shù)是用戶隱私保護大趨勢下的必然發(fā)展方向. 傳統(tǒng)的用戶自我保護措施主要是禁用Cookie,設(shè)置DNT 選項,使用虛擬專用網(wǎng)絡(luò)(virtual private network,VPN)或HTTP 代理、隱身瀏覽模式、隱私保護類擴展等方式來阻止廣告追蹤. 但這些方式依然無法阻擋指紋中多種多樣的特征獲取和追蹤.近些年的Web 追蹤防御技術(shù)大多集中在與指紋型追蹤的對抗方面,本文按照防御技術(shù)的形態(tài)對當(dāng)前研究進行了分類,并對使用的抵抗手段進行對比.
基于瀏覽器的擴展中,廣告攔截器和內(nèi)容攔截器比跟蹤器攔截器的使用更廣泛[87]. 且使用安裝擴展形式的防御技術(shù),能夠在不影響用戶整體使用習(xí)慣和環(huán)境的前提下,增加對Web 追蹤的防御能力.
早期的追蹤防御技術(shù)大多著眼于隱藏和修改敏感信息,即通過干擾真實信息的方式來避免追蹤. 例如TrackMeOrNot[88]擴展提供了與供應(yīng)商共享足跡的選擇權(quán),依據(jù)用戶指定的隱私要求有選擇地向供應(yīng)商披露自身活動. Torres 等人[89]開發(fā)了一個原型工具FP-Block,在允許常規(guī)追蹤的前提下,對抗基于跨域指紋的跟蹤,確保任何追蹤者在每個站點上都會看到用戶不同且不相關(guān)的指紋,使指紋追蹤無法再在網(wǎng)絡(luò)上對用戶進行持續(xù)性跟蹤. Al-Fannah 等人[90]發(fā)現(xiàn)大約有69%的網(wǎng)站可能涉及第一方或第三方瀏覽器指紋識別,且第三方瀏覽器指紋識別占據(jù)了很大比例,因此設(shè)計了FingerprintAlert 來檢測(可選)并阻止所訪問網(wǎng)站的指紋嘗試.
針對擴展信息泄露問題上,Latex Gloves[26]基于Web 代理在網(wǎng)頁和擴展之間進行控制,使用白名單的方式精細(xì)化地設(shè)置允許將哪些擴展程序加載到頁面中,以應(yīng)對使用WAR 探測和ID 枚舉進行擴展識別. 但白名單的獲取目前沒有官方渠道,需通過用戶自行判斷設(shè)置. Starov 等人[91]設(shè)計并開發(fā)了瀏覽器擴展程序BrowsingFog,通過不斷評估用戶的瀏覽習(xí)慣并模擬對隨機類別網(wǎng)站網(wǎng)頁的訪問,從而將用戶的真正興趣隱藏在不相關(guān)信息的“霧化”中. 這是一種假設(shè)用戶存在1 個或多個瀏覽數(shù)據(jù)泄露擴展的情況下保護用戶隱私的方法.
Canvas Blocker[92]是防止Canvas 指紋的Firefox擴展,通過更改使用Canvas 2d, WebGL, Audio, Screen等API 獲取信息的值,欺騙追蹤者對真實信息的獲取. 除此之外,還使用了黑白名單機制對網(wǎng)站追蹤進行允許和攔截. Canvas Deceiver[93]也是抵抗Canvas 指紋的瀏覽器擴展,在網(wǎng)站發(fā)出請求調(diào)用畫布指紋識別JavaScript 文件時,攔截請求并提供腳本的修改版本,修改版本的腳本行為方式與原始版本相同,但使用了一個持久的、預(yù)先確定的字符串欺騙使用Canvas指紋的追蹤者.
Leiva 等人[94]提出了一種對抗性噪聲方法,減輕利用鼠標(biāo)光標(biāo)大規(guī)模捕獲用戶行為數(shù)據(jù),來跟蹤預(yù)測人口統(tǒng)計變量的用戶分析技術(shù),并發(fā)布了數(shù)據(jù)和實現(xiàn)對抗性方法的Web 瀏覽器擴展.
現(xiàn)有防御技術(shù)存在修改現(xiàn)有瀏覽器,通過在瀏覽器中內(nèi)嵌防御機制提升瀏覽器本身的防護能力的方式,提供更深層且更加全面的防護效果,我們稱之為“瀏覽器內(nèi)嵌防御”. 內(nèi)嵌防御著眼于緩解或攔截特征信息的獲取渠道,或防止指紋被關(guān)聯(lián),破壞持續(xù)追蹤.
TrackingFree[95]是第1 個反跟蹤緩解唯一標(biāo)識符的瀏覽器. 其沒有禁用唯一標(biāo)識符,而是將它們隔離到不同的瀏覽器主體中,使得標(biāo)識符在不同網(wǎng)站之間不是唯一的,從根本上切斷第三方Web 跟蹤的跟蹤鏈. Laperdrix 等人[96]開發(fā)了一個名為Blink 的應(yīng)用程序原型,探索了軟件組件本身的多樣性,利用虛擬化和模塊化體系結(jié)構(gòu)在多個級別自動組裝和重新配置軟件組件,修改平臺指紋中展示的指紋,實現(xiàn)針對瀏覽器的移動目標(biāo)防御指紋追蹤. 經(jīng)過在數(shù)千個平臺中的測試和驗證,Blink 可使用戶展示不同的指紋,甚至欺騙商業(yè)性的指紋腳本. Baumann 等人[97]演示的防指紋策略可在不停用Flash 指紋的情況下對其進行保護,并提供穩(wěn)健且不易檢測的反畫布指紋(anti-canvas fingerprinting),在不使瀏覽器失去可用性的前提下,使用大量的真實信息來隱藏系統(tǒng)和瀏覽器屬性. Yu 等人[98]提出了一種基于k匿名(k-anonymity)方法的新技術(shù),識別有可能唯一地標(biāo)識單個用戶的數(shù)據(jù)元素,并將其從請求中刪除. 通過使用Cliqz 瀏覽器和Cliqz 擴展程序進行大規(guī)模在線跟蹤研究,發(fā)現(xiàn)其中所訪問頁面的95%包含對潛在跟蹤者的第三方請求,而78%試圖傳輸不安全的數(shù)據(jù),單個追蹤最多可以達到德國所有頁面訪問的42%. 隨后研究團隊發(fā)布了對跟蹤請求中用戶標(biāo)識符的算法檢測[99],使用了2 周內(nèi)來自20 萬德國用戶,涵蓋了超過350 000個不同站點的2 100 萬次頁面訪問,結(jié)果彰顯出了不同地區(qū)之間的追蹤差異性,以及追蹤廠商在不同地區(qū)市場上的差異. 同時也證明了谷歌和Facebook 無處不在.
Starov 等人[100]將完全不需要擴展功能的頁面修改稱為擴展膨脹. 經(jīng)過分析來自Google Chrome 商店的58 034 個擴展,發(fā)現(xiàn)有5.7%的擴展膨脹是不必要的,且這些擴展中的61%是唯一的,可以被濫用進行指紋識別. 為了保護用戶免受由于膨脹引起的不必要的擴展指紋侵害,Starov 直接修改Chromium,設(shè)計和實現(xiàn)了一個瀏覽器內(nèi)的機制,為所有網(wǎng)站中的擴展提供粗粒度的訪問控制. 該機制使用Chrome 內(nèi)置的企業(yè)策略特性,不僅可以保護用戶不被指紋識別,還可以防止惡意擴展程序從敏感網(wǎng)站竊取用戶數(shù)據(jù).
FPGuard[101]是一種運行時指紋檢測和預(yù)防方法,包含檢測和預(yù)防2 個階段. 首先通過9 種度量標(biāo)準(zhǔn)來檢測網(wǎng)站中與指紋相關(guān)的活動,計算可疑分?jǐn)?shù),如果該分?jǐn)?shù)超過特定閾值,將網(wǎng)頁標(biāo)記為指紋識別器,并將網(wǎng)站URL 以及對應(yīng)的度量標(biāo)準(zhǔn)存儲到黑名單數(shù)據(jù)庫中. 然后使用包含4 個核心引擎(objectRand,plugin-Rand,CanvasRand,fontRand)的隨機化技術(shù),對屬性值進行隨機化修改. 例如objectRand 引擎在運行時生成隨機對象實現(xiàn)對象屬性隨機化,pluginRand 引擎將不存在的虛擬Plugin 和MimeType 對象添加到瀏覽器的當(dāng)前插件和mimeTypes 列表中,以更改列表的順序. FPGuard 結(jié)合了隨機化和過濾技術(shù),在用戶每次訪問網(wǎng)頁時更改指紋,這種方法可以有效地識別和緩解與指紋相關(guān)的活動,并將正常網(wǎng)頁與異常的含有指紋追蹤的網(wǎng)頁區(qū)分開.
破壞指紋的可鏈接性可以防止指紋的關(guān)聯(lián),即阻止多次訪問的指紋鏈接同一指紋的能力,破壞指紋的穩(wěn)定性后,追蹤器也難以跨瀏覽會話關(guān)聯(lián)指紋.基于此Nikiforakis 等人[102]提出了利用隨機化破壞可鏈接性來消除無狀態(tài)跟蹤的PriVaricator. 通過評估幾個系列的隨機函數(shù)來尋找可以在指紋預(yù)防和破壞現(xiàn)有站點之間達到最佳平衡的函數(shù),進而集中對字體和插件相關(guān)的屬性進行隨機化. 在沒有明顯開銷的情況下,可有效防止指紋的追蹤,且對Alexa 前1 000個站點的內(nèi)容造成的損害也最小.
Laperdrix 等人[103]提出了基于Firefox 的修改版FPRandom,通過“破壞”隨時間推移的指紋穩(wěn)定性減輕指紋追蹤的風(fēng)險. FPRandom 在Firefox 瀏覽器功能的計算中增加了隨機性,為每個瀏覽會話提供略有不同的結(jié)果,其主要針對Canvas 指紋、Audio 指紋、通過JavaScript 屬性順序?qū)g覽器進行追蹤的指紋.主要緩解方法有:1)在CanvasRendering Context2D 類的ParseColor 函數(shù)內(nèi)部引入隨機性,在SetFont 函數(shù)中將腳本設(shè)置的字體更改為操作系統(tǒng)中的字體;2)在AudioContext 模塊的AudioNodeEngine 的AudioBuffers的核心中引入微小的噪聲,使指紋腳本產(chǎn)生不同的Hash 值;3)修改Firefox 的jsiter 類,激活瀏覽器中的特殊標(biāo)志“JS MORE DETERMINISTIC”,通過在每次啟動瀏覽器時生成唯一的枚舉順序來緩解指紋追蹤.
立足于用戶的設(shè)備和瀏覽器的差異性,除重寫指紋值外[104],一些研究學(xué)者設(shè)計了一些更高層次、更重型的防御技術(shù),例如構(gòu)建防御框架、進行屬性重組和選擇的工具或者一些深層的防御機制,來有效地防御指紋追蹤.
基于WebGL 指紋識別中的渲染差異是由浮點操作引起的,因此Wu 等人[105]提出了一種稱為UNIGL的新型系統(tǒng). UNIGL 重新定義了所有浮點操作,顯式 地用OpenGL 著色語言(OpenGL shading language,GLSL)程序編寫或由WebGL 隱式調(diào)用這些浮點操作,實現(xiàn)了重寫GLSL 程序并在現(xiàn)有WebGL 功能的支持下制作統(tǒng)一的WebGL 渲染過程,來減輕指紋識別因素的影響. 經(jīng)過眾包測試評估表明,UNIGL 可以通過合理的幀率(frames per second,F(xiàn)PS)防止基于WebGL 的最新指紋.
Jueckstock 等人[106]編寫1 個少于600 行的補丁,完成了一個托管在Chrome 瀏覽器的JavaScript 引擎(V8)內(nèi)部的動態(tài)分析框架VisibleV8. VisibleV8 保存了網(wǎng)站使用JavaScript 的所有數(shù)據(jù),并為網(wǎng)站創(chuàng)建“行為配置文件”,研究人員可使用該配置文件以及所有支持?jǐn)?shù)據(jù)來識別網(wǎng)站中使用JavaScript 破壞Web 瀏覽器和用戶信息的行為. VisibleV8 隱藏在JavaScript本身的引擎中,其性能優(yōu)于同等內(nèi)嵌式的安裝模式,并且攔截了內(nèi)嵌安裝無法阻止的訪問. 這種全面的覆蓋模式可以隔離和識別使用JavaScript 代碼檢測46 個JavaScript 命名空間和瀏覽器平臺. 在補丁中只有67 行修改了V8 的現(xiàn)有行為,因此VisibleV8 是非常輕量且易于維護的.
FPSelect[107]是一個屬性選擇框架,允許驗證者調(diào)整指紋探針以進行Web 身份驗證,這種方法使用指紋的成本較低,并且達到了針對字典攻擊的最低安全級別. 其根本是將問題轉(zhuǎn)化為搜索滿足安全要求并最小化可用性成本的屬性集. 通過對其安全性和可用性進行比較,F(xiàn)PSelect 生成的指紋屬性集大小減小了97 倍,收集指紋的速度提高了將近3 361 倍,而2 次觀測之間的屬性變化平均減少達7.2 倍.
隨后Andriamilanto 等人[108]開發(fā)了一種屬性選擇工具BrFAST. 它搭載了FPSelect 算法,從數(shù)百個可用屬性中選擇要實施的屬性,根據(jù)安全性和可用性之間的權(quán)衡來嚴(yán)格選擇瀏覽器指紋屬性. BrFAST 還可以擴展為使用其他參數(shù)、其他屬性選擇方法,其他安全性和可用性度量或其他指紋數(shù)據(jù)集,有助于在搜索要使用的最佳屬性時可視化對可能性的探索,比較屬性集的屬性以及比較幾種屬性選擇方法.
當(dāng)前研究針對跨設(shè)備的防御較少,2018 年,Solomos 等人[109]設(shè)計了一種通過模擬最終用戶的真實瀏覽活動來觸發(fā)CDT 的方法,然后利用先進的機器學(xué)習(xí)工具對其進行檢測和測量. 隨后Solomos 等人[110]設(shè)計構(gòu)建了一個CDT 測量框架——TALON,基于模擬用戶在不同設(shè)備上的真實瀏覽活動來觸發(fā)和檢測跨設(shè)備定向廣告,檢測CDT 并測量影響其性能的因素. 多項關(guān)鍵實驗證明,該框架能夠檢測和測量平均 ROC(receiver operating characteristic)曲線下的面積(area under curve,AUC)得分為0.78~0.96 的CDT,還能夠提供有關(guān) CDT 實體行為和對用戶隱私影響的重要見解. TALON 能夠成為隱私研究人員、政策制定者、用戶的重要工具,來提高廣告生態(tài)系統(tǒng)使用的跟蹤實踐的意識和透明度.
指紋型追蹤在用戶正常網(wǎng)站會話中以靜默方式獲取屬性的組合來識別瀏覽器,從而確定該瀏覽器的用戶. 與之前的在指紋信息獲取后進行阻止或欺騙的防御方式不同,構(gòu)建一種防御機制或者用戶使用環(huán)境,能夠在瀏覽器特征被獲取的層面進行信息的統(tǒng)一化或者隨機化,即從信息產(chǎn)生的源頭進行防御.
CloakX[111]是一個基于客戶端的防指紋對策. 通過在客戶端重寫擴展名且以與擴展名無關(guān)的方式運行,使客戶端信息多樣化. 可以防止使用錨定標(biāo)記(由任何網(wǎng)頁均可直接訪問的工件組成的指紋)進行擴展檢測,并降低使用結(jié)構(gòu)指紋(根據(jù)擴展程序行為構(gòu)建的指紋)進行擴展檢測的準(zhǔn)確性. 經(jīng)過大規(guī)模自動化分析和深入的手動測試,評估CloakX 在18 937個擴展名上的功效以及啟用CloakX 的擴展的性能,證明了CloakX 原型可以成功處理大多數(shù)瀏覽器擴展.
Gómez-Boix 等人[112]提出一種緩解指紋追蹤對瀏覽器配置及其運行環(huán)境進行信息收集的方法. 先使用算法識別易于共享相同或相似指紋的設(shè)備,并為其提供新的非唯一指紋. 然后在虛擬化的docker容器中,使用該指紋組裝和運行Web 瀏覽器,最終使得同一個集群的所有設(shè)備均運行使用同一個指紋的Web 瀏覽器. 通過為用戶提供一個通用的共享指紋的配置,最大程度地減少設(shè)備的可識別性和Web 瀏覽器配置中的更改次數(shù).
Web 追蹤防御技術(shù)的飛速發(fā)展是在信息爆炸式發(fā)展、用戶隱私意識增強的社會條件下的必然發(fā)展趨勢. 如表5 所示,不同類型的防御方式也各自存在其自身的局限性. 例如用戶對不同防御形態(tài)的接受度、防御實現(xiàn)技術(shù)對Web 生態(tài)造成的影響、可能存在的對用戶體驗度的影響等. Web 追蹤和防御是相輔相成的技術(shù),如何實現(xiàn)一個平衡,也是需要面對和解決的問題.
Web 追蹤中指紋追蹤技術(shù)的多樣化在一定程度上滿足了Web 應(yīng)用廠商的需求,但用戶對于安全隱私的訴求也極大推動著瀏覽器指紋防御技術(shù)的快速發(fā)展. 本文從Web 追蹤和防御技術(shù)2 方面分別進行剖析,分析當(dāng)前Web 追蹤的現(xiàn)狀,以及面臨的挑戰(zhàn)與未來可能的發(fā)展方向.
針對使用瀏覽器特征的指紋追蹤研究(見第2 節(jié))中,包含具有較強用戶特點的歷史記錄、擴展等類型的特征,以及依賴硬件屬性和硬件功性能的較為穩(wěn)定的設(shè)備特征. 但多數(shù)的指紋追蹤結(jié)合使用多種不同維度的特征來提高指紋的唯一性[115].
1) 追蹤唯一性討論
Eckersley 等人[1]在2 周內(nèi)收集了含有8 個特征的470 161 個指紋,其中83.6%的指紋是唯一的,且在開啟了Flash 和Java 的情況下,唯一性能夠達到94.2%. Laperdrix 等人[46]使用AmIUnique 網(wǎng)站在一年中收集了包含17 個特征的118 934 條指紋,得出89.4%的指紋是唯一的,并論證了Canvas 指紋的穩(wěn)定性. Gómez-Boix 等人[67]在法國排名前15 的一個商業(yè)網(wǎng)站中收集了1 816 776 個普通用戶的電腦端的瀏覽器指紋,經(jīng)過評估得出,數(shù)據(jù)集中只有35.7%的唯一指紋,遠(yuǎn)低于過去報告的百分比.
Eckersley[1]和AmIUnique 這2 項大規(guī)模的數(shù)據(jù)統(tǒng)計,均是在通知用戶了解使用指紋追蹤的前提下進行收集的,其指紋的用戶來源對在線隱私了解較多,相較于普通用戶的操作更為謹(jǐn)慎,而文獻[67]的指紋來源為網(wǎng)站中的普通用戶. 通過數(shù)據(jù)對比分析,用于追蹤的網(wǎng)站、使用的特征、地區(qū)等差異可能對數(shù)據(jù)的影響較小,但指紋收集的目標(biāo)人群的差異可能會導(dǎo)致指紋唯一識別的有效性發(fā)生較大變化. 雖然指紋特征的信息熵能夠識別足夠多的用戶,但在實際應(yīng)用場景中,普通用戶群體中指紋的唯一性遠(yuǎn)比對隱私敏感的用戶低.
2) 追蹤持久性討論
雖然指紋經(jīng)常變化,但依然可以在一段時間內(nèi)跟蹤相當(dāng)一部分瀏覽器[116],指紋自身的穩(wěn)定性是能夠?qū)崿F(xiàn)持久追蹤的基本要素,而關(guān)聯(lián)算法是能夠?qū)崿F(xiàn)持久追蹤的關(guān)鍵因素. 不易變化的硬件特征信息能夠有效地為指紋添加穩(wěn)定性,并且可以在關(guān)聯(lián)算法中作為相似性評估的重要依據(jù). 當(dāng)前的指紋追蹤技術(shù)中,僅有少量的研究對追蹤持久性[117]進行討論,在指紋關(guān)聯(lián)分析方面的研究較為欠缺.
部分研究學(xué)者著重于從跨瀏覽器和跨設(shè)備的角度實現(xiàn)指紋追蹤,增強用戶追蹤的持久性. 確定性的跨設(shè)備追蹤,較多依賴于用戶的登錄信息,因此能夠具備較強的穩(wěn)定性和關(guān)聯(lián)性;而現(xiàn)有的概率性跨設(shè)備追蹤的分析較多依賴于用戶歷史記錄等不穩(wěn)定的特征,用于關(guān)聯(lián)分析的普適性較低,因此概率性的跨設(shè)備追蹤在結(jié)合Cookie 類存儲標(biāo)識的前提下會更加有效和穩(wěn)定.

Table 5 The Forms and Used Resistance Means of Defense Technology表5 防御技術(shù)的形態(tài)與其使用的抵抗手段
Web 追蹤防御技術(shù)可能會使瀏覽器更容易被識別[118]. 發(fā)現(xiàn)指紋中可能被修改的特征,將其還原成真實的特征值,加強有效的定位和追蹤也是未來可能的研究方向. 例如測試套件FP-Scanner[119],能夠探索瀏覽器中指紋的不一致性,檢測潛在的更改,揭示改變的指紋屬性的原始值. 如果這一結(jié)果可以被指紋識別技術(shù)利用,就能夠更準(zhǔn)確地定位使用防御技術(shù)的瀏覽器.
3) 挑戰(zhàn)與展望
通過大規(guī)模的數(shù)據(jù)研究分析,可以得出指紋追蹤技術(shù)的唯一性與其數(shù)據(jù)源有極強的關(guān)聯(lián)關(guān)系,Web追蹤領(lǐng)域需要一個或多個較大的指紋數(shù)據(jù)集,用于分析指紋追蹤的有效性,以及關(guān)聯(lián)分析研究. 在指紋追蹤過程中,需要在保證指紋唯一性的同時對特征進行評估和擇優(yōu)選取,避免收集過多特征對數(shù)據(jù)傳輸和存儲造成的壓力.
針對指紋追蹤的特征進行研究,尤其是含有較多用戶習(xí)慣和交互式的特征,可為不同的用戶構(gòu)建穩(wěn)定且全面的用戶畫像,或輔助Web 安全領(lǐng)域針對惡意數(shù)據(jù)進行分析,以及對惡意行為的檢測和追蹤溯源等. 比如雙重身份認(rèn)證[120-121]和賬戶安全檢測[122-123]、檢測爬蟲或者Web bot[124-125]、黨派分析[126]等. 或者輔助安全研究,從訪問記錄中提取危險路徑分析惡意URL 的Web 訪問路徑[127],將指紋應(yīng)用到對攻擊者的誘捕和欺騙中,實現(xiàn)主動的追蹤溯源[128],協(xié)助網(wǎng)絡(luò)攻擊取證[129-130].
盡管當(dāng)前已經(jīng)出現(xiàn)各種安裝形態(tài)的、各種不同功能的指紋防御技術(shù),但依然存在各自的劣勢. 洋蔥瀏覽器(Tor)[131]當(dāng)前在匿名網(wǎng)絡(luò)中被廣泛使用,用以從多個方面防御各種不同類型的追蹤技術(shù),保護用戶的隱私. 如表6 所示,本文針對不同指紋防御所適用的技術(shù)進行了歸類分析和概括,并結(jié)合Tor 瀏覽器進行對比分析,指出了當(dāng)前防御技術(shù)的挑戰(zhàn)和方向.

Table 6 The Defensive Coverage that Defensive Technology Possessed to Tracking Technology表6 防御技術(shù)對追蹤技術(shù)的防御覆蓋度
1) 防御形態(tài)分析
擴展形態(tài)的防御較為輕量級,安裝和使用較為便捷,多數(shù)擴展的功能集中于抵御某項單一的指紋追蹤方式,例如防御當(dāng)前應(yīng)用較為廣泛的Canvas 指紋、歷史記錄等. 但這種類型的防御機制無法抵御使用多種特征追蹤的指紋模式,即便某個特征值不一致或者缺失,網(wǎng)站追蹤者仍可通過多重追蹤技術(shù),并使用相關(guān)算法將屬于同一用戶的指紋關(guān)聯(lián)起來.
瀏覽器內(nèi)嵌防御利用隨機化、添加噪音、函數(shù)重寫等方式修改內(nèi)嵌的函數(shù)實現(xiàn)機制,防止追蹤腳本獲取到真正的屬性特征值. 盡管為特定的單個屬性或?qū)傩约峁┤藶榛螂S機值可以至少部分成功地干擾指紋識別的操作,但這種方法也可能產(chǎn)生不利影響[132]. 這種形式需要用戶以更換瀏覽器為代價,達到對單個或多個特征的追蹤技術(shù)的防御,雖然在防御性能和效果上優(yōu)于外在的擴展和工具框架等策略,但防御型瀏覽器如未經(jīng)商業(yè)化加持的情況下,在推廣和應(yīng)用上面臨著巨大的困難:一方面是Tor 瀏覽器防御能力較強,并占據(jù)著絕大部分的市場;另一方面,用戶對“被改裝”過的瀏覽器接受度可能不夠高.
工具和框架形態(tài)的防御,從獨立于瀏覽器之外的角度出發(fā),搜索配置選擇進行展示的最佳屬性,混淆追蹤者獲取的信息. 利用屬性重組選擇特征值的防御技術(shù),一定會以消耗時間和減弱性能為代價,且隨著指紋特征的增多,會導(dǎo)致瀏覽器中出現(xiàn)較多的異常組合[133].
構(gòu)建防御對策或環(huán)境是從技術(shù)源頭緩解指紋追蹤的方式. 例如通過使用同質(zhì)化環(huán)境可以從指紋產(chǎn)生的源頭消除其唯一性,重寫擴展名和更改擴展運行方式可以有效抵抗使用擴展ID 和WAR 對擴展的枚舉. 但構(gòu)建同質(zhì)化環(huán)境和對擴展進行處理和運行的方式偏向于理想的防御方式,無法廣泛地應(yīng)用于實踐.
2) 防御技術(shù)的對比分析
隨機化和引入噪音是最常見且易于實現(xiàn)的防御技術(shù),能夠通過欺騙或者擾亂信息的方式,削弱實際設(shè)備和瀏覽器的獨特性和唯一性,降低被追蹤的可能. 屬性重組、重寫指紋值等技術(shù)的本質(zhì)也是通過虛假或冗余的信息降低用戶的可識別性. 這些技術(shù)形式都在追蹤系統(tǒng)中生產(chǎn)了大量的虛假無效信息,消耗和占用服務(wù)資源. 這類數(shù)據(jù)可能會影響未來的Web追蹤生態(tài),對未來的技術(shù)發(fā)展造成不利的影響.
通過監(jiān)控指紋追蹤的屬性獲取情況,了解和控制可能被泄露或用來追蹤的信息的輸出和運行方式具有較好的實踐性. 例如控制既定對象的枚舉順序、瀏覽器擴展在不同網(wǎng)站中的運行方式、可能被泄露的指紋信息等. 但無法做到全面和綜合性的防御,對新追蹤方式的自適應(yīng)性不強.
通過一定的手段,對不同的訪問網(wǎng)站實現(xiàn)信息隔離,使多個不同的追蹤網(wǎng)站獲取到的指紋信息各不相同. 這一方案能夠較好地組織不同網(wǎng)站之間的追蹤信息共享,但對同一網(wǎng)站的持續(xù)性追蹤具有較低的防御力.
用戶介入和參與的防御形式,雖然將選擇權(quán)交到了用戶手中,但絕大部分的網(wǎng)絡(luò)用戶沒有較多的技術(shù)理解和專業(yè)知識,無法做出較為有利的判斷. 且從長期來看,用戶參與過多會降低良好的體驗度.
3) 挑戰(zhàn)與展望
當(dāng)前有諸如歐盟相關(guān)法律為加強隱私做出了努力,例如第三方跨設(shè)備跟蹤的公司將被要求在其隱私政策中明確數(shù)據(jù)會被跨設(shè)備使用,但違反行為還是很普遍且公然的[134],因此依然需要更有效的工具和框架來進行合規(guī)性監(jiān)視和執(zhí)行. Luangmaneerote 等人[133]通過將所有的指紋防御技術(shù)應(yīng)用到瀏覽器中,訪問開發(fā)的混合指紋網(wǎng)站,了解指紋抵抗效率以及指紋防御對用戶或網(wǎng)站造成的影響,結(jié)果表明,如今所有的防御對策,都無法阻止各種指紋追蹤[135],Tor依然是當(dāng)下最有效的指紋防御技術(shù)[107].
本文依據(jù)當(dāng)前防御技術(shù)的能力,對能夠抵御的追蹤技術(shù)進行了整理和總結(jié),如表6 所示. 現(xiàn)有的防御技術(shù)大多能夠?qū)崿F(xiàn)對瀏覽器基本特征信息獲取和主流指紋追蹤技術(shù)的防御. 但是在緩解系統(tǒng)層面的緩存追蹤、TSL 會話追蹤,以及硬件追蹤方面表現(xiàn)較差. 最后我們從表6 中可以得出與文獻[135]同樣的結(jié)果:當(dāng)前的追蹤策略均無法完整且有效地對指紋信息進行防御.
基于以上分析可以得出,對追蹤防御的構(gòu)建和實施,必須了解指紋追蹤的技術(shù)原理,通過阻斷其獲取信息的渠道和可能存在的操作,或者使用信息干擾和隔離的方式擾亂攻擊者對信息源的唯一確認(rèn).防御技術(shù)的形態(tài)和最終形式也可能為指紋追蹤提供新的特征識別線索. 當(dāng)前而言,實現(xiàn)指紋防御的最佳狀態(tài),就像在 “嚴(yán)格”的Tor 瀏覽器模式和正常的瀏覽器功能之間取一個中和的方法,在不影響用戶瀏覽體驗的前提下,盡可能地將指紋信息一致化,且在每次啟動瀏覽器或會話的時候,將IP 等特殊的特征隨機化.
在Web 應(yīng)用廠商對大規(guī)模用戶群體的追蹤定位需求,以及用戶對隱私敏感度提升的雙向作用下,Web 的追蹤防御技術(shù)也得到了迅猛發(fā)展. 本文首先對Web 追蹤中不同的追蹤技術(shù)和發(fā)展形勢進行了概述,其次著重針對2010—2021 年間Web 追蹤技術(shù)和防御技術(shù)進行了研究和概述. 以追蹤的范圍劃分追蹤層次,介紹了特征的特點和獲取方式,與此同時描述了指紋關(guān)聯(lián)技術(shù),并論述了特征與追蹤范圍的關(guān)系. 隨后我們列出了指紋防御技術(shù)的研究熱點,指出了當(dāng)前防御技術(shù)的4 種不同形態(tài). 針對Web 追蹤技術(shù),本文從唯一性和持續(xù)性2 方面對追蹤技術(shù)進行討論,從實現(xiàn)形態(tài)和技術(shù)特點對追蹤防御技術(shù)進行分析,基于對瀏覽器指紋追蹤對抗技術(shù)的了解,我們針對指紋追蹤和防御2 個方面提出了面臨的挑戰(zhàn)與未來的展望.
作者貢獻聲明:王曉茜負(fù)責(zé)論文的撰寫;劉奇旭梳理論文框架和指導(dǎo)論文的撰寫;劉潮歌、張方嬌和劉心宇收集和整理論文文獻;崔翔負(fù)責(zé)論文的整體規(guī)劃。