李可,方濱興,崔翔,劉奇旭,嚴(yán)志濤
?
基于Webshell的僵尸網(wǎng)絡(luò)研究
李可1,2,方濱興1,崔翔1,2,劉奇旭2,嚴(yán)志濤2
(1. 北京郵電大學(xué)計(jì)算機(jī)學(xué)院,北京 100876;2. 中國科學(xué)院信息工程研究所,北京 100093)
以Web服務(wù)器為控制目標(biāo)的僵尸網(wǎng)絡(luò)逐漸興起,傳統(tǒng)命令控制信道模型無法準(zhǔn)確預(yù)測該類威脅。對(duì)傳統(tǒng)Webshell控制方式進(jìn)行改進(jìn),提出一種樹狀拓?fù)浣Y(jié)構(gòu)的信道模型。該模型具備普適和隱蔽特性,實(shí)驗(yàn)證明其命令傳遞快速可靠??偨Y(jié)傳統(tǒng)防御手段在對(duì)抗該模型時(shí)的局限性,分析該信道的固有脆弱性,提出可行的防御手段。
僵尸網(wǎng)絡(luò);命令與控制;信道預(yù)測;Webshell
僵尸網(wǎng)絡(luò)(botnet)是指通過入侵網(wǎng)絡(luò)空間內(nèi)若干非合作用戶終端構(gòu)建的、可被攻擊者遠(yuǎn)程控制的通用計(jì)算平臺(tái)[1]。其中,被感染的用戶終端稱之為僵尸主機(jī)(bot);攻擊者指掌握僵尸主機(jī)資源,對(duì)其具有操控權(quán)力的控制者(botmaster);遠(yuǎn)程控制指攻擊者通過命令與控制(C&C, command and control)信道對(duì)僵尸主機(jī)進(jìn)行一對(duì)多的操控。通過僵尸網(wǎng)絡(luò)所掌握的大量計(jì)算及信息資源,攻擊者可發(fā)起分布式拒絕服務(wù)攻擊(DDoS, distributed denial of service)、垃圾郵件(spam)、惡意軟件分發(fā)、點(diǎn)擊欺詐(click fraud)以及比特幣網(wǎng)絡(luò)攻擊等惡意活動(dòng)[2,3],給互聯(lián)網(wǎng)安全構(gòu)成嚴(yán)重威脅。
僵尸網(wǎng)絡(luò)的發(fā)展經(jīng)歷了3個(gè)階段:早期僵尸網(wǎng)絡(luò)以個(gè)人計(jì)算機(jī)PC為感染目標(biāo);隨著智能手機(jī)的普及和通信技術(shù)的發(fā)展,移動(dòng)僵尸網(wǎng)絡(luò)逐漸成為了工業(yè)和學(xué)術(shù)研究的新方向。而如今,在PC和手機(jī)終端防護(hù)日趨完善,僵尸主機(jī)生存面臨瓶頸的背景下,攻擊者將目光投向了互聯(lián)網(wǎng)中大量開放且脆弱的Web服務(wù)器[4],根據(jù)NETCRAFT網(wǎng)站2015年11月發(fā)布的報(bào)告[5]顯示,全球面向Web服務(wù)的主機(jī)數(shù)達(dá)553萬臺(tái), Web 站點(diǎn)數(shù)量超過9億個(gè)。賽門鐵克(Symantec)互聯(lián)網(wǎng)安全威脅研究報(bào)告[6]顯示,2014年全球網(wǎng)站中有76%存在安全漏洞,其中的20%存在高危漏洞。隨著CGI-PHP (CVE-2012-1823)、Structs2 (CVE 2013-2251)、“破殼”(CVE-2014-6271)等重量級(jí)漏洞的頻繁曝出,諸如Wopbot、TSUNAMI、BoSSaBoTv2等[7,8]以Web服務(wù)器為攻擊對(duì)象的僵尸網(wǎng)絡(luò)案例不斷出現(xiàn),網(wǎng)站的服務(wù)及數(shù)據(jù)安全面臨著嚴(yán)峻的挑戰(zhàn)。
在Web服務(wù)器僵尸網(wǎng)絡(luò)的研究方向上,學(xué)術(shù)界尚未出現(xiàn)針對(duì)該應(yīng)用背景的攻防研究。此外,工業(yè)界案例普遍存在感染過程復(fù)雜、依賴管理員/系統(tǒng)權(quán)限、通信信道脆弱的缺陷,難以廣泛實(shí)現(xiàn)和長期生存。這些已有案例未能針對(duì)Web服務(wù)的特性和對(duì)抗環(huán)境進(jìn)行演化,該類型的僵尸網(wǎng)絡(luò)預(yù)測尚存在研究的空間。
基于以上事實(shí),利用Webshell構(gòu)建普適和隱蔽的僵尸網(wǎng)絡(luò)是一種新思路。如表1所示,同PC和移動(dòng)僵尸網(wǎng)絡(luò)相比,Webshell僵尸網(wǎng)絡(luò)在終端防護(hù)、權(quán)限要求和數(shù)據(jù)資源上存在差異,可利用Web應(yīng)用或服務(wù)漏洞自動(dòng)化感染網(wǎng)絡(luò)中大量脆弱目標(biāo)。此外,由于Webshell無法主動(dòng)持續(xù)化運(yùn)行、依靠外界請(qǐng)求執(zhí)行功能代碼,其命令下需采用主動(dòng)推送的方式傳遞(如圖1和圖2所示)。上述因素導(dǎo)致了傳統(tǒng)中心結(jié)構(gòu)和P2P結(jié)構(gòu)僵尸網(wǎng)絡(luò)模型無法應(yīng)用于Webshell管控。然而,已知的Webshell的控制方法在面向大規(guī)模場景下存在單點(diǎn)性能瓶頸,各感染節(jié)點(diǎn)協(xié)同工作能力較差,因此,需要提出一種更加高效和健壯的模型來預(yù)測此類僵尸網(wǎng)絡(luò)威脅。
表1 PC僵尸網(wǎng)絡(luò)、移動(dòng)僵尸網(wǎng)絡(luò)與Webshell僵尸網(wǎng)絡(luò)對(duì)比
基于以上事實(shí),本文提出一種基于樹狀層次化結(jié)構(gòu)的Webshell僵尸網(wǎng)絡(luò)。該僵尸網(wǎng)絡(luò)不依賴固脆弱的命令控制資源,引入主機(jī)信譽(yù)評(píng)估和動(dòng)態(tài)加密機(jī)制,具有良好的健壯性和隱蔽性。仿真實(shí)驗(yàn)證明該僵尸網(wǎng)絡(luò)的命令傳遞高效可靠,可管理大規(guī)模Webshell。同時(shí)針對(duì)該僵尸網(wǎng)絡(luò)特點(diǎn),本文提出了可行的防御方法。
為了應(yīng)對(duì)未來新型僵尸網(wǎng)絡(luò)的威脅,研究人員開展了大量僵尸網(wǎng)絡(luò)信道模型的預(yù)測。其中,非中心結(jié)構(gòu)的僵尸網(wǎng)絡(luò)具有較好的抗毀能力,成為了研究人員關(guān)注的重點(diǎn)。Wang等[9]提出了一種新的混合型P2P僵尸網(wǎng)絡(luò)命令控制信道,該信道采用層次化結(jié)構(gòu),其初始化(bootstrap)過程不依賴硬編碼的節(jié)點(diǎn)名單(peer list)或特定域名資源,消除了單點(diǎn)失效,信道的命令傳輸過程采用非對(duì)稱密鑰加密,難以被防御人員監(jiān)控和劫持,該方法可以實(shí)現(xiàn)負(fù)載均衡,具有較好的抗毀能力,可管理大規(guī)模僵尸網(wǎng)絡(luò)。Starnberger等[10]提出了一種基于Kademlia協(xié)議的僵尸網(wǎng)絡(luò)命令控制信道協(xié)議Overbot,僵尸主機(jī)的請(qǐng)求流量隱藏在合法P2P應(yīng)用中,難以被追蹤和發(fā)現(xiàn),極大提升了僵尸網(wǎng)絡(luò)整體健壯性和隱蔽性。Hund等[11]提出了一種難以被追蹤和關(guān)閉的P2P僵尸網(wǎng)絡(luò)Rambot,該模型采用基于信譽(yù)評(píng)分的僵尸主機(jī)驗(yàn)證機(jī)制(credit-point system)以及工作量證明機(jī)制(proof-of-work)判斷通信節(jié)點(diǎn)身份的真實(shí)性,能有效對(duì)抗節(jié)點(diǎn)名單污染以及“女巫”(sybil)攻擊[12],具有較好的主機(jī)生存性。
雖然P2P僵尸網(wǎng)絡(luò)具有良好的健壯性,然而其最大的局限性在于難以管理,因此,一些研究人員嘗試對(duì)中心結(jié)構(gòu)僵尸網(wǎng)絡(luò)進(jìn)行改進(jìn),通常采用第三方協(xié)議和應(yīng)用充當(dāng)通信載體和媒介,以此增強(qiáng)僵尸網(wǎng)絡(luò)的隱蔽性和健壯性。Singh等[13]評(píng)估了利用E-mail實(shí)現(xiàn)僵尸網(wǎng)絡(luò)通信的可行性。Xu等[14]研究了利用DNS來構(gòu)建隱蔽的命令控制信道的可行性。Xiang等[15]利用Web 2.0服務(wù)提出了一種基于URL Flux技術(shù)的移動(dòng)僵尸網(wǎng)絡(luò),該方法具有良好的隱蔽性和韌性,運(yùn)用在智能手機(jī)場景中能滿足低能耗和低資費(fèi)需求。Lee等[16]提出了一種Alias-Flux協(xié)議的信道模型,該模型通過惡意利用縮址服務(wù)和搜索引擎,實(shí)現(xiàn)了隱蔽的命令控制活動(dòng)。
不同于上述已有工作,本文在對(duì)傳統(tǒng)Webshell改進(jìn)的基礎(chǔ)上,提出一種針對(duì)Web服務(wù)器的輕量級(jí)僵尸網(wǎng)絡(luò)Webot,該僵尸網(wǎng)絡(luò)基于HTTP協(xié)議,不依賴系統(tǒng)權(quán)限和第三方應(yīng)用,具有普適特性;使用主動(dòng)推送模式下發(fā)命令,不依賴脆弱信道資源,較傳統(tǒng)信道模型更適用于Web服務(wù)器管控場景。
3.1 Webshell管控模式改進(jìn)
傳統(tǒng)Webshell側(cè)重于單點(diǎn)控制,攻擊者往往開發(fā)私有腳本工具對(duì)Webshell進(jìn)行單點(diǎn)批量化管理。然而,該模式本質(zhì)上是簡單且脆弱的,在面向大規(guī)模管控時(shí)并發(fā)能力有限,命令下發(fā)耗時(shí)較長,難以滿足實(shí)時(shí)協(xié)同任務(wù)的需求。為了滿足大規(guī)模場景下高效的命令傳遞和靈活管控,本文對(duì)傳統(tǒng)Webshell的訪問連接及代碼結(jié)構(gòu)進(jìn)行了如下改進(jìn)。
1) 在訪問連接方面,以PHP格式的Webshell為例,命令傳遞過程采用無連接思想,即控制者將命令發(fā)送給當(dāng)前僵尸主機(jī)后,不等待其執(zhí)行返回繼續(xù)執(zhí)行后續(xù)命令下發(fā),( )函數(shù)能保證連接斷開后僵尸程序仍可繼續(xù)正確執(zhí)行,該方法極大縮短空閑等待時(shí)間,允許攻擊者實(shí)現(xiàn)命令快速傳遞。
2) 在代碼結(jié)構(gòu)方面,傳統(tǒng)的Webshell主要分為簡單Webshell和功能Webshell 2種形式。
定義1 簡單Webshell:俗稱“小馬”,指僅提供基本命令執(zhí)行功能的Webshell,代碼結(jié)構(gòu)簡單。
定義2 功能Webshell:俗稱“大馬”,指包含完整木馬功能的Webshell,代碼結(jié)構(gòu)復(fù)雜,功能多樣。
簡單Webshell形如 ,不包含復(fù)雜功能代碼,命令執(zhí)行時(shí)需動(dòng)態(tài)上傳完整執(zhí)行代碼,體積較小,常用于上傳功能Webshell;而功能Webshell通常將所有的功能代碼整合到Webshell文件中,命令執(zhí)行時(shí)無需上傳執(zhí)行代碼,但存在文件體積較大、易遭遇上傳攔截和靜態(tài)查殺的弊端。本文采用的Webshell選取了二者的平衡點(diǎn),提供基本命令運(yùn)行及協(xié)議實(shí)現(xiàn)所需的邏輯功能,不包含具體功能(如DDoS、掃描等)代碼,使僵尸程序在支持復(fù)雜控制邏輯、具備良好功能擴(kuò)展性的同時(shí),仍具有較高的滲透成功率和較好的終端生存性。
3.2 信道拓?fù)浣Y(jié)構(gòu)
為了消除命令下發(fā)單點(diǎn)瓶頸,實(shí)現(xiàn)快速、健壯、隱蔽的信息傳遞,本文設(shè)計(jì)實(shí)現(xiàn)了一種層次化樹狀拓?fù)浣Y(jié)構(gòu)的信道模型,該模型自頂向下并發(fā)傳遞命令,其中,Webshell統(tǒng)一稱為僵尸主機(jī),進(jìn)一步按職能又可劃分為超級(jí)僵尸主機(jī)和普通僵尸主機(jī),兩者定義如下。
定義3 超級(jí)僵尸主機(jī):通過信譽(yù)評(píng)估方法篩選出穩(wěn)定可信的僵尸主機(jī),該類主機(jī)在命令的傳遞過程中承擔(dān)命令轉(zhuǎn)發(fā)職能,既充當(dāng)服務(wù)端又充當(dāng)客戶端。
定義4 普通僵尸主機(jī):不可信或不穩(wěn)定的僵尸主機(jī),在命令傳遞過程中只等待接收攻擊者指令,不承擔(dān)轉(zhuǎn)發(fā)功能,只充當(dāng)客戶端。
如圖3所示,控制者通過跳板網(wǎng)絡(luò)[2]將命令傳遞給超級(jí)僵尸主機(jī),超級(jí)僵尸主機(jī)將接收到的命令消息彼此獨(dú)立、并發(fā)地轉(zhuǎn)發(fā)給后續(xù)子節(jié)點(diǎn),逐層傳遞,直到命令傳達(dá)到所有葉子節(jié)點(diǎn)(即普通僵尸主機(jī))為止。
3.3 僵尸主機(jī)信譽(yù)評(píng)估
在Webot設(shè)計(jì)中,為消除不穩(wěn)定或不可信主機(jī)(如Sybil節(jié)點(diǎn))對(duì)僵尸網(wǎng)絡(luò)命令控制活動(dòng)的影響,本文采用信譽(yù)評(píng)估(reputation evaluation)的方法來對(duì)僵尸主機(jī)進(jìn)行篩選,選取可信可靠的主機(jī)充當(dāng)超級(jí)僵尸主機(jī),而余下的則為普通僵尸主機(jī),信譽(yù)評(píng)估標(biāo)準(zhǔn)包括如下內(nèi)容。
1) 在線時(shí)間??刂普咄ㄟ^Call Home命令對(duì)僵尸主機(jī)的在線情況進(jìn)行統(tǒng)計(jì),在線時(shí)間越長,認(rèn)為該主機(jī)更穩(wěn)定可靠。
2) 網(wǎng)站排名。假定防御人員部署的Sybil節(jié)點(diǎn)通常不具備高權(quán)重和高排名屬性,基于白名單思想,控制者可借助Alexa排名識(shí)別部分高權(quán)重的主機(jī),該類僵尸主機(jī)通常被認(rèn)為是可信的。
3) 工作量證明。基于Sybil節(jié)點(diǎn)不會(huì)對(duì)真實(shí)互聯(lián)網(wǎng)發(fā)動(dòng)大量惡意攻擊的假設(shè),執(zhí)行大量惡意攻擊的僵尸主機(jī)將擁有更多的工作量證明,其可信度越高,控制者通過僵尸主機(jī)對(duì)自主建立的感知節(jié)點(diǎn)進(jìn)行低速攻擊(如DDoS)來評(píng)估工作量。
綜合上述3個(gè)因素,單臺(tái)僵尸主機(jī)的信譽(yù)值V的判定如下
其中,w、w、w分別代表上述各對(duì)應(yīng)因素的判斷權(quán)重,當(dāng)V高于預(yù)設(shè)閾值時(shí)認(rèn)為該僵尸主機(jī)可充當(dāng)超級(jí)僵尸主機(jī),V越高,所在的層數(shù)越??;反之,V低于閾值的僵尸主機(jī)被判定為普通僵尸主機(jī)。
3.4 僵尸主機(jī)狀態(tài)轉(zhuǎn)移設(shè)計(jì)
每個(gè)感染主機(jī)均處于等待或活躍2類狀態(tài):當(dāng)空閑時(shí),主機(jī)處于等待狀態(tài),等候外部來自控制者或其父節(jié)點(diǎn)的命令;相應(yīng)地,主機(jī)從接收命令開始到執(zhí)行代碼完畢,整個(gè)過程稱為活躍狀態(tài),具體又可分為接受命令、解析命令、攻擊、轉(zhuǎn)發(fā)、更新5個(gè)子狀態(tài)。
如圖4所示,默認(rèn)超級(jí)僵尸主機(jī)處于等待狀態(tài),一旦獲得外部命令后開始執(zhí)行解密和分析操作。認(rèn)證無誤后,超級(jí)僵尸主機(jī)開始執(zhí)行命令,包括轉(zhuǎn)發(fā)、攻擊和更新3種操作狀態(tài):轉(zhuǎn)發(fā)操作指超級(jí)僵尸主機(jī)根據(jù)解析的命令內(nèi)容,將指定的命令轉(zhuǎn)發(fā)給選定的子節(jié)點(diǎn);攻擊指執(zhí)行既定的攻擊功能(在第4.5節(jié)具體介紹);更新操作指下載最新功能插件或更新自身文件。命令執(zhí)行完畢后,主機(jī)回歸等待狀態(tài),等待接受下一次命令。
如圖5所示,普通僵尸主機(jī)與超級(jí)僵尸主機(jī)狀態(tài)轉(zhuǎn)移過程大致相同,不同之處在于,普通僵尸主機(jī)只具備攻擊和更新2種操作狀態(tài),不具備轉(zhuǎn)發(fā)狀態(tài)。
3.5 命令控制協(xié)議實(shí)現(xiàn)
為隱藏C&C服務(wù)器的真實(shí)身份、實(shí)現(xiàn)匿名的信息傳遞,Webot基于hidden service服務(wù),將C&C服務(wù)器架設(shè)在匿名網(wǎng)絡(luò)Tor中[17],防御人員難以定位其真實(shí)IP。此外,基于可信的云主機(jī)或VPS資源,利用第三方代理軟件(如Tor2Web),Webot在Tor網(wǎng)絡(luò)的邊界搭建代理節(jié)點(diǎn)(如圖6所示),使公網(wǎng)中的僵尸主機(jī)無需安裝額外組件即可訪問Tor網(wǎng)絡(luò)中的C&C服務(wù)器。
在協(xié)議實(shí)現(xiàn)過程中,為了保護(hù)通信安全,防止信道劫持,Webot結(jié)合對(duì)稱加密RC4和非對(duì)稱加密RSA 2種方式對(duì)命令來源進(jìn)行鑒別。同時(shí)采用動(dòng)態(tài)加密思想,即單個(gè)主機(jī)單次通信密鑰動(dòng)態(tài)變換機(jī)制,對(duì)僵尸主機(jī)請(qǐng)求C&C服務(wù)器過程進(jìn)行加密認(rèn)證。表2和表3分別描述了協(xié)議實(shí)現(xiàn)中有關(guān)參數(shù)及各實(shí)體所掌握資源情況。
表2 相關(guān)參數(shù)說明
表3 各實(shí)體所掌握資源
如圖6所示,Webot命令控制協(xié)議實(shí)現(xiàn)步驟如下。
1) 控制者事先生成∑集合,利用對(duì)通知命令C加密得到(C),然后連同待下發(fā)的功能命令C一同部署在C&C服務(wù)器中。
2) 控制者通過跳板網(wǎng)絡(luò)將(C)發(fā)送給初始的超級(jí)僵尸主機(jī),(C)=(Sensor,,),其中,Sensor為代理節(jié)點(diǎn)的地址;表示當(dāng)前僵尸主機(jī)當(dāng)次通信所使用的臨時(shí)密鑰,簡稱一次性會(huì)話密鑰;標(biāo)識(shí)該命令的有效時(shí)間。
3) 超級(jí)僵尸主機(jī)接收到(C)后利用硬編碼的進(jìn)行解密校驗(yàn),校驗(yàn)無誤后利用對(duì)自身硬編碼的ID進(jìn)行加密,將’(ID)發(fā)送給代理節(jié)點(diǎn),代理節(jié)點(diǎn)將請(qǐng)求轉(zhuǎn)發(fā)給位于Tor網(wǎng)絡(luò)中的C&C服務(wù)器。
4) C&C服務(wù)器在接收到請(qǐng)求后,對(duì)ID身份及的有效性進(jìn)行校驗(yàn),校驗(yàn)通過則返回’(C, C)。
5) 超級(jí)僵尸主機(jī)對(duì)返回的命令’(C, C)進(jìn)行解密,其中,C=<U,(C)=<U,(Sensor,,)>,超級(jí)僵尸主機(jī)得到U后,向其中目標(biāo)主機(jī)轉(zhuǎn)發(fā)對(duì)應(yīng)的通知指令(C),轉(zhuǎn)發(fā)完畢執(zhí)行功能指令C。若后續(xù)子節(jié)點(diǎn)為超級(jí)僵尸主機(jī),則執(zhí)行上述類似操作;若為普通僵尸主機(jī),則只接受并執(zhí)行C,不進(jìn)行轉(zhuǎn)發(fā)。
上述通信流程保證了只有合法僵尸主機(jī)才能知曉控制者指令,他人無法通過流量監(jiān)聽獲取通信內(nèi)容,保證了通信的機(jī)密性。采用加的認(rèn)證方法,能對(duì)請(qǐng)求主機(jī)身份進(jìn)行有效鑒別,每個(gè)只允許當(dāng)次僵尸主機(jī)對(duì)C內(nèi)容請(qǐng)求一次,可有效防止惡意重復(fù)請(qǐng)求。
為檢驗(yàn)Webot模型命令傳遞率及健壯性,本文在仿真環(huán)境中對(duì)大規(guī)模管控場景進(jìn)行模擬,評(píng)估其命令下發(fā)速率及傳達(dá)率;將Webot與隨機(jī)網(wǎng)絡(luò)和小世界模型[18]進(jìn)行抗毀能力對(duì)比;同時(shí),對(duì)Webot可實(shí)現(xiàn)的功能進(jìn)行簡要評(píng)估。
4.1 實(shí)驗(yàn)環(huán)境
本文在本地Openstack虛擬環(huán)境下模擬了3 000臺(tái)僵尸主機(jī),其Web容器采用Apache 2.4.2,Webshell采用PHP語言構(gòu)建,代理節(jié)點(diǎn)基于Nginx 1.9.4搭建。為了避免實(shí)驗(yàn)中產(chǎn)生的惡意流量危害真實(shí)互聯(lián)網(wǎng),本文將C&C服務(wù)器設(shè)在本地實(shí)驗(yàn)環(huán)境中,整個(gè)通信過程均在本地隔離的環(huán)境中完成。
4.2 效率評(píng)估
基于單線程模式及相同的網(wǎng)絡(luò)參數(shù)設(shè)置,本文對(duì)傳統(tǒng)Webshell下發(fā)模式(下文簡稱傳統(tǒng)模式)和Webot協(xié)議進(jìn)行命令下發(fā)比較實(shí)驗(yàn):在傳統(tǒng)模式實(shí)驗(yàn)中,以單點(diǎn)逐一下發(fā)的方式將攻擊者指令直接傳遞給所有僵尸主機(jī),信息傳遞超時(shí)時(shí)間設(shè)置為3 s;在Webot信道模擬實(shí)驗(yàn)中,相比于前者,該傳遞過程增加了C&C服務(wù)器請(qǐng)求環(huán)節(jié),考慮到在實(shí)際下載和轉(zhuǎn)發(fā)過程會(huì)產(chǎn)生較為明顯的耗時(shí),根據(jù)預(yù)先真實(shí)網(wǎng)絡(luò)中測試結(jié)果,在本地仿真實(shí)驗(yàn)中設(shè)置5 s休眠來模擬真實(shí)網(wǎng)絡(luò)延遲。每一個(gè)超級(jí)僵尸主機(jī)在接收到命令后將指定命令轉(zhuǎn)發(fā)給后繼的個(gè)僵尸主機(jī),源主機(jī)在發(fā)送數(shù)據(jù)分組后不等待當(dāng)前目標(biāo)主機(jī)的反饋和代碼執(zhí)行,直接執(zhí)行下一個(gè)目標(biāo)主機(jī)的轉(zhuǎn)發(fā)。C&C服務(wù)器可根據(jù)僵尸主機(jī)請(qǐng)求實(shí)時(shí)掌握全網(wǎng)命令傳遞情況。
圖7顯示了下發(fā)成功數(shù)隨時(shí)間變化的情況。假設(shè)每個(gè)超級(jí)僵尸主機(jī)轉(zhuǎn)發(fā)給5個(gè)子節(jié)點(diǎn)(= 5)。在最初下發(fā)的36 s中,傳統(tǒng)模式下發(fā)速率比Webot的速度快,這是由于初始階段Webot的并發(fā)數(shù)量少、請(qǐng)求延遲高造成的。在36 s之后,隨著并發(fā)的超級(jí)僵尸主機(jī)數(shù)量的不斷增多,命令傳達(dá)速度不斷提高,發(fā)送成功數(shù)呈指數(shù)級(jí)上升,超過了線型增長的傳統(tǒng)模式,且隨時(shí)間的推移,兩者數(shù)量的差距逐漸拉大。在整個(gè)Webot下發(fā)實(shí)驗(yàn)中,除去少量僵尸主機(jī)因網(wǎng)絡(luò)阻塞原因造成的接收失敗,共計(jì)2 915臺(tái)僵尸主機(jī)在116 s內(nèi)完成了命令傳遞;相比之下,傳統(tǒng)模式在同樣時(shí)間內(nèi)只下發(fā)了323臺(tái)僵尸主機(jī)??梢奧ebot的管控效率較傳統(tǒng)模式具有巨大優(yōu)勢。
4.3 可靠性評(píng)估
當(dāng)Webot擁有高速下發(fā)速率的同時(shí),它的傳遞可靠性也同樣保持較高的水平,本文用命令傳達(dá)率來評(píng)估Webot協(xié)議自身傳遞的可靠性。假設(shè)每個(gè)超級(jí)僵尸主機(jī)轉(zhuǎn)發(fā)成功率為0.9,這意味著每一個(gè)后續(xù)節(jié)點(diǎn)有0.9的概率能正確接收到命令。參數(shù)代表轉(zhuǎn)發(fā)路徑的深度。All代表僵尸主機(jī)總數(shù),Received代表成功接收到指令的數(shù),Webot的命令傳達(dá)率為
如圖8所示,轉(zhuǎn)發(fā)數(shù)分別設(shè)為10、20、50,在同等條件下進(jìn)行模擬實(shí)驗(yàn),同等規(guī)模下值越大,層數(shù)越小,傳達(dá)率越高。選取為50,模擬100 000臺(tái)的大規(guī)模管控場景,當(dāng)Webot采用不重傳策略時(shí),其全網(wǎng)一次性傳達(dá)率為73.11%;通過感知全網(wǎng)下發(fā)情況,對(duì)未到達(dá)節(jié)點(diǎn)進(jìn)行2次下發(fā),其全網(wǎng)信息傳達(dá)率可達(dá)93.10%,累計(jì)下發(fā)耗時(shí)約750 s。
圖8 Webot命令傳達(dá)率評(píng)估
4.4 抗毀能力評(píng)估
本文采用Li等[18]提出的評(píng)估方法,隨機(jī)去除一定數(shù)量主機(jī)后觀察剩余主機(jī)的命令可達(dá)情況,即最大剩余可達(dá)率(如式(3)所示)。對(duì)比隨機(jī)網(wǎng)絡(luò)模型、小世界網(wǎng)絡(luò)模型以及Webot模型三者的抗毀能力。
實(shí)驗(yàn)選取的隨機(jī)網(wǎng)絡(luò)模型其平均鄰居節(jié)點(diǎn)數(shù)為2,小世界網(wǎng)絡(luò)模型的平均鄰居節(jié)點(diǎn)數(shù)設(shè)為4,在同等10 000臺(tái)規(guī)模下進(jìn)行測試。如圖9所示,Webot的抗毀能力明顯優(yōu)于隨機(jī)網(wǎng)絡(luò)模型。當(dāng)移除數(shù)小于約2 500臺(tái)時(shí),Webot的最大剩余可達(dá)率略低于小世界網(wǎng)絡(luò)模型。隨著移除數(shù)的進(jìn)一步增加,小世界網(wǎng)絡(luò)模型的連通性能下降明顯,而Webot的下降較為平穩(wěn),仍能保持一定的可達(dá)率。除此之外,Webot信道具有易恢復(fù)和可重構(gòu)特性,因此,認(rèn)為該模型具有較好的健壯性。
圖9 3種模型的最大剩余可達(dá)率對(duì)比
4.5 功能評(píng)估
Webot信道模型兼容傳統(tǒng)Webshell的管控功能,具備傳統(tǒng)文件上傳、數(shù)據(jù)庫管理等基本功能。此外,控制者可利用Webot實(shí)現(xiàn)其他復(fù)雜的惡意攻擊。
1) DDoS。利用Webot高效和協(xié)同特性,控制者可以在短時(shí)間內(nèi)集結(jié)全網(wǎng)僵尸主機(jī)實(shí)施持續(xù)化的DDoS攻擊,由于Web服務(wù)器資源往往具有高帶寬性能,通常認(rèn)為該類僵尸網(wǎng)絡(luò)較傳統(tǒng)PC僵尸網(wǎng)絡(luò)破壞性更強(qiáng)。本文通過網(wǎng)絡(luò)靶場中60臺(tái)志愿者主機(jī)對(duì)Webot的DDoS能力進(jìn)行實(shí)際測試,如圖10所示,DDoS最高峰值可達(dá)6 755 kbit/s,同等條件下,1×105臺(tái)規(guī)模DDoS峰值流量理論上可達(dá)10.73 Gbit/s。
2) 網(wǎng)絡(luò)空間探測。利用分布的IP和計(jì)算資源,結(jié)合主控端的統(tǒng)一調(diào)度,Webot可用于全球網(wǎng)絡(luò)空間設(shè)備探測,有效解決了探測過程中IP遭遇封鎖的問題。
3) 釣魚攻擊。Webot掌握了豐富的合法域名資源,通過篡改頁面的方式,攻擊者可實(shí)施持續(xù)性的釣魚攻擊。
4) 黑帽搜索引擎優(yōu)化。根據(jù)Wang等[19]的研究顯示,小規(guī)模、低流失率的黑帽搜索引擎優(yōu)化(Black Hat search engine optimization)僵尸網(wǎng)絡(luò)可對(duì)谷歌搜索結(jié)果進(jìn)行毒化,實(shí)現(xiàn)惡意內(nèi)容推廣,為攻擊者牟取巨額利益。Webot同樣可以實(shí)現(xiàn)該功能。
5.1 傳統(tǒng)防御方法缺陷
傳統(tǒng)僵尸網(wǎng)絡(luò)的防御方法包括Sybil 攻擊、Sinkhole攻擊[20]、劫持以及爬取攻擊等,通過這些方法防御人員可以對(duì)僵尸網(wǎng)絡(luò)進(jìn)行測量、干擾和關(guān)閉。本文提出的Webot可以有效抵御這些常規(guī)方法。
Sybil攻擊。Sybil攻擊對(duì)于Webot的效果十分有限。一方面,在面向大規(guī)模僵尸網(wǎng)絡(luò)的對(duì)抗中,由于每個(gè)節(jié)點(diǎn)所知曉的僵尸主機(jī)數(shù)有限,防御人員依靠少量Sybil節(jié)點(diǎn)很難測量整體的活躍數(shù)和規(guī)模數(shù);另一方面,即使Sybil節(jié)點(diǎn)拒絕將消息轉(zhuǎn)發(fā)給后續(xù)節(jié)點(diǎn),企圖切斷命令傳遞通道,控制者仍可迅速發(fā)現(xiàn)該異常,對(duì)未接收消息的主機(jī)實(shí)行二次下發(fā),同時(shí)將Sybil節(jié)點(diǎn)從超級(jí)僵尸主機(jī)列表中剔除。
Sinkhole攻擊。通過前期滲透植入,控制者掌握了全網(wǎng)僵尸主機(jī)信息,通過主動(dòng)推送方式將C&C資源告知全網(wǎng)僵尸主機(jī)。該類資源可靈活更替且實(shí)現(xiàn)成本小,防御人員難以提前預(yù)測并控制這些資源。此外,Tor網(wǎng)絡(luò)能有效保護(hù)onion域名解析過程的安全。因此,Sinkhole手段對(duì)于Webot而言幾乎無效。
劫持。同其他僵尸網(wǎng)絡(luò)類似,Webot采用非對(duì)稱加密算法和時(shí)間窗機(jī)制來校驗(yàn)命令的有效性,防止命令欺騙和重放攻擊,理論上防御人員無法劫持該僵尸網(wǎng)絡(luò)。
爬取攻擊。安全人員試圖通過爬取的方式發(fā)掘僵尸網(wǎng)絡(luò)的拓?fù)湫畔ⅰT赪ebot模型中,他們可能利用捕獲的僵尸主機(jī)重復(fù)發(fā)送請(qǐng)求來獲取大量主機(jī)信息。然而,在僵尸主機(jī)訪問C&C服務(wù)器過程中,服務(wù)器的驗(yàn)證機(jī)制首先會(huì)檢查bot和的有效性。防御人員通過逆向分析事先獲取了合法的bot,如果缺少合法將無法通過驗(yàn)證。即使利用對(duì)通信內(nèi)容破解,掌握了一次性會(huì)話密鑰,也只允許獲得一次主機(jī)信息,再次提交將會(huì)被拒絕。除非能夠繞過信譽(yù)評(píng)估機(jī)制并控制大量超級(jí)僵尸主機(jī)資源,否則,該種攻擊效果是有限的。
5.2 Webot防御手段
針對(duì)Webot的實(shí)現(xiàn)機(jī)理,本文介紹4種有效的防御手段。首先,匿名網(wǎng)絡(luò)的自身缺陷可導(dǎo)致僵尸網(wǎng)絡(luò)被測量和去匿名化;其次,防御人員可通過滲透手段對(duì)僵尸網(wǎng)絡(luò)惡意行為進(jìn)行實(shí)時(shí)監(jiān)控;第三,可對(duì)通信過程中的代理節(jié)點(diǎn)實(shí)施分布式拒絕服務(wù)攻擊;最后,防御人員需要建立一個(gè)國際性的合作渠道來識(shí)別、追蹤和防御Webot。
利用匿名網(wǎng)絡(luò)漏洞。如果Webot所使用的匿名網(wǎng)絡(luò)存在可被利用的漏洞,這將影響Webot的整體健壯性和匿名性。以Tor網(wǎng)絡(luò)為例,安全防御人員可通過控制hidden service的guard node來進(jìn)行流量的聚合分析[21],揭示C&C服務(wù)器的真實(shí)IP。
滲透監(jiān)控。由于僵尸主機(jī)均需要訪問C&C服務(wù)器來獲取完整代碼和指令,對(duì)于Webot而言,安全人員控制少量僵尸主機(jī)實(shí)施隱蔽的滲透攻擊是無法避免的。該方法可持續(xù)追蹤分析僵尸網(wǎng)絡(luò)的活動(dòng)。
代理節(jié)點(diǎn)拒絕服務(wù)攻擊。在C&C通信過程中,防御人員對(duì)代理節(jié)點(diǎn)進(jìn)行拒絕服務(wù)攻擊,可干擾僵尸網(wǎng)絡(luò)的命令傳遞,延長全網(wǎng)命令傳達(dá)時(shí)間,降低其協(xié)同攻擊的效果。
構(gòu)建國際合作機(jī)制。Webot的實(shí)現(xiàn)需要匿名網(wǎng)絡(luò)和虛擬主機(jī)提供服務(wù),防御人員應(yīng)該努力提高公共可用服務(wù)的安全性,避免這些服務(wù)被惡意利用。同時(shí)應(yīng)該建立一個(gè)包含安全研究機(jī)構(gòu)、CERT以及ISP在內(nèi)的協(xié)作渠道來共同打擊此類僵尸網(wǎng)絡(luò)犯罪。
本文設(shè)計(jì)了一種基于Webshell的樹狀拓?fù)浣Y(jié)構(gòu)僵尸網(wǎng)絡(luò)模型并實(shí)現(xiàn)了其原型系統(tǒng)Webot。該僵尸網(wǎng)絡(luò)可面向大量脆弱Web服務(wù)和應(yīng)用構(gòu)建,具有良好普適性?;谀涿W(wǎng)絡(luò)保護(hù),結(jié)合主機(jī)信譽(yù)評(píng)估機(jī)制,防御人員難以追蹤;命令傳遞采用主動(dòng)下發(fā),不依賴固定且脆弱集合點(diǎn),信道難以被關(guān)閉。本地仿真實(shí)驗(yàn)證明了Webot模型具有良好的效率及健壯性,代表了未來僵尸網(wǎng)絡(luò)的發(fā)展趨勢,預(yù)計(jì)類似的實(shí)際案例將會(huì)在不久的將來出現(xiàn)。在下一步工作中,將針對(duì)該類型的僵尸網(wǎng)絡(luò)進(jìn)行深入研究,尋找快速有效的檢測方法。
[1] CUI X, FANG B X, et al. Botnet triple-channel model: towards resilient and efficient bidirectional communication botnets[M]//Security and Privacy in Communication Networks. Springer International Publishing, 2013.
[2] SHAHID K, et al. A taxonomy of botnet behavior, detection, and defense[J]. Communications Surveys & Tutorials, IEEE 2015, 16(2): 898-924.
[3] HEILMAN E, KENDLER A, ZOHAR A, et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]//24th USENIX Security Symposium (USENIX Security 15). c2015: 129-144.
[4] CANALI D, BALZAROTTI D. Behind the scenes of online attacks: an analysis of exploitation behaviors on the Web[C]//20th Annual Network & Distributed System Security Symposium (NDSS 2013). c2013.
[5] Netcraft. Web server survey[EB/OL]. http://news. netcraft.com/ archives/2015/11/16/november-2015-web-server-survey.html.
[6] Symantec. 2015 Internet security threat report [EB/OL]. https:// www.symantec.com/security_response/publications/threatreport. jsp.
[7] F-Secure. Backdoor: Osx/tsunami[EB/OL]. https://www. f-secure. com/v-descs/backdoor_osx_tsunami_a.shtml.
[8] New bot malware (BoSSaBoTv2) attacking Web servers discovered[EB/OL]. https://www.trustwave.com/ Resources/SpiderLabs-Blog/- Honeypot-Alert--New-Bot-Malware-(BoSSaBoTv2)-Attacking-Web- Servers-Discovered/.
[9] WANG P, SPARKS S, ZOU C C. An advanced hybrid peer-to-peer botnet[J]. IEEE Transactions on Dependable and Secure Computing, 2010, 7(2): 113-127.
[10] STARNBERGER G, KRUEGEL C, KIRDA E. Overbot: a botnet protocol based on Kademlia[C]//The 4th International Conference on Security and Privacy in Communication Networks. ACM, c2008.
[11] HUND R, HAMANN M, HOLZ T. Towards next-generation botnets[C]// European Conference on Computer Network Defense. IEEE, c2008: 33-40.
[12] DOUCEUR J R. The sybil attackpeer-to-peer systems[M]//Springer Berlin Heidelberg, 2002: 251-260.
[13] SINGH K, SRIVASTAVA A, GIFFIN J, et al. Evaluating email’s feasibility for botnet command and control[C]// IEEE International Conference on Dependable Systems and Networks With FTCS and DCC, IEEE, 2008: 376-385.
[14] XU K, BUTLER P, SAHA S, et al. DNS for massive-scale command and control[J]. IEEE Transactions on Dependable and Secure Computing, 2013, 10(3): 143-153.
[15] CUI X, FNAG B X, et al. Andbot: towards advanced mobile botnets[C]//Proceedings of the 4th USENIX Conference on Large-Scale Exploits and Emergent Threats. USENIX Association, c2011: 11-11.
[16] LEE S, KIM J. Fluxing botnet command and control channels with URL shortening services[J]. Computer Communications, 2013, 36(3): 320-332.
[17] SANATINIA A, NOUBIR G. OnionBots: subverting privacy infrastructure for cyber attacks[C]//Dependable Systems and Networks (DSN), c2015: 69-80.
[18] LI J, EHRENKRANZ T, KUENNING G, et al. Simulation and analysis on the resiliency and efficiency of malnets[C]//Principles of Advanced and Distributed Simulation. IEEE, c2005: 262-269.
[19] WANG D Y, SAVAGE S, VOELKER G M. Juice: a longitudinal study of an SEO botnet[C]//The NDSS Symposium. c2013.
[20] STONE-GROSS B, COVA M, CAVALLARO L, et al. Your botnet is my botnet: analysis of a botnet takeover[C]//The 16th ACM Conference on Computer and Communications Security. ACM, c2009: 635-647.
[21] BIRYUKOV A, PUSTOGAROV I, WEINMANN R. Trawling for tor hidden services: detection, measurement, deanonymization[C]// 2013 IEEE Symposium on Security and Privacy (SP). c2013: 80-94.
Research on Webshell-based botnet
LI Ke1,2, FANG Bin-xing1, CUI Xiang1,2, LIU Qi-xu2, YAN Zhi-tao2
(1. School of Comput er, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2. Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093, China)
With the rapid rising of Web server-based botnets, traditional channel models were unable to predict threats from them. Based on improving traditional Webshell control method, a command and control channel model based on tree structure was proposed. The model was widely applicable and stealthy and the simulation experimental results show it can achieve rapid and reliable commands delivery. After summarizing the limitations of current defenses against the proposed model, the model’s inherent vulnerabilities is analyzed and feasible defense strategies are put forward.
botnet, command and control, channel prediction, Webshell
TP309.5
A
10.11959/j.issn.1000-436x.2016118
2015-12-15;
2016-03-08
國家自然科學(xué)基金資助項(xiàng)目(No.61303239);國家高技術(shù)研究發(fā)展計(jì)劃(“863”計(jì)劃)基金資助項(xiàng)目(No.2012AA012902)
The National Natural Science Foundation of China (No.61303239), The National High Technology Research and Development Program (863 Program)(No.2012AA012902)
李可(1988-),男,湖南益陽人,北京郵電大學(xué)博士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。
方濱興(1960-),男,江西萬年人,中國工程院院士,北京郵電大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)橛?jì)算機(jī)體系結(jié)構(gòu)、計(jì)算機(jī)網(wǎng)絡(luò)與信息安全。
崔翔(1978-),男,黑龍江訥河人,博士,中國科學(xué)院信息工程研究所研究員,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。
劉奇旭(1984-),男,江蘇徐州人,博士,中國科學(xué)院信息工程研究所副研究員,主要研究方向?yàn)榫W(wǎng)絡(luò)空間安全評(píng)測。
嚴(yán)志濤(1991-),男,浙江臨海人,中國科學(xué)院信息工程研究所碩士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全。