丁銳
(昆侖數(shù)智科技有限責(zé)任公司 北京 100026)
Web 網(wǎng)絡(luò)是基于超文本和HTTP 協(xié)議的全球性、動(dòng)態(tài)交互的跨平臺(tái)分布式圖像信息系統(tǒng)。為方便業(yè)務(wù)迭代和部署,各類(lèi)企業(yè)和國(guó)家機(jī)關(guān)部門(mén)平臺(tái)持續(xù)推進(jìn)信息化建設(shè),搭建了大量Web 服務(wù)網(wǎng)站?;诰W(wǎng)絡(luò)的攻擊也成為最有效的攻擊手段。然而,隨著信息技術(shù)的快速發(fā)展,網(wǎng)絡(luò)威脅種類(lèi)不斷增加,網(wǎng)絡(luò)攻擊的復(fù)雜度也隨之提升?,F(xiàn)如今,如Web防火墻、入侵檢測(cè)技術(shù)等傳統(tǒng)的網(wǎng)絡(luò)安全防護(hù)手段已經(jīng)無(wú)法有效阻擋攻擊者,由于占據(jù)主動(dòng)優(yōu)勢(shì)的攻擊者總會(huì)通過(guò)多種技術(shù)手段來(lái)繞過(guò)上述防護(hù)措施,進(jìn)而攻陷需要重點(diǎn)保護(hù)的Web網(wǎng)絡(luò)系統(tǒng)。
欺騙誘捕技術(shù)是網(wǎng)絡(luò)攻防對(duì)抗中較為特殊的技術(shù),通過(guò)欺騙攻擊者訪問(wèn)虛假目標(biāo),在消耗其精力的同時(shí),獲取大量的攻擊證據(jù)信息及網(wǎng)絡(luò)流數(shù)據(jù),極大地加強(qiáng)了防守方在網(wǎng)絡(luò)攻防對(duì)抗中的主動(dòng)權(quán)。隨著網(wǎng)絡(luò)攻擊對(duì)抗升級(jí),傳統(tǒng)的單向邊界防御技術(shù)愈發(fā)不能滿足企業(yè)應(yīng)對(duì)高級(jí)未知威脅的需求,蜜罐技術(shù)的出現(xiàn)及成熟改變了這一被動(dòng)防御的局面。蜜罐(Honeypot Technology)是一種通過(guò)工具誘騙攻擊者,使安全人員能夠觀察攻擊者行為的主動(dòng)網(wǎng)絡(luò)防御技術(shù)[1],其應(yīng)對(duì)的不是攻擊或漏洞,而是關(guān)注攻擊者本身。該項(xiàng)技術(shù)通過(guò)欺騙誘捕打亂攻擊節(jié)奏,增加攻擊復(fù)雜度,給企業(yè)增加更多響應(yīng)時(shí)間,并有可能對(duì)攻擊者進(jìn)行分析溯源從而預(yù)防攻擊。溯源蜜罐的出現(xiàn)使防守方可以通過(guò)技術(shù)仿真誘導(dǎo)攻擊者進(jìn)入事先準(zhǔn)備好的模擬環(huán)境,實(shí)時(shí)監(jiān)控并收集攻擊者的IP和身份信息,從而快速反制攻擊者。一個(gè)優(yōu)秀的蜜罐,具備以下功能和技術(shù)特點(diǎn):(1)能夠模擬大多數(shù)常見(jiàn)協(xié)議;(2)能夠模擬影響面廣泛的應(yīng)用協(xié)議和漏洞;(3)能夠在TCP/UDP全端口捕獲未知的惡意掃描;(4)蜜罐便于協(xié)議擴(kuò)展;(5)蜜罐結(jié)果的數(shù)據(jù)格式簡(jiǎn)單便于分析。然而,攻防的對(duì)抗性驅(qū)使攻擊者開(kāi)發(fā)了一系列“反蜜罐”技術(shù)用于檢測(cè)當(dāng)前Web 環(huán)境是否屬于溯源蜜罐,進(jìn)而實(shí)施攻擊逃逸等行為。
為提高Web站點(diǎn)的網(wǎng)絡(luò)安全建設(shè)水平,針對(duì)WEB溯源蜜罐技術(shù)存在的安全問(wèn)題,本文研究了Web 環(huán)境中溯源蜜罐的研究現(xiàn)狀,分析了其技術(shù)的類(lèi)型和特點(diǎn),并給出了基于攻防對(duì)抗思想的Web溯源蜜罐安全防御體系構(gòu)建思路。
Web 蜜罐系統(tǒng)通過(guò)在網(wǎng)絡(luò)中部署大量感應(yīng)節(jié)點(diǎn),實(shí)時(shí)感知目標(biāo)周邊的網(wǎng)絡(luò)環(huán)境,同時(shí)將感應(yīng)節(jié)點(diǎn)日志實(shí)時(shí)存儲(chǔ)和可視化分析,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)環(huán)境中的威脅情況快速感知。蜜罐從概念到落地從 1998 年開(kāi)始。該技術(shù)發(fā)展初期主要是通過(guò)虛擬的操作系統(tǒng)和網(wǎng)絡(luò)服務(wù),對(duì)入侵者實(shí)施欺騙。21 世紀(jì)初期,蜜罐技術(shù)根據(jù)針對(duì)攻擊的回應(yīng)方式可以分為回應(yīng)式和黑洞式,前者對(duì)攻擊者的所有探測(cè)和攻擊行為都予以滿足和應(yīng)答,后者則是完全不予應(yīng)答。2020年至今,由于企業(yè)網(wǎng)絡(luò)逐漸呈現(xiàn)架構(gòu)高復(fù)雜化、安全報(bào)警信息海量化的特點(diǎn),給欺騙防御技術(shù)即蜜罐技術(shù)在模擬對(duì)象類(lèi)型、仿真精細(xì)度、自動(dòng)化程度等方面提出了更高的要求。廠商和安全研究人員不斷對(duì)蜜罐技術(shù)進(jìn)行優(yōu)化,從而逐漸形成新型蜜罐、蜜網(wǎng)、分布式蜜罐、分布式蜜網(wǎng)和蜜場(chǎng)等多種落地形態(tài)。
溯源蜜罐通過(guò)Web 跟蹤技術(shù)和基于前端的信息探測(cè)技術(shù)實(shí)現(xiàn)對(duì)攻擊者的追蹤溯源和反制。Web跟蹤技術(shù)是一種通過(guò)采集訪問(wèn)者瀏覽器或設(shè)備的指紋,并植入持久化跟蹤C(jī)ookies 來(lái)持久跟蹤訪客的技術(shù)。通過(guò)此類(lèi)技術(shù)可以對(duì)在不同時(shí)間段采用不同IP 地址的相同攻擊者持續(xù)跟蹤,形成完整的畫(huà)像。
研究進(jìn)展方面,ACAR G等人提出了一種通過(guò)Canvas畫(huà)布為每個(gè)不同的瀏覽器生成不同CRC32指紋的蜜罐技術(shù)[2]。ENGLEHARDT S等人在調(diào)研了100萬(wàn)個(gè)網(wǎng)站后,發(fā)現(xiàn)大量站點(diǎn)使用AudioContext API獲取不同設(shè)備在音頻信號(hào)處理時(shí)的差異,進(jìn)而得到可供跟蹤的音頻指紋[3]。同時(shí),楊德全等人利用WebGL 和底層硬件特性實(shí)現(xiàn)了對(duì)使用不同瀏覽器的相同硬件設(shè)備的追蹤[4]。劉德莉提出了利用瀏覽器的favicon圖標(biāo)緩存繞過(guò)現(xiàn)代瀏覽器的隱身模式保護(hù)追蹤用戶(hù)。溯源蜜罐可利用上述技術(shù)對(duì)單個(gè)攻擊者持久追蹤,實(shí)現(xiàn)精準(zhǔn)的信息搜集,為蜜罐決策提供準(zhǔn)確的數(shù)據(jù)[5]?;谇岸说男畔⑻綔y(cè)技術(shù)可以通過(guò)在前端執(zhí)行Javascript 主動(dòng)探測(cè)訪客的信息,通過(guò)WebRTC探測(cè)啟用了代理的瀏覽器的真實(shí)IP地址以及內(nèi)網(wǎng)地址的方法,結(jié)合WebRTC獲取的內(nèi)網(wǎng)IP地址,可以通過(guò)端口掃描的手段探測(cè)內(nèi)網(wǎng)信息,而在獲取內(nèi)網(wǎng)信息后可以通過(guò)CSRF 反向攻擊攻擊者內(nèi)網(wǎng)中的脆弱設(shè)備[6]。除此之外,為了更深層次地溯源,防御者可以結(jié)合社會(huì)工程學(xué),投放“蜜標(biāo)”文件,誘導(dǎo)攻擊者在自己的個(gè)人設(shè)備上打開(kāi),從而反向控制攻擊者的設(shè)備[7]。溯源蜜罐可利用上述技術(shù)探測(cè)攻擊者的信息甚至反控攻擊者的設(shè)備。
為對(duì)抗蜜罐的主動(dòng)探測(cè),攻擊者會(huì)部署反蜜罐措施來(lái)檢測(cè)并阻止蜜罐的主動(dòng)探測(cè),而當(dāng)前主流的防護(hù)措施都基于Web插件實(shí)現(xiàn)。Web插件是可被裝載到瀏覽器中執(zhí)行的Javascript 程序,該程序具有比一般網(wǎng)頁(yè)腳本更高的權(quán)限,能監(jiān)聽(tīng)并修改任意網(wǎng)頁(yè)的DOM和網(wǎng)絡(luò)請(qǐng)求,攻擊者可通過(guò)編寫(xiě)定制的蜜罐防護(hù)插件同溯源蜜罐進(jìn)行對(duì)抗。主流的蜜罐防護(hù)插件包含了蜜罐指紋靜態(tài)掃描功能以及可疑動(dòng)作動(dòng)態(tài)攔截功能。其中,靜態(tài)掃描功能通過(guò)掃描網(wǎng)頁(yè)DOM 和JS 腳本內(nèi)容并與已有指紋庫(kù)對(duì)比,實(shí)現(xiàn)對(duì)已知蜜罐的檢測(cè);可疑動(dòng)作動(dòng)態(tài)攔截功能通過(guò)Javascript 函數(shù)劫持和網(wǎng)絡(luò)請(qǐng)求事件監(jiān)聽(tīng)實(shí)現(xiàn)對(duì)可疑動(dòng)作行為的攔截。
隨著安全對(duì)抗技術(shù)的不斷發(fā)展,蜜罐工具軟件及其核心功能實(shí)現(xiàn)機(jī)制都在不斷發(fā)生變化。業(yè)務(wù)上云和數(shù)據(jù)規(guī)模的爆炸式增加,導(dǎo)致溯源蜜罐產(chǎn)業(yè)面臨著一個(gè)新型問(wèn)題:在分布式系統(tǒng)或大規(guī)模云環(huán)境中,如何有效部署不同類(lèi)型、不同形態(tài)的溯源蜜罐,從而擴(kuò)大攻擊威脅的監(jiān)測(cè)范圍與能力。在這種背景下,蜜網(wǎng)和蜜場(chǎng)等概念被學(xué)者提出。下面詳細(xì)介紹兩種大規(guī)模溯源蜜罐的技術(shù)特點(diǎn)與主要架構(gòu)形態(tài)。
蜜網(wǎng)技術(shù)是指使用大型網(wǎng)絡(luò)將多個(gè)溯源蜜罐嵌套連接在一起,融合真實(shí)業(yè)務(wù)網(wǎng)站與模擬組網(wǎng)場(chǎng)景,組建而成的大型誘捕網(wǎng)絡(luò),攻擊者難以分辨其網(wǎng)絡(luò)架構(gòu)與真實(shí)業(yè)務(wù)系統(tǒng)的區(qū)別,因此,就能夠隨機(jī)選擇一部分主機(jī)收集攻擊者行為,另一部分則可實(shí)時(shí)更新安全策略,達(dá)到提高網(wǎng)絡(luò)策略交互的目的。一般來(lái)說(shuō),蜜網(wǎng)系統(tǒng)的關(guān)鍵技術(shù)需要滿足大型網(wǎng)絡(luò)主動(dòng)控制、威脅漏洞捕獲和攻擊行為分析三大核心需求,其主要架構(gòu)形態(tài)如圖1所示。蜜網(wǎng)系統(tǒng)可通過(guò)網(wǎng)絡(luò)主動(dòng)控制技術(shù)首先確保融合網(wǎng)絡(luò)里真實(shí)業(yè)務(wù)主機(jī)不受侵害;其次,利用威脅漏洞捕獲技術(shù)檢測(cè)黑客破壞過(guò)程的全部行為數(shù)據(jù);最后,基于攻擊行為分析全面分析蜜網(wǎng)捕獲的多維數(shù)據(jù),從而幫助系統(tǒng)安全人員分析黑客的具體攻擊路徑和技術(shù)利用細(xì)節(jié)。
圖1 蜜網(wǎng)集群體系架構(gòu)示意圖
蜜場(chǎng)技術(shù)是基于物理設(shè)備管理運(yùn)維和網(wǎng)絡(luò)攻擊重定向誘騙效果增強(qiáng)綜合考慮的一種分布式代理擴(kuò)展的蜜罐系統(tǒng)。蜜場(chǎng)的應(yīng)用極大降低了溯源蜜罐系統(tǒng)實(shí)現(xiàn)成本和運(yùn)維的難度,同時(shí)較好地兼顧了通信流量的時(shí)效性,也增強(qiáng)了蜜罐代理網(wǎng)絡(luò)的功能。
如圖2 所示,蜜場(chǎng)體系架構(gòu)主要包括真實(shí)生產(chǎn)服務(wù)器,業(yè)務(wù)網(wǎng)絡(luò)中的重定向器,安全專(zhuān)家維護(hù)的溯源蜜罐系統(tǒng)。具體來(lái)說(shuō),安全專(zhuān)家將全部溯源蜜罐集中部署到一個(gè)受控的偽裝網(wǎng)絡(luò)環(huán)境,同時(shí)對(duì)其進(jìn)行數(shù)據(jù)維護(hù)、管理和分析。在真實(shí)業(yè)務(wù)系統(tǒng)網(wǎng)絡(luò)中,僅僅部署一些體量較輕的重定向服務(wù)器,主動(dòng)把一些未經(jīng)授權(quán)和驗(yàn)證的網(wǎng)絡(luò)流量與會(huì)話重定向到集中的蜜場(chǎng)環(huán)境里,同時(shí),由溯源蜜罐和攻擊源進(jìn)行實(shí)時(shí)交互,達(dá)到更加主動(dòng)、深入地分析分布式網(wǎng)絡(luò)安全威脅的目的。
圖2 蜜場(chǎng)體系架構(gòu)示意圖
針對(duì)低交互蜜罐的識(shí)別技術(shù)已較為成熟,攻擊者通過(guò)嘗試構(gòu)造一些較為復(fù)雜但不常見(jiàn)的操作即可快速識(shí)別當(dāng)前環(huán)境是否為低交互溯源蜜罐。而中、高交互的溯源蜜罐識(shí)別,攻擊者需要在短時(shí)間內(nèi)融合多種技術(shù)才能做出有效分析,中、高交互溯源蜜罐的主要對(duì)抗識(shí)別技術(shù)如下。
1.3.1 根據(jù)協(xié)議返回特征識(shí)別蜜罐
開(kāi)源蜜罐在模擬各個(gè)協(xié)議時(shí),會(huì)在響應(yīng)中帶有一些明顯的特征,可以根據(jù)這些特征來(lái)檢測(cè)蜜罐。以Memcached 協(xié)議為例,在實(shí)現(xiàn)Memcached 協(xié)議時(shí)Dionaea 把很多參數(shù)做了隨機(jī)化,但是一些參數(shù)如version、libevent和rusage_user等都是固定的。因此,可以通過(guò)組合查詢(xún)其固定參數(shù)來(lái)確定當(dāng)前環(huán)境是否為溯源蜜罐。
1.3.2 根據(jù)協(xié)議實(shí)現(xiàn)的代碼缺陷識(shí)別蜜罐
部分開(kāi)源的蜜罐中模擬實(shí)現(xiàn)部分協(xié)議并不完善,因此,可以通過(guò)發(fā)送一些特定的請(qǐng)求包獲得的響應(yīng)來(lái)判斷是否為蜜罐。
1.3.3 根據(jù)Web特征識(shí)別蜜罐
部分開(kāi)源蜜罐提供了Web 服務(wù),這些Web 服務(wù)中常常會(huì)帶有一些明顯的特征,可以根據(jù)這些特征來(lái)檢測(cè)蜜罐,如特定的js 文件、build_hash 或者版本號(hào)等。以HFish 為例,HFish 在默認(rèn)8080 端口實(shí)現(xiàn)了一個(gè)Word-Press登錄頁(yè)面,頁(yè)面中由一個(gè)名為x.js的JavaScript文件用來(lái)記錄嘗試爆破的登錄名密碼,通過(guò)判斷WordPress登錄頁(yè)是否存在x.js文件就可直接判斷是否為蜜罐。
1.3.4 根據(jù)命令信息上下文特征識(shí)別蜜罐
部分開(kāi)源蜜罐存在命令執(zhí)行上下文明顯的特征,通過(guò)構(gòu)造特定命令,分析其返回的上下文信息來(lái)檢測(cè)蜜罐。
1.3.5 根據(jù)模糊測(cè)試技術(shù)識(shí)別蜜罐
模糊測(cè)試通過(guò)構(gòu)造隨機(jī)的數(shù)據(jù)輸入測(cè)試系統(tǒng)查看系統(tǒng)響應(yīng)或者狀態(tài),以此發(fā)現(xiàn)潛在的安全漏洞。這里可以通過(guò)預(yù)定義關(guān)鍵字實(shí)現(xiàn)對(duì)掃描器的干擾。從而對(duì)蜜罐特征進(jìn)行判斷。
在后疫情時(shí)代,基于Web 服務(wù)的移動(dòng)辦公和遠(yuǎn)程接入等應(yīng)用場(chǎng)景已成為新的常態(tài)模式,針對(duì)Web 網(wǎng)絡(luò)的攻擊行為也愈發(fā)猖獗[8]。然而,傳統(tǒng)基于邊界的網(wǎng)絡(luò)安全防護(hù)體系已難以解決新場(chǎng)景下的安全攻擊威脅,攻擊者也提出了大量反蜜罐的檢測(cè)技術(shù)用于實(shí)時(shí)發(fā)現(xiàn)和逃逸蜜罐環(huán)境。為有效應(yīng)對(duì)反蜜罐技術(shù),安全研究人員還提出了“反-反蜜罐”技術(shù)用于迷惑攻擊者。
攻擊者利用靜態(tài)掃描技術(shù)將已知蜜罐的代碼片段搜集至指紋庫(kù),通過(guò)前端代碼匹配實(shí)現(xiàn)對(duì)已知蜜罐的檢測(cè)。因此,在構(gòu)建Web溯源蜜罐防御體系時(shí),應(yīng)當(dāng)使用隨機(jī)算法融合生成具有多種特征的前端代碼,用于混淆指紋庫(kù)匹配,進(jìn)而破壞攻擊者的反蜜罐檢測(cè)過(guò)程。此外,也可利用前端代碼動(dòng)態(tài)加載技術(shù)躲避攻擊者針對(duì)DOM內(nèi)容的靜態(tài)掃描。
逃逸動(dòng)態(tài)攔截?zé)o法使用通用的代碼混淆實(shí)現(xiàn),需要通過(guò)Web 插件指紋識(shí)別技術(shù)來(lái)檢測(cè)反蜜罐Web 插件是否存在,以此變更探測(cè)策略針對(duì)性完成有效的檢測(cè)逃逸。具體而言,可通過(guò)在Web 界面的資源文件設(shè)置特定的訪問(wèn)路徑,前端代碼可根據(jù)路徑的生成方式構(gòu)造資源路徑,嘗試訪問(wèn)插件中對(duì)應(yīng)的資源來(lái)識(shí)別插件指紋。
成功識(shí)別反蜜罐Web 插件指紋后可根據(jù)插件實(shí)現(xiàn)的缺陷,針對(duì)性逃逸動(dòng)態(tài)攔截功能,繼續(xù)主動(dòng)探測(cè),從而達(dá)到溯源攻擊者的目的,即可通過(guò)制造回調(diào)函數(shù)錯(cuò)誤,繞過(guò)網(wǎng)絡(luò)請(qǐng)求攔截。插件在實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求監(jiān)聽(tīng)時(shí)需設(shè)置自身的回調(diào)函數(shù),當(dāng)回調(diào)函數(shù)執(zhí)行出錯(cuò)時(shí),如未設(shè)置錯(cuò)誤處理,請(qǐng)求將直接被放行。因此,蜜罐可通過(guò)構(gòu)造特殊的請(qǐng)求URL,刻意制造數(shù)組下標(biāo)越界或除0錯(cuò)誤,逃逸回調(diào)函數(shù)的檢測(cè)。
Web系統(tǒng)的健壯程度關(guān)系到人民財(cái)產(chǎn)安全和國(guó)家安全,保障其網(wǎng)絡(luò)安全具有重大現(xiàn)實(shí)意義。本文總結(jié)了Web溯源蜜罐的研究現(xiàn)狀和主要技術(shù)特點(diǎn),通過(guò)詳細(xì)分析蜜網(wǎng)和蜜場(chǎng)的技術(shù)特點(diǎn)和網(wǎng)絡(luò)架構(gòu),為安全研究人員搭建滿足業(yè)務(wù)需求的蜜罐網(wǎng)絡(luò)提供了一定的參考和幫助,最后分析了攻擊者對(duì)抗蜜罐技術(shù)的常用手段,并給出了對(duì)抗條件下的WEB溯源蜜罐防御體系構(gòu)建思路。