□王 麗
Botnet是隨著自動(dòng)智能程序的應(yīng)用而逐漸發(fā)展起來的。惡意Bot程序在聊天頻道中從不發(fā)言,表現(xiàn)得像個(gè)僵尸,因此被稱為僵尸程序,僵尸網(wǎng)絡(luò)也由此得名。近年來,DDoS事件逐漸頻繁,攻擊規(guī)模也急劇增加。攻擊動(dòng)機(jī)從炫耀技術(shù)能力轉(zhuǎn)向獲得經(jīng)濟(jì)利益。從僵尸程序編寫到惡意傳播,從公開兜售受控主機(jī)到網(wǎng)上支付雇傭費(fèi)用,已經(jīng)形成了一個(gè)地下經(jīng)濟(jì)利益鏈條。一般認(rèn)為Botnet的危害主要是DDoS攻擊和垃圾郵件。除了被直接攻擊的目標(biāo)以外,DDoS攻擊還會(huì)引起次生危害,而且次生危害的影響范圍有時(shí)要遠(yuǎn)遠(yuǎn)大于被直接攻擊的目標(biāo)。此外,垃圾郵件也大量消耗著網(wǎng)絡(luò)帶寬和服務(wù)器資源。
僵尸網(wǎng)絡(luò)的整個(gè)生命周期包括了傳播、感染、加入、受控、攻擊等幾個(gè)環(huán)節(jié)。檢測(cè)工作可以針對(duì)僵尸程序在不同環(huán)節(jié)的行為特征進(jìn)行檢測(cè)。僵尸程序的行為分為網(wǎng)絡(luò)行為和系統(tǒng)行為。對(duì)系統(tǒng)行為的檢測(cè)屬于主機(jī)入侵防護(hù)(HIPS)技術(shù)范疇,是對(duì)僵尸程序的檢測(cè)。
僵尸網(wǎng)絡(luò)的檢測(cè)就是定位僵尸網(wǎng)絡(luò)的受控節(jié)點(diǎn)和控制節(jié)點(diǎn)。但是在現(xiàn)實(shí)中,僵尸網(wǎng)絡(luò)的控制者會(huì)采用很多方法(如利用FAST-FLUX技術(shù))隱藏控制節(jié)點(diǎn),實(shí)際上很難定位到真正的控制節(jié)點(diǎn)。因此僵尸網(wǎng)絡(luò)檢測(cè)的基本目標(biāo)就是定位僵尸網(wǎng)絡(luò)的受控節(jié)點(diǎn),即找出僵尸主機(jī)的IP地址并根據(jù)接入用戶的身份信息,進(jìn)一步確定感染僵尸程序的主機(jī)。
(一)基于P2P協(xié)議的僵尸網(wǎng)絡(luò)檢測(cè)。Christ Nunnery and Brent ByungHoon Kang提出了通過檢測(cè)與異常HASH值相關(guān)的網(wǎng)絡(luò)活動(dòng)來定位僵尸主機(jī)和控制主機(jī)的方法。首先通過某種方法得知異常HASH值,然后監(jiān)測(cè)與這些HASH值相關(guān)的網(wǎng)絡(luò)活動(dòng),例如新近加入Botnet的主機(jī)會(huì)主動(dòng)搜索異常HASH值。Reinier Schoof&Ralph Koning還指出了P2P僵尸網(wǎng)絡(luò)的另外一些特征,如只監(jiān)聽某些特殊的端口,由于P2P主機(jī)存活穩(wěn)定度很低,因此P2P僵尸網(wǎng)絡(luò)存在大量的失敗連接,由此會(huì)引發(fā)大量的屬性為目標(biāo)不可達(dá)的ICMP消息
(二)基于DNS日志和DNS黑名單技術(shù)的僵尸網(wǎng)絡(luò)檢測(cè)。僵尸網(wǎng)絡(luò)生命周期中各個(gè)環(huán)節(jié)都存在大量的DNS通訊活動(dòng)。例如僵尸控制者在發(fā)起攻擊之前,會(huì)發(fā)起大量的DNS查詢請(qǐng)求,確認(rèn)僵尸主機(jī)存活和有效。僵尸主機(jī)控制者還會(huì)采用FAST-FLUX技術(shù)保證控制主機(jī)的高可用性并逃避追查。對(duì)DNS日志、通訊流量進(jìn)行統(tǒng)計(jì)分析,可以定位到僵尸主機(jī)甚至控制主機(jī)。
(三)基于誘騙及通訊監(jiān)聽技術(shù)的僵尸網(wǎng)絡(luò)檢測(cè)技術(shù)。已有技術(shù)研究工作中,大部分只針對(duì)某一類僵尸網(wǎng)絡(luò)有效,適用范圍較窄。以往的采用誘騙技術(shù)僵尸網(wǎng)絡(luò)檢測(cè)方案,只單獨(dú)采用了蜜罐或蜜網(wǎng)系統(tǒng),效果不甚理想。原因是這類攻擊誘騙系統(tǒng)是被動(dòng)檢測(cè)系統(tǒng),在沒有僵尸程序攻擊的情況下,很難捕捉到僵尸主機(jī)的行為。
鑒于這些檢測(cè)技術(shù)的局限性,筆者設(shè)計(jì)了一種新的檢測(cè)方案,將誘騙系統(tǒng)與流量監(jiān)測(cè)系統(tǒng)結(jié)合在一起,很好地解決了以往檢測(cè)技術(shù)通用性不強(qiáng),應(yīng)用范圍窄的問題。誘騙系統(tǒng)的技術(shù)特點(diǎn)是觀察口徑小,但準(zhǔn)確率高。而部署在網(wǎng)絡(luò)邊界的流量監(jiān)測(cè)系統(tǒng)的觀察口徑大,但存在一定的誤報(bào)率。兩者結(jié)合發(fā)揮各自的長(zhǎng)處,形成優(yōu)勢(shì)互補(bǔ)。
(四)基于誘騙系統(tǒng)和流量檢測(cè)系統(tǒng)的僵尸網(wǎng)絡(luò)檢測(cè)方案。一是蜜罐首先發(fā)現(xiàn)內(nèi)網(wǎng)主機(jī)A正在設(shè)法感染自己,或者蜜罐設(shè)備自身已經(jīng)被安裝仿真的僵尸程序。二是蜜罐主機(jī)會(huì)主動(dòng)與控制主機(jī)進(jìn)行通訊,若蜜罐為基于P2P協(xié)議的僵尸主機(jī),則會(huì)利用P2P協(xié)議主動(dòng)聯(lián)系其它僵尸主機(jī),加入僵尸主機(jī)組成的僵尸網(wǎng)絡(luò)。由于蜜罐主機(jī)是完全受控的設(shè)備,其通訊行為特征、通訊內(nèi)容完全被網(wǎng)絡(luò)管理人員所掌握。三是蜜罐主機(jī)可以向部署在網(wǎng)絡(luò)邊界的流量分析系統(tǒng)或IDS通報(bào)控制主機(jī)的相關(guān)信息,主要是控制主機(jī)的IP地址。四是流量分析系統(tǒng)則重點(diǎn)監(jiān)控控制主機(jī)與內(nèi)網(wǎng)主機(jī)的通訊。監(jiān)測(cè)結(jié)果表明,外網(wǎng)的控制主機(jī)正在與內(nèi)網(wǎng)主機(jī)B、C、D進(jìn)行通訊,且通訊行為特征與僵尸主機(jī)的行為特征相似。五是至此,可以斷定,內(nèi)網(wǎng)的B、C、D主機(jī)以及主機(jī)A皆為僵尸網(wǎng)絡(luò)的成員。在這個(gè)技術(shù)方案中,蜜罐主機(jī)充當(dāng)一個(gè)打入到僵尸網(wǎng)絡(luò)的臥底,可以將僵尸網(wǎng)絡(luò)的活動(dòng)情況真實(shí)準(zhǔn)確地報(bào)告出來。而部署在網(wǎng)絡(luò)邊界的流量檢測(cè)設(shè)備或IDS設(shè)備,則起到了“盯梢”的作用。
(五)基于聚合分析的僵尸網(wǎng)絡(luò)追蹤技術(shù)。前面講的技術(shù)方案,基本上是一個(gè)實(shí)時(shí)的檢測(cè)系統(tǒng)。下面介紹一個(gè)基于分析歷史流量日志的事后檢測(cè)方法。僵尸網(wǎng)絡(luò)在發(fā)動(dòng)大規(guī)模的DDoS攻擊時(shí),會(huì)引發(fā)網(wǎng)絡(luò)流量的激增,因此在被攻擊目標(biāo)的網(wǎng)絡(luò)出口可以檢測(cè)到大量的攻擊流量的記錄。對(duì)這些流量記錄進(jìn)行聚合分析,而攻擊發(fā)生時(shí),攻擊流量的特征相似,其它正常流量符合一定的統(tǒng)計(jì)分布,因此攻擊流量記錄必定被聚合到一個(gè)總量很大的結(jié)果中。而這個(gè)聚合結(jié)果中源地址集合和目標(biāo)地址集合必定有一個(gè)是相對(duì)較小的。再經(jīng)過進(jìn)一步分析,就可以分別得到僵尸主機(jī)和控制主機(jī)的地址。基于聚合分析的僵尸網(wǎng)絡(luò)追蹤檢測(cè)技術(shù)的詳細(xì)流程體現(xiàn)在以下幾方面:一是選取攻擊時(shí)段的流量記錄,通常為Netflow或與之兼容或類似的數(shù)據(jù)源。二是指定流量記錄中的某些字段作為聚合算法的維度。三是通過多維聚合算法對(duì)流量記錄進(jìn)行聚合運(yùn)算。四是在眾多聚合結(jié)果中,找出攻擊流量的那個(gè)聚合結(jié)果。五是因?yàn)榫酆线^程是自動(dòng)完成的,每個(gè)聚合結(jié)果的特征(即各維度的取值)是可以確定的。根據(jù)攻擊結(jié)果的特征,原始流量記錄中找出符合特征的所有流量記錄。六是從被攻擊者所在網(wǎng)絡(luò)這一側(cè)來看,這些流量記錄中的外網(wǎng)IP地址即為高度疑似的參與攻擊的IP地址。七是將與這些IP地址的相關(guān)的所有流量記錄找出來,可以找到這些疑似攻擊IP地址通訊對(duì)端IP地址。這些對(duì)端IP中,出現(xiàn)頻率較高的IP地址即高度疑似為控制主機(jī)IP地址。除非這個(gè)高度疑似的控制主機(jī)IP地址為某個(gè)面向公眾的大型網(wǎng)站的地址,否則,這個(gè)疑似控制主機(jī)的IP地址基本可以被認(rèn)定為真正的控制主機(jī)。
現(xiàn)有的檢測(cè)技術(shù)都只做到了確定僵尸主機(jī)的公網(wǎng)IP地址。由于網(wǎng)絡(luò)上有相當(dāng)多的主機(jī)使用經(jīng)過NAT轉(zhuǎn)換過的私有地址或是動(dòng)態(tài)獲取的IP地址,因此為了真正定位僵尸主機(jī)還需要匹配用戶的登錄信息和接入網(wǎng)關(guān)處對(duì)終端主機(jī)的上網(wǎng)記錄。這一步工作雖然沒有技術(shù)難度,卻也是整個(gè)僵尸網(wǎng)絡(luò)檢測(cè)過程中不可或缺的一環(huán)。由于僵尸網(wǎng)絡(luò)在發(fā)展演變過程中不斷采用新的技術(shù)偽裝自己,因此僵尸網(wǎng)絡(luò)檢測(cè)是一個(gè)極其復(fù)雜的問題,需要用到多種綜合的檢測(cè)技術(shù)才能取得良好的效果。同時(shí)還要不斷跟蹤僵尸網(wǎng)絡(luò)的技術(shù)變化,對(duì)檢測(cè)技術(shù)作出相應(yīng)的調(diào)整,如近年來,僵尸網(wǎng)絡(luò)采用的FASTFLUX技術(shù),既使僵尸網(wǎng)絡(luò)檢測(cè)跟蹤面臨更高的難度,也為檢測(cè)技術(shù)提供了新的突破點(diǎn)。
[1]諸葛建偉,韓心慧,周永林,葉志遠(yuǎn),鄒維.僵尸網(wǎng)絡(luò)研究[J].軟件學(xué)報(bào),2008,19:702~705
[2]Tushar Ranka,Trend Micro Inc.Taxonomy of Botnet Threats
[3]Christ Nunnery and Brent ByungHoon Kang.Locating Zombie Nodes and Botmasters in Decentralized Peer-to-Peer Botnets
[4]Peer-to-Peer Botnets:Overview and Case Study
[5]The Honeynet Project.Know Your Enemy:Fast-Flux Service Networks