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