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