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