李大偉
(南京工程學(xué)院 計(jì)算機(jī)工程學(xué)院,南京 211167)
作為當(dāng)前網(wǎng)絡(luò)空間中廣泛存在的一種安全威脅,僵尸網(wǎng)絡(luò)已成為信息安全領(lǐng)域研究者關(guān)注的熱點(diǎn)。在僵尸網(wǎng)絡(luò)中,攻擊者通過(guò)一對(duì)多的命令與控制(C&C)信道控制大量傀儡主機(jī)組成攻擊網(wǎng)絡(luò)。受控主機(jī)搭載不同的惡意程序可迅速形成分布式攻擊平臺(tái),給網(wǎng)絡(luò)空間安全帶來(lái)極大威脅[1-3]。
現(xiàn)有對(duì)僵尸網(wǎng)絡(luò)的研究主要包括特征分析和逆向工程2種方式,在研究過(guò)程中都需要互聯(lián)網(wǎng)作為支撐環(huán)境[4-6]。例如,德國(guó)蜜網(wǎng)項(xiàng)目通過(guò)部署第二代蜜網(wǎng)來(lái)捕獲互聯(lián)網(wǎng)中的僵尸程序[7]。但是,環(huán)境的不可控性使研究結(jié)果產(chǎn)生隨機(jī)誤差,從而無(wú)法對(duì)實(shí)驗(yàn)現(xiàn)象進(jìn)行重現(xiàn)和驗(yàn)證,即難以進(jìn)行有針對(duì)性的僵尸網(wǎng)絡(luò)研究。因此,構(gòu)建真實(shí)可控的僵尸網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)具有重要意義。
近年來(lái),僵尸網(wǎng)絡(luò)借助移動(dòng)通信技術(shù)、社交網(wǎng)絡(luò)、云計(jì)算、信息加密等先進(jìn)技術(shù),在形態(tài)、協(xié)議、攻擊原理等方面都發(fā)生了變化,出現(xiàn)了如P2P僵尸網(wǎng)絡(luò)、移動(dòng)僵尸網(wǎng)絡(luò)、云計(jì)算僵尸網(wǎng)絡(luò)、工業(yè)控制僵尸網(wǎng)絡(luò)、IoT僵尸網(wǎng)絡(luò)(或稱(chēng)物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò))等形態(tài)多樣、協(xié)議隱蔽、攻擊手段專(zhuān)業(yè)的新型僵尸網(wǎng)絡(luò),這加大了研究者對(duì)僵尸網(wǎng)絡(luò)檢測(cè)和反制的難度。
互聯(lián)網(wǎng)屬于不可信、不可控的開(kāi)放式環(huán)境,在其中開(kāi)展僵尸網(wǎng)絡(luò)研究具有過(guò)程不可逆、節(jié)點(diǎn)不能擴(kuò)展、威脅無(wú)法隔離等弊端[8-9]。實(shí)驗(yàn)過(guò)程可能受人為、異常甚至巧合等因素影響,導(dǎo)致研究者無(wú)法對(duì)僵尸網(wǎng)絡(luò)行為進(jìn)行精確的判斷和預(yù)測(cè),且難以在有限時(shí)間內(nèi)得到統(tǒng)計(jì)規(guī)律顯著的實(shí)驗(yàn)結(jié)果。此外,開(kāi)放式環(huán)境下的實(shí)驗(yàn)無(wú)法復(fù)現(xiàn),且難以設(shè)計(jì)場(chǎng)景和參數(shù),可能導(dǎo)致得出不一致甚至完全相反的結(jié)論。
為解決上述問(wèn)題,有學(xué)者采用Opnet、Omnet等仿真系統(tǒng)來(lái)研究僵尸網(wǎng)絡(luò)[10-11],但其仿真方式難以真實(shí)表達(dá)傳輸特征和行為模型。為提高環(huán)境的真實(shí)性,有學(xué)者采用通用網(wǎng)絡(luò)實(shí)驗(yàn)床進(jìn)行僵尸網(wǎng)絡(luò)仿真。例如,文獻(xiàn)[12]在DETER(http://www.isi.deterlab.net/)上對(duì)僵尸網(wǎng)絡(luò)的拓?fù)錁?gòu)建和控制行為模式進(jìn)行仿真,文獻(xiàn)[13]在Emulab(http://www.emulab.net/)上對(duì)僵尸主機(jī)鏡像進(jìn)行部署,實(shí)現(xiàn)僵尸網(wǎng)絡(luò)評(píng)估環(huán)境(Botnet Evaluation Environment,BEE)實(shí)驗(yàn)插件,通過(guò)創(chuàng)建僵尸程序鏡像文件庫(kù)、部署DHCP、DynDNS、IRC等支撐服務(wù)以及安全控制策略,構(gòu)建安全隔離環(huán)境下僵尸網(wǎng)絡(luò)的高逼真度實(shí)驗(yàn)與評(píng)估環(huán)境。然而,基于通用網(wǎng)絡(luò)實(shí)驗(yàn)床進(jìn)行僵尸網(wǎng)絡(luò)研究缺少實(shí)驗(yàn)手段支撐,難以對(duì)仿真僵尸網(wǎng)絡(luò)攻擊行為、僵尸網(wǎng)絡(luò)C&C協(xié)議進(jìn)行細(xì)粒度的建模,導(dǎo)致其結(jié)果無(wú)法真實(shí)反映研究成果的效度和信度。
通用僵尸網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)是一個(gè)既滿(mǎn)足規(guī)模要求又貼近真實(shí)環(huán)境并且可控、可配置的實(shí)驗(yàn)環(huán)境,通過(guò)跟蹤、分析、重現(xiàn)僵尸網(wǎng)絡(luò)傳播和攻擊過(guò)程,有助于分析其運(yùn)行機(jī)制并制定反制策略,也能夠?yàn)楣シ姥菥毜拈_(kāi)展提供實(shí)戰(zhàn)平臺(tái)。本文在分析實(shí)際需求的基礎(chǔ)上,從環(huán)境構(gòu)建、行為仿真和流量合成等角度,研究并提出一種通用僵尸網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)方法和實(shí)現(xiàn)機(jī)制,最后通過(guò)仿真驗(yàn)證該實(shí)驗(yàn)平臺(tái)的有效性。
僵尸網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境在實(shí)驗(yàn)室條件下模擬大規(guī)模僵尸網(wǎng)絡(luò)傳播、控制、攻擊過(guò)程,通過(guò)靈活的實(shí)驗(yàn)任務(wù)設(shè)計(jì)和參數(shù)設(shè)置,在可控環(huán)境下能夠再現(xiàn)僵尸網(wǎng)絡(luò)的產(chǎn)生、發(fā)展、升級(jí)、防御等要素,支撐其特征建模、對(duì)比、識(shí)別、跟蹤、瓦解和反制等新手段研究以及新工具的實(shí)驗(yàn)驗(yàn)證。僵尸網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境的設(shè)計(jì)目標(biāo)是在安全可控的環(huán)境下開(kāi)展高逼真度、可重復(fù)性的僵尸網(wǎng)絡(luò)實(shí)驗(yàn),實(shí)驗(yàn)要素具體如下:
1)在可控環(huán)境下的有效實(shí)驗(yàn)。相對(duì)于互聯(lián)網(wǎng)環(huán)境的不可控性,實(shí)驗(yàn)室環(huán)境下的僵尸網(wǎng)絡(luò)研究應(yīng)具有控制實(shí)驗(yàn)進(jìn)展的能力。例如,可以設(shè)置病毒感染的初始時(shí)間,設(shè)定事件觸發(fā)傳播進(jìn)程,控制感染范圍,從而利于統(tǒng)計(jì)。同時(shí),可控性不會(huì)影響實(shí)驗(yàn)的有效性。例如,控制流量不會(huì)對(duì)實(shí)驗(yàn)流量產(chǎn)生干擾,僵尸程序不會(huì)受限運(yùn)行等。
2)安全可控和良好的隔離性。僵尸網(wǎng)絡(luò)及其攜帶的惡意代碼具有不可預(yù)知的安全風(fēng)險(xiǎn),因此,實(shí)驗(yàn)環(huán)境需從硬件、網(wǎng)絡(luò)、安防設(shè)置等方面進(jìn)行設(shè)計(jì),實(shí)現(xiàn)實(shí)驗(yàn)場(chǎng)景與基礎(chǔ)設(shè)施以及實(shí)驗(yàn)場(chǎng)景與外部網(wǎng)絡(luò)的安全隔離,使其具備安全開(kāi)展高風(fēng)險(xiǎn)實(shí)驗(yàn)的能力。
3)支持回放、場(chǎng)景復(fù)現(xiàn)和重復(fù)實(shí)驗(yàn)。實(shí)驗(yàn)環(huán)境支持過(guò)程記錄、環(huán)境恢復(fù)和場(chǎng)景復(fù)現(xiàn)能力,實(shí)現(xiàn)不同網(wǎng)絡(luò)場(chǎng)景、參數(shù)設(shè)置、僵尸類(lèi)型的回放和重復(fù)性對(duì)比實(shí)驗(yàn),以便在有限時(shí)間內(nèi)體現(xiàn)僵尸網(wǎng)絡(luò)行為的統(tǒng)計(jì)規(guī)律。
4)可靈活配置實(shí)驗(yàn)場(chǎng)景參數(shù)??蔀橐阎臀粗牟煌?lèi)型僵尸網(wǎng)絡(luò)提供運(yùn)行環(huán)境支撐,可靈活配置僵尸網(wǎng)絡(luò)規(guī)模、拓?fù)涞葏?shù),支持面向研究任務(wù)的實(shí)驗(yàn)場(chǎng)景自定義和自配置,提高實(shí)驗(yàn)場(chǎng)景的逼真度。
僵尸網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)由場(chǎng)景設(shè)定、執(zhí)行引擎、實(shí)驗(yàn)控制、實(shí)驗(yàn)分析和數(shù)據(jù)庫(kù)等部分組成。系統(tǒng)以執(zhí)行引擎為核心,涵蓋實(shí)驗(yàn)設(shè)置、控制、分析和背景流量加載等功能組件。僵尸網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)邏輯關(guān)系如圖1所示。
圖1 僵尸網(wǎng)絡(luò)仿真平臺(tái)體系框架
場(chǎng)景設(shè)定組件負(fù)責(zé)對(duì)僵尸網(wǎng)絡(luò)實(shí)驗(yàn)任務(wù)、基礎(chǔ)環(huán)境、實(shí)驗(yàn)場(chǎng)景進(jìn)行描述和設(shè)定。首先,系統(tǒng)通過(guò)對(duì)實(shí)驗(yàn)任務(wù)的解析生成僵尸網(wǎng)絡(luò)基礎(chǔ)運(yùn)行環(huán)境的配置文件、依賴(lài)服務(wù)列表和部署方案,提交給執(zhí)行引擎進(jìn)行環(huán)境構(gòu)建;然后,通過(guò)向目標(biāo)環(huán)境中加載僵尸網(wǎng)絡(luò)鏡像、復(fù)現(xiàn)僵尸牧主C&C控制行為以及加載傳播模型,完成僵尸網(wǎng)絡(luò)實(shí)驗(yàn)場(chǎng)景設(shè)定和組網(wǎng)模式、交互模型、攻擊行為、協(xié)議特征等仿真實(shí)現(xiàn)。
實(shí)驗(yàn)執(zhí)行引擎由虛擬化資源平臺(tái)和控制平臺(tái)組成。虛擬化資源平臺(tái)包括寄居架構(gòu)和裸金屬架構(gòu)虛擬機(jī)監(jiān)控器(VMM或hypervisor)以及虛擬化網(wǎng)絡(luò)仿真器,分別實(shí)現(xiàn)不同類(lèi)型的僵尸節(jié)點(diǎn)和大規(guī)模網(wǎng)絡(luò)的仿真;控制平臺(tái)負(fù)責(zé)實(shí)現(xiàn)安全性、網(wǎng)絡(luò)連通性、日志維護(hù)和信息采集等功能。
實(shí)驗(yàn)控制組件以系統(tǒng)管理的視角實(shí)現(xiàn)對(duì)僵尸網(wǎng)絡(luò)的宏觀控制,包括:資源使用情況監(jiān)控,實(shí)驗(yàn)過(guò)程數(shù)據(jù)受控交換,并發(fā)實(shí)驗(yàn)間的安全隔離,實(shí)驗(yàn)過(guò)程回放,實(shí)驗(yàn)參數(shù)重設(shè),數(shù)據(jù)采集存儲(chǔ)以及各種數(shù)據(jù)庫(kù)、知識(shí)庫(kù)的更新和維護(hù)等。
實(shí)驗(yàn)分析組件對(duì)實(shí)驗(yàn)過(guò)程和數(shù)據(jù)進(jìn)行分析,通過(guò)模型配置接口、編程接口,結(jié)合僵尸網(wǎng)絡(luò)特征庫(kù),加載C&C信道分析、傳播和攻擊行為分析、網(wǎng)絡(luò)流量分析等分析模型和算法,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)判。
數(shù)據(jù)庫(kù)組件包括僵尸樣本庫(kù)、日志數(shù)據(jù)庫(kù)、安全規(guī)則庫(kù)和背景流量合成器,分別實(shí)現(xiàn)僵尸樣本檢索和提取、實(shí)驗(yàn)日志記錄、安全策略下發(fā)、背景流量加載等功能。其中,背景流量合成器將從真實(shí)網(wǎng)絡(luò)監(jiān)聽(tīng)到的數(shù)據(jù)集映射為實(shí)驗(yàn)場(chǎng)景的真實(shí)數(shù)據(jù)包并釋放,為僵尸網(wǎng)絡(luò)檢測(cè)和反制實(shí)驗(yàn)提供支撐。
為在實(shí)驗(yàn)室條件下高逼真復(fù)現(xiàn)大規(guī)模僵尸網(wǎng)絡(luò)的運(yùn)行特征,僵尸網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)應(yīng)用多分辨率虛擬化技術(shù)構(gòu)建系統(tǒng)運(yùn)行的基礎(chǔ)環(huán)境。在此基礎(chǔ)上,通過(guò)C&C協(xié)議仿真和傳播行為仿真方法復(fù)現(xiàn)僵尸控制者的屬性特征和傳播行為,通過(guò)真實(shí)數(shù)據(jù)集重放方法進(jìn)行背景流量生成。
定義僵尸網(wǎng)絡(luò)Botnet={BOTs,CP,CMD},各元素含義如下:
1)BOTs為僵尸主機(jī)節(jié)點(diǎn)(也稱(chēng)肉機(jī))集合,表示在實(shí)驗(yàn)環(huán)境中被感染的節(jié)點(diǎn),BOTs={BotType,Dep_info},其中,BotType∈{Repeater,Spammer}表示僵尸節(jié)點(diǎn)的類(lèi)型,包括中繼節(jié)點(diǎn)(Repeater)和執(zhí)行節(jié)點(diǎn)(Spammer),Dep_info表示僵尸節(jié)點(diǎn)的部署信息,包括所在節(jié)點(diǎn)信息、通信端口信息等。
2)CP={BotMaster,C&C,Trans-type}表示僵尸網(wǎng)絡(luò)C&C控制協(xié)議的實(shí)現(xiàn)機(jī)制,其刻畫(huà)僵尸網(wǎng)絡(luò)的控制結(jié)構(gòu)、控制信道和路徑、控制層級(jí)等特征。其中,BotMaster為僵尸網(wǎng)絡(luò)控制者特征描述,用于仿真模型構(gòu)建,C&C描述控制信道特征,用于控制信道復(fù)現(xiàn),Trans-type為傳播行為和傳播方式特征,用于構(gòu)建傳播行為仿真模型。
3)CMD={Command,Action}表示僵尸網(wǎng)絡(luò)運(yùn)行的指令集合及其響應(yīng)方式,具體為指令內(nèi)容(Command)和觸發(fā)動(dòng)作(Action)。
2.2.1 基礎(chǔ)運(yùn)行環(huán)境虛擬化構(gòu)建
基礎(chǔ)運(yùn)行環(huán)境采用統(tǒng)一網(wǎng)絡(luò)地址空間下的多粒度虛擬化技術(shù)集成構(gòu)建,構(gòu)建要素為節(jié)點(diǎn)和網(wǎng)絡(luò)鏈路。其中,僵尸主機(jī)、服務(wù)節(jié)點(diǎn)和終端采用全虛擬化方式構(gòu)建,通過(guò)鏡像增量加載方式實(shí)現(xiàn)不同類(lèi)型的僵尸網(wǎng)絡(luò)節(jié)點(diǎn);網(wǎng)絡(luò)節(jié)點(diǎn)通過(guò)基于操作系統(tǒng)容器的輕量級(jí)虛擬化技術(shù)進(jìn)行大規(guī)??焖偕?。所有節(jié)點(diǎn)通過(guò)橋接到虛擬交換機(jī)的方式實(shí)現(xiàn)與通信網(wǎng)絡(luò)的互聯(lián)。
由于虛擬化技術(shù)具有資源可重用、軟件可定義、跨平臺(tái)等特征,目標(biāo)僵尸網(wǎng)絡(luò)的構(gòu)建也具有規(guī)模性、定制性和通用性特征,具體如下:
1)節(jié)點(diǎn)大規(guī)模部署
僵尸網(wǎng)絡(luò)節(jié)點(diǎn)包含僵尸主機(jī)BOTs、服務(wù)節(jié)點(diǎn)、終端節(jié)點(diǎn)、通信網(wǎng)絡(luò)等要素。根據(jù)實(shí)驗(yàn)?zāi)繕?biāo)和服務(wù)器配置不同,綜合利用多種粒度虛擬化機(jī)制實(shí)現(xiàn)僵尸網(wǎng)絡(luò)的構(gòu)建,在計(jì)算資源限定的前提下實(shí)現(xiàn)逼真度和節(jié)點(diǎn)規(guī)模的統(tǒng)一。根據(jù)不同節(jié)點(diǎn)類(lèi)型選擇不同部署模式,特別地,對(duì)于需要高密度部署的通信網(wǎng)絡(luò),采用基于名稱(chēng)空間的容器級(jí)虛擬化技術(shù)進(jìn)行構(gòu)建。
令Node={Type,Produce,Host}表示虛擬化節(jié)點(diǎn)集合。其中,Type表示節(jié)點(diǎn)功能或類(lèi)型,包括BOTs、服務(wù)節(jié)點(diǎn)(Server)、終端節(jié)點(diǎn)(Terminal)、通信網(wǎng)絡(luò)節(jié)點(diǎn)(Communication)4種,Produce={Full-v,Container}表示資源產(chǎn)生方式,包括全虛擬化、容器級(jí)虛擬化2種類(lèi)型,Host表示資源部署主機(jī)和接口。Net={Top,Para}表示僵尸網(wǎng)絡(luò)運(yùn)行所需的網(wǎng)絡(luò)環(huán)境,其中,Top表示網(wǎng)絡(luò)拓?fù)?描述僵尸網(wǎng)絡(luò)的鏈路關(guān)系,Para表示網(wǎng)絡(luò)協(xié)議、帶寬等參數(shù)。
綜上,僵尸網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境可表示為:
Bot_sim(bot)+Host_vir(node)+
net_sim(subnet)
僵尸網(wǎng)絡(luò)運(yùn)行環(huán)境可轉(zhuǎn)化為Bot_sim(bot)、Host_vir(node)、net_sim(subnet)3個(gè)基本系統(tǒng)調(diào)用,分別實(shí)現(xiàn)僵尸網(wǎng)絡(luò)節(jié)點(diǎn)、目標(biāo)網(wǎng)絡(luò)主機(jī)和終端、承載通信網(wǎng)絡(luò)的虛擬化構(gòu)建。其中,net_sim(subnet)通過(guò)對(duì)拓?fù)潢P(guān)系和鏈路特征的配置,基于僵尸樣本庫(kù)實(shí)現(xiàn)被試僵尸網(wǎng)絡(luò)C&C信道特征復(fù)現(xiàn)。
節(jié)點(diǎn)部署規(guī)模與虛擬機(jī)制和平臺(tái)的硬件配置有關(guān)。對(duì)于云計(jì)算系統(tǒng)來(lái)說(shuō),密度指單個(gè)物理服務(wù)器一次可以運(yùn)行的對(duì)象數(shù)量,因此,可以用部署密度來(lái)表示僵尸網(wǎng)絡(luò)的部署規(guī)模。
對(duì)于非網(wǎng)絡(luò)節(jié)點(diǎn),采用全虛擬化方式構(gòu)建,每個(gè)節(jié)點(diǎn)運(yùn)行一個(gè)完整的操作系統(tǒng)。在配置節(jié)點(diǎn)的虛擬機(jī)時(shí),就分配獨(dú)立的計(jì)算、存儲(chǔ)和內(nèi)存資源。在內(nèi)存空間足夠的情況下,節(jié)點(diǎn)的部署密度與CPU核心數(shù)量和主頻成線(xiàn)性正比關(guān)系。服務(wù)器硬件能力不同,支持的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)密度就不同。相同系列但不同型號(hào)的CPU,主要區(qū)別在于核數(shù)和主頻。從測(cè)試經(jīng)驗(yàn)來(lái)看,VM密度與CPU性能基本呈線(xiàn)性關(guān)系,因此,可以通過(guò)已知類(lèi)型的特定CPU的能力估算基于目標(biāo)類(lèi)型的CPU的部署密度。CPU性能衡量標(biāo)準(zhǔn)推薦使用業(yè)界標(biāo)準(zhǔn)組織SPEC(www.spec.org)推出的CINT2006rate指標(biāo),其測(cè)算公式如下 :
(1-α)×C
其中,density_TypeB、density_TypeA分別表示使用類(lèi)型B(目標(biāo)類(lèi)型)和類(lèi)型A(已知類(lèi)型)CPU的服務(wù)器中節(jié)點(diǎn)部署密度,CINT2006(·)表示性能指標(biāo)參數(shù),α表示性能冗余參數(shù),取值一般在10%左右,C為CPU核數(shù)。
對(duì)于網(wǎng)絡(luò)節(jié)點(diǎn),由于其功能相對(duì)單一,采用容器級(jí)虛擬化技術(shù),虛擬機(jī)共享宿主操作系統(tǒng)內(nèi)核而不必維護(hù)完整的操作系統(tǒng),從而避免過(guò)多物理服務(wù)器資源用于操作系統(tǒng)的開(kāi)銷(xiāo)。容器無(wú)需通過(guò)在內(nèi)部創(chuàng)建客戶(hù)機(jī)操作系統(tǒng)來(lái)復(fù)制主機(jī)操作系統(tǒng)的功能,能夠更高效和動(dòng)態(tài)地使用主機(jī)的資源。當(dāng)放置在一個(gè)容器或服務(wù)上的需求減少時(shí),它所消耗的資源將被釋放以供其他服務(wù)使用。因此,網(wǎng)絡(luò)節(jié)點(diǎn)可以大規(guī)模、高密度地部署。由于網(wǎng)絡(luò)鏈路數(shù)量能更好地描述網(wǎng)絡(luò)規(guī)模,因此網(wǎng)絡(luò)的部署密度與網(wǎng)絡(luò)連接數(shù)有關(guān),該密度正比于單位時(shí)間(1 s)內(nèi)CPU處理的指令總數(shù)IMPS(單位為百萬(wàn))。網(wǎng)絡(luò)的部署密度計(jì)算公式如下:
其中,d為網(wǎng)絡(luò)中節(jié)點(diǎn)的平均連接度數(shù),n為單位時(shí)間內(nèi)CPU處理的數(shù)據(jù)報(bào)數(shù)量(包括接收存儲(chǔ)和轉(zhuǎn)發(fā)所需的指令數(shù))。
2)實(shí)驗(yàn)對(duì)象配置
根據(jù)節(jié)點(diǎn)的不同實(shí)現(xiàn)形式,有不同的配置方法和配置項(xiàng)。對(duì)于全虛擬化實(shí)現(xiàn)的節(jié)點(diǎn),在實(shí)驗(yàn)部署過(guò)程中采用鏡像加載和操作系統(tǒng)配置的方法實(shí)現(xiàn)配置,配置項(xiàng)包括CPU核心數(shù)量、內(nèi)存空間、硬盤(pán)空間、網(wǎng)絡(luò)適配器數(shù)量和性能,通過(guò)配置實(shí)現(xiàn)不同類(lèi)型的僵尸節(jié)點(diǎn)、依賴(lài)服務(wù)和目標(biāo)業(yè)務(wù)終端。其中,虛擬磁盤(pán)的配置包含密集配置延遲置零、密集配置快速歸零和精簡(jiǎn)配置3種配置項(xiàng)。
節(jié)點(diǎn)配置過(guò)程如圖2所示。首先節(jié)點(diǎn)由虛擬化控制平臺(tái)開(kāi)機(jī)啟動(dòng),然后平臺(tái)將配置腳本從文件系統(tǒng)復(fù)制到指定目錄并激活運(yùn)行,同時(shí)記錄日志并返回到配置控制臺(tái),最終完成配置。
圖2 節(jié)點(diǎn)配置過(guò)程
對(duì)于網(wǎng)絡(luò)節(jié)點(diǎn),由于共享了宿主機(jī)的系統(tǒng)資源,其僅需配置上層協(xié)議,通過(guò)平臺(tái)傳入配置腳本并運(yùn)行,完成路由協(xié)議、鏈路帶寬、傳輸時(shí)延等的配置。
2.2.2 僵尸網(wǎng)絡(luò)傳播行為仿真加載
不同于真實(shí)互聯(lián)網(wǎng)環(huán)境,在僵尸網(wǎng)絡(luò)仿真環(huán)境中無(wú)法從微觀上體現(xiàn)用戶(hù)通過(guò)點(diǎn)擊釣魚(yú)鏈接、下載第三方軟件等行為導(dǎo)致的病毒感染。因此,在僵尸網(wǎng)絡(luò)仿真環(huán)境中,病毒傳播行為的復(fù)現(xiàn)需要依據(jù)僵尸網(wǎng)絡(luò)傳播模型,模擬終端主機(jī)的動(dòng)態(tài)演化過(guò)程,并通過(guò)僵尸代碼動(dòng)態(tài)注入加載,從而實(shí)現(xiàn)與真實(shí)環(huán)境等同的傳播效果。
僵尸網(wǎng)絡(luò)傳播模型研究多數(shù)基于經(jīng)典SIS(Susceptible-Infected-Susceptible)系統(tǒng)動(dòng)力學(xué)模型[14],基于此模型,目標(biāo)環(huán)境中的節(jié)點(diǎn)狀態(tài)可分為易感染狀態(tài)S(Susceptible)和感染狀態(tài)I(Infected),單位時(shí)間內(nèi)節(jié)點(diǎn)從易感染狀態(tài)轉(zhuǎn)化為感染狀態(tài)與S和I的數(shù)量呈雙線(xiàn)性關(guān)系。
令N(t)為t時(shí)刻系統(tǒng)中的主機(jī)數(shù),S(t)為t時(shí)刻易感染主機(jī)數(shù),I(t)為t時(shí)刻感染主機(jī)數(shù),R(t)為免疫主機(jī)數(shù),β為感染比率,δ為免疫比率。則僵尸網(wǎng)絡(luò)傳播模型的微分方程為:
在實(shí)驗(yàn)過(guò)程中,根據(jù)前期掌握的特定僵尸網(wǎng)絡(luò)的統(tǒng)計(jì)數(shù)據(jù),確定感染率、免疫率等參數(shù)。通過(guò)求解上述微分方程,得到僵尸網(wǎng)絡(luò)隨時(shí)間變化的傳播規(guī)律。對(duì)應(yīng)此規(guī)律,動(dòng)態(tài)對(duì)目標(biāo)環(huán)境注入僵尸代碼并觸發(fā)運(yùn)行,從而達(dá)到模擬僵尸網(wǎng)絡(luò)傳播的目的,該過(guò)程如圖3所示。
圖3 僵尸網(wǎng)絡(luò)傳播仿真原理
在圖3中,傳播仿真驅(qū)動(dòng)根據(jù)模型輸出的傳播規(guī)律函數(shù),在t到Δt時(shí)間內(nèi)動(dòng)態(tài)隨機(jī)選擇滿(mǎn)足條件的節(jié)點(diǎn),通過(guò)自動(dòng)配置工具生成自動(dòng)化感染指令腳本,基于執(zhí)行引擎的系統(tǒng)調(diào)用,動(dòng)態(tài)地將僵尸代碼注入目標(biāo)節(jié)點(diǎn),實(shí)現(xiàn)僵尸主機(jī)節(jié)點(diǎn)生成和傳播仿真。
2.2.3 數(shù)據(jù)集加載與流量合成
數(shù)據(jù)集加載是將在真實(shí)互聯(lián)網(wǎng)骨干節(jié)點(diǎn)抓取的真實(shí)流量數(shù)據(jù)集重放到僵尸網(wǎng)絡(luò)仿真實(shí)驗(yàn)環(huán)境中,形成背景流量,以彌補(bǔ)實(shí)驗(yàn)環(huán)境缺乏真實(shí)用戶(hù)的弊端,提高實(shí)驗(yàn)效果的真實(shí)性。流量合成是通過(guò)協(xié)議仿真器仿真特定協(xié)議,以一定比例和頻率加入到背景流量中,從而增加公開(kāi)數(shù)據(jù)集特定協(xié)議的比重,便于開(kāi)展有針對(duì)性的僵尸網(wǎng)絡(luò)檢測(cè)和反制研究。數(shù)據(jù)集加載與流量合成具體實(shí)現(xiàn)原理如圖4所示。
圖4 數(shù)據(jù)集加載與流量合成原理
數(shù)據(jù)集處理過(guò)程分為數(shù)據(jù)轉(zhuǎn)換和流量合成2個(gè)部分。數(shù)據(jù)轉(zhuǎn)換將從公網(wǎng)抓取的數(shù)據(jù)包進(jìn)行本地化轉(zhuǎn)換,形成本地系統(tǒng)可以識(shí)別的數(shù)據(jù)集,主要有IP地址映射、噪聲過(guò)濾和協(xié)議補(bǔ)全3個(gè)過(guò)程。數(shù)據(jù)轉(zhuǎn)換過(guò)程采用類(lèi)似tcpreplay的pcap包重放工具,對(duì)報(bào)文進(jìn)行修改,主要修改內(nèi)容為T(mén)CP/IP協(xié)議2層、3層、4層報(bào)文頭,通過(guò)控制cache設(shè)置重放速度。數(shù)據(jù)集中的噪聲數(shù)據(jù)主要由無(wú)關(guān)協(xié)議和廣播組播報(bào)文組成,通過(guò)協(xié)議過(guò)濾器進(jìn)行篩選和過(guò)濾,對(duì)于數(shù)據(jù)傳輸過(guò)程中不完整的協(xié)議報(bào)文,如握手協(xié)議丟失的報(bào)文,根據(jù)會(huì)話(huà)上下文進(jìn)行補(bǔ)全。
流量合成根據(jù)實(shí)驗(yàn)需要,生成指定協(xié)議的仿真數(shù)據(jù)。通過(guò)基于iperf的協(xié)議生成器生成HTTP、FTP、UPD、P2P等協(xié)議流量,并合成到重放流量中。合成過(guò)程通過(guò)指定相同網(wǎng)絡(luò)名稱(chēng)空間(地址:實(shí)體)的數(shù)據(jù)包實(shí)現(xiàn)。
本節(jié)通過(guò)構(gòu)建2個(gè)僵尸網(wǎng)絡(luò)場(chǎng)景來(lái)驗(yàn)證本文僵尸網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)的有效性。
場(chǎng)景1P2P僵尸網(wǎng)絡(luò)識(shí)別實(shí)驗(yàn)
P2P僵尸網(wǎng)絡(luò)中所有的僵尸主機(jī)都互相聯(lián)通,形成一個(gè)相對(duì)分散的網(wǎng)絡(luò)環(huán)境。僵尸網(wǎng)絡(luò)控制者使用非對(duì)稱(chēng)加密算法對(duì)控制指令進(jìn)行簽名,每個(gè)節(jié)點(diǎn)都維護(hù)一個(gè)IP列表,在某個(gè)節(jié)點(diǎn)失效時(shí),其作用能夠輕易轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)上,從而具有較強(qiáng)的抗毀性。本場(chǎng)景通過(guò)平臺(tái)配置生成P2P僵尸網(wǎng)絡(luò)控制者和節(jié)點(diǎn),編碼實(shí)現(xiàn)控制者和節(jié)點(diǎn)間的C&C協(xié)議。同時(shí),場(chǎng)景中還部署基于P2P的文件傳輸作為背景流量。
場(chǎng)景2IoT僵尸網(wǎng)絡(luò)DDoS攻擊模擬實(shí)驗(yàn)
近年來(lái),隨著物聯(lián)網(wǎng)的興起,對(duì)于使用ARM、MIPS和PPC等CPU架構(gòu)并基于Telnet的物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)攻擊大幅增加。IoT僵尸網(wǎng)絡(luò)控制者通過(guò)掌握攝像頭、傳感器等IoT設(shè)備的漏洞,獲得控制權(quán)限,上傳可執(zhí)行的惡意軟件,訪問(wèn)指定URL和各種觸發(fā)器,組織DDoS攻擊等。本實(shí)驗(yàn)場(chǎng)景基于所設(shè)計(jì)的實(shí)驗(yàn)平臺(tái),模擬各種包含漏洞的IoT設(shè)備,實(shí)現(xiàn)IoT中外部系統(tǒng)接入、認(rèn)證以及數(shù)據(jù)交換。在實(shí)驗(yàn)平臺(tái)節(jié)點(diǎn)上,使用開(kāi)源模擬處理器QEMU,在仿真CPU上運(yùn)行不同的平臺(tái),通過(guò)編碼模擬低交互響應(yīng)的前端設(shè)備。僵尸控制者通過(guò)Telnet發(fā)送一系列命令,以探測(cè)和配置環(huán)境。一旦操作完成,攻擊者將嘗試遠(yuǎn)程下載和執(zhí)行惡意軟件二進(jìn)制文件,進(jìn)行DDoS攻擊等惡意操作。
在本次實(shí)驗(yàn)中,原型系統(tǒng)運(yùn)行于5臺(tái)IBM 3650 M4服務(wù)器上,每臺(tái)服務(wù)器配置雙路6核2.6 GHz E5-2620v2 CPU,安裝64 GB DDRIII 1 600 MHz內(nèi)存,部署VMware ESXi 5.5虛擬化平臺(tái)。
場(chǎng)景1實(shí)驗(yàn)所用僵尸樣本采用蜜罐系統(tǒng)捕獲的攜帶DDoS攻擊能力的P2P僵尸程序逆向代碼,僵尸網(wǎng)絡(luò)檢測(cè)模型采用本課題組提出的綜合特征聚類(lèi)檢測(cè)算法,背景流量由BT精靈文件共享系統(tǒng)產(chǎn)生。場(chǎng)景2實(shí)驗(yàn)所用僵尸樣本模擬類(lèi)似GoAhead攝像頭漏洞,通過(guò)空白的用戶(hù)名和口令繞過(guò)認(rèn)證環(huán)節(jié),下載設(shè)備.ini描述文件,然后通過(guò)向set_ftp.cgi中注入命令來(lái)獲得root權(quán)限,并在設(shè)備上提供遠(yuǎn)程Shell。
在系統(tǒng)控制臺(tái)中按照廣域網(wǎng)結(jié)構(gòu)部署含200個(gè)節(jié)點(diǎn)的目標(biāo)網(wǎng)絡(luò)空間,通過(guò)節(jié)點(diǎn)配置各類(lèi)僵尸網(wǎng)絡(luò)節(jié)點(diǎn)。隨機(jī)選擇30個(gè)節(jié)點(diǎn)通過(guò)平臺(tái)注入可運(yùn)行僵尸程序。網(wǎng)絡(luò)節(jié)點(diǎn)部署quagga1.2.0,路由協(xié)議為OSPFv3,網(wǎng)絡(luò)由骨干層(1 000 Mb/s)、匯聚層(500 Mb/s)和接入層(100 Mb/s)組成。部署完成的僵尸網(wǎng)絡(luò)拓?fù)淙鐖D5所示。
圖5 實(shí)驗(yàn)僵尸網(wǎng)絡(luò)拓?fù)?/p>
本文在僵尸網(wǎng)絡(luò)仿真實(shí)驗(yàn)環(huán)境中加載了P2PB-SSMD檢測(cè)算法[15],該算法基于流簇相似性和信息熵來(lái)分析從正常P2P節(jié)點(diǎn)中檢測(cè)出的僵尸節(jié)點(diǎn),具有較高的檢測(cè)率和較低的漏報(bào)率。對(duì)比分析本文僵尸網(wǎng)絡(luò)仿真環(huán)境與文獻(xiàn)[15]中基于真實(shí)數(shù)據(jù)集的仿真系統(tǒng),2種仿真環(huán)境下的檢測(cè)結(jié)果如圖6所示,其中,數(shù)據(jù)均為相同參數(shù)下10次實(shí)驗(yàn)的平均值。
圖6 2種仿真環(huán)境中的檢測(cè)結(jié)果對(duì)比
從圖6可以看出,對(duì)于P2PB-SSMD檢測(cè)算法,本文僵尸網(wǎng)絡(luò)仿真環(huán)境與文獻(xiàn)[15]中基于真實(shí)數(shù)據(jù)集的仿真系統(tǒng)具有等同的檢測(cè)性能,性能偏差不超過(guò)10%。因此,本文仿真環(huán)境可用于新型僵尸網(wǎng)絡(luò)檢測(cè)識(shí)別算法驗(yàn)證與反制方法效能研究等領(lǐng)域。
僵尸網(wǎng)絡(luò)是一種復(fù)雜、靈活、高效的網(wǎng)絡(luò)攻擊平臺(tái),其危害遠(yuǎn)遠(yuǎn)超出一對(duì)一攻擊。為更好地研究僵尸網(wǎng)絡(luò)的各項(xiàng)特征,本文利用虛擬化技術(shù)、僵尸網(wǎng)絡(luò)行為仿真技術(shù)、數(shù)據(jù)集加載與合成技術(shù),提出并實(shí)現(xiàn)一種高效逼真的僵尸網(wǎng)絡(luò)仿真環(huán)境。實(shí)驗(yàn)結(jié)果表明,基于該仿真平臺(tái)可有效開(kāi)展僵尸網(wǎng)絡(luò)檢測(cè)、識(shí)別等實(shí)驗(yàn)。下一步將在本文平臺(tái)架構(gòu)的基礎(chǔ)上,采用Kubernetes等PaaS云計(jì)算方案構(gòu)建仿真節(jié)點(diǎn)和實(shí)驗(yàn)拓?fù)?以進(jìn)一步擴(kuò)大該平臺(tái)可支撐的實(shí)驗(yàn)規(guī)模。