基于網絡欺騙與瀏覽器指紋的WEB攻擊溯源
一、背景概述
針對網站的Web攻擊是互聯網安全面臨的主要威脅,為隱藏身份、逃避追蹤,在對目標網站發起攻擊時,黑客往往會采用多種手段隱藏自己的身份,如:使用(動態)代理、虛擬專用網絡等。攻擊者的這些手段很好的隱藏了自身信息,增加了安全人員追蹤溯源的難度。
雖然針對Web攻擊的防御技術、溯源技術也在不斷發展之中,如: IDS、WAF、基于日志/流量溯源等,但這些技術往往處于被動防御的狀態、或溯源信息不足,難以應對復雜多變的攻擊手段。
- 問題一:攻擊流量被隱藏在大量的合法流量中,不易被發現和識別。盡管IDS、WAF功能強大,但依然存在漏報或誤報的可能,而且也存在因其自身漏洞或規則不完善而被繞過的可能。
- 問題二:即使識別攻擊后,可基于IP黑名單機制阻斷攻擊源,但如果攻擊者切換了出口IP,如何在新的攻擊發起之前有效識別攻擊行為,也是目前IDS、WAF等安全產品所不具備的功能。
- 問題三:假如攻擊者在攻擊過程中使用了(動態)代理、虛擬專用網絡等手段,則傳統的基于Web日志、基于網絡流量的追蹤技術,并不能有效的定位攻擊者的身份或位置。
二、本文目的
圖1 研究目標
為彌補傳統安全防御技術的不足,為網絡犯罪溯源取證提供依據,基于主動防御的思想,本文提出了一種基于網絡欺騙和瀏覽器指紋的溯源技術方案,旨在有效識別網絡攻擊行為、定位攻擊者身份或位置,并可通過不同網站之間的協作或信息共享機制感知潛在的試探性攻擊行為。
三、相關技術
1. 瀏覽器指紋技術
圖2 瀏覽器指紋技術概述
在瀏覽器與網站服務器交互時,瀏覽器會向網站暴露許多的不同消息,比如瀏覽器型號、瀏覽器版本、操作系統等信息。如同人的指紋可以用來識別不同的人一樣,當瀏覽器暴露信息的熵足夠高時,網站就可利用這些信息來識別、追蹤和定位用戶。
圖3 瀏覽器指紋技術能力
將該技術應用于攻擊溯源,即使黑客使用了(動態)代理、虛擬專用網絡等,采集指紋信息的“溯源腳本”也可反向到達客戶端的瀏覽器,進而被觸發執行,以獲取與黑客關聯性更強的信息。其中,可采集的信息不僅包括客戶端的系統字體、系統語言、瀏覽器插件、時區偏移量、Canvas、內外網IP等設備信息,也可采集攻擊者的鍵盤記錄、訪問過的網站,甚至特定網站賬號(存在JSONP漏洞)等行為信息。(“溯源腳本”基于JavaScript代碼實現)
2. 網絡欺騙技術
圖4 網絡欺騙技術概述
網絡欺騙是一種針對網絡攻擊的防御手段(或策略),目的是讓攻擊者相信目標系統存在有價值的、可利用的安全弱點(偽造或不重要的),從而將攻擊者引向這些錯誤的資源,以達到檢測攻擊、阻礙攻擊、記錄攻擊行為的目的。其中,蜜罐是我們常見的一種網絡欺騙技術,除了蜜罐技術,還存在蜜餌、蜜網、虛擬網絡拓撲等多種欺騙技術實現方式。
圖5 網絡欺騙技術手段
通常情況下,攻擊者在試圖攻擊網站之前,都會有一些固有手法,用于收集目標網站的信息,如:子域名爆破,高危端口掃描、敏感目錄掃描、Web漏洞掃描等。針對不同的攻擊手段,可采用不同的欺騙手段來迷惑攻擊者,如:針對子域名爆破行為,可部署虛假的網站并綁定子域名;針對目錄掃描行為,可部署虛假的后臺登錄頁面等。
四、應用場景
1. 應用場景-專用欺騙環境
圖6 專用欺騙環境架構
部署專用的網絡欺騙環境,如:注冊子域名并故意綁定虛假的Web業務系統;在Web服務器上部署虛假的網站登錄、注冊頁面(用于抓取攻擊者的手機號、郵箱等信息);部署存在漏洞的Weblogic并對互聯網開放等。同時,所有的“欺騙性信息或服務”均不對外發布,只有采取一定的技術手段才能訪問,而正常用戶通常不會進行該操作。
2. 應用場景-常規網站防護
圖7 網站后臺防護架構
在真實的業務系統的管理員登錄頁面部署“溯源腳本”,不僅可采集攻擊者的指紋信息,而且當某攻擊者使用同一設備對多個業務系統的管理員登錄頁面實施攻擊時,也可通過瀏覽器指紋將攻擊事件進行關聯。(備注:管理員設備的指紋信息已加白)
圖8 網站整體防護架構
此外,也可在網站首頁部署“溯源腳本”,采集所有用戶的指紋信息,并與指紋庫中(僅存儲歸屬于攻擊行為的客戶端指紋)的信息做比較,以感知潛在的試探性攻擊行為。該應用場景的優點在于,在攻擊者對網站進行分析、查找漏洞的過程中,即可將其從大量正常流量中識別出來。
3. 應用場景-注入WebShell
圖9 溯源Webshell
當發現網站被攻擊者入侵且留下WebShell后門時,除做好網絡和機器隔離外,可暫時不清除木馬文件,而是向其中插入“溯源腳本“, 等待攻擊者再次訪問,從而獲取與攻擊者關聯性較強的指紋信息,為溯源取證提供依據。
五、優點與不足
1. 該方案的優點:
(1) 不存在誤報
構建的欺騙環境不對互聯網發布,正常用戶是不可見的,只有采用一定手段才可能發現。凡是訪問這些虛假資源的行為,均被認為是潛在的攻擊行為,故不存在誤報情況。
因此,相對于IDS、WAF等常規安全防護產品,基于網絡欺騙技術,可將攻擊流量從大量的合法流量中識別出來,不存在誤報情況的發生。
(2) 改善漏報率
即使黑客在攻擊過程中,使用了大量的代理服務器,不斷的變化著出口IP地址。基于瀏覽器指紋技術,可及時發現采用同一設備發起的試探性攻擊行為,進而阻斷該攻擊。(備注:實際使用時需考慮瀏覽器指紋的碰撞率問題)
因此,相對基于IP黑名單的防御機制,基于設備指紋的黑名單機制,可更快的感知、追蹤和阻止攻擊(即使攻擊者使用了大量代理服務器),從而降低漏報情況的發生。
(3) 增強溯源能力
相對僅依靠服務端獲取信息的溯源能力,基于瀏覽器指紋技術,可以采集與攻擊者關聯性更強的客戶端信息,甚至其社交平臺的賬號(需要一定的前提條件),從而增強溯源取證的能力。
2. 該方案的不足:
(1) 指紋碰撞、指紋關聯問題
首先,采集的不同客戶端之間的指紋信息,存在指紋碰撞的情況,即: 不同設備的指紋被認為是同一設備。同時,也存在同一設備因切換網絡環境、更新瀏覽器、或切換瀏覽器導致指紋信息不一致的情況。
因此,如何采集區別性更好的客戶端特征屬性以降低碰撞率、如果實現跨瀏覽器、跨設備的指紋追蹤,是實際應用中需要考慮的問題。


































