牛晉平 袁林
摘 要:通過綜述僵尸網絡的相關知識,提出基于行為與域關聯的檢測方法。對僵尸網絡的行為流和域名查詢流進行類聚,建立一種聚類聯動的檢測模型,以期突破基于特征的監(jiān)測的局限性。本文分析了僵尸網絡的相關知識和工作原理,重點分析基于Behavior-domain模型的僵尸網絡檢測方法。
關鍵詞:僵尸網絡;域名特征;檢測
中圖分類號:TP393 文獻標識碼:A
Abstract:Review of relevant knowledge botnet,we proposed detection method based on the behavior associated with the domain.Cluster the flow behavior of botnets and domain query stream,build a linkage clustering model to detect in order to break through the limitations of feature-based monitoring.This paper analyzes the related knowledge and working principle of botnets,key analyzes the botnet detection method focuses on Behavior-domain Model.
Keywords:botnet;domain feature;detection
1 引言(Introduction)
僵尸網絡是在Worm、Trojan Horse、Backdoor tool等一般惡意代碼形態(tài)的基礎上發(fā)展、結合進而產生的一種攻擊方式,一般指集中受攻擊者控制、用來發(fā)起大規(guī)模的網絡攻擊的一群計算機[1]。
僵尸程序未必像蠕蟲病毒一定可以擴散,它與蠕蟲的顯著區(qū)別在于:僵尸程序一定是被黑客控制。有別于一般的特洛伊木馬(Trojan Horse),僵尸程序能夠發(fā)起主動性對外連接,可以預置指令,通過各種途徑進行擴散,被感染的主機均受黑客控制[2]。間諜軟件與僵尸程序的不同之處在于后者的數據一般只流向黑客,黑客并不控制被植入間諜軟件的計算機。
2 僵尸網絡的工作原理(The working principle of
botnet)
2.1 僵尸網絡的功能結構
可以將僵尸網絡的功能結構分為兩個模塊。首先是主要功能模塊,它由兩大模塊組成:傳播模塊,用于實現網絡傳播;命令與控制模塊,定義僵尸網絡特性。其次是輔助功能模塊,作為對僵尸程序主要功能模塊的補充,增強僵尸程序的攻擊性和存活率,該模塊由信息竊取、僵尸主機控制等功能組成。
(1)命令與控制模塊
作為僵尸程序的重中之重,這個模塊能夠實現與僵尸網絡控制器的互動并且執(zhí)行黑客的控制命令。另外,命令與控制模塊還能夠將執(zhí)行結果返回僵尸網絡控制器。
(2)傳播模塊
該模塊負責將僵尸程序擴散到其他主機,使它們也受黑客控制,實現僵尸網絡的擴張,其傳播途徑包括:
a.及時通信軟件
b.文件系統共享
c.遠程攻擊軟件漏洞
d.掃描惡意代碼開的后門
e.發(fā)送郵件病毒
f.掃描NetBIOS弱密碼
(3)信息竊取模塊
信息竊取模塊用于獲取主機信息和其他有敏感的信息,例如進程列表、網絡帶寬和速度、賬號和對應的密碼、注冊碼等。
(4)攻擊模塊
攻擊模塊是黑客用于通過受感染主機(俗稱“肉雞”)完成各類攻擊的模塊(例如:發(fā)送郵件模塊、架設服務模塊、點擊欺詐模塊、分布式拒絕服務攻擊)。
(5)更新和下載模塊
為更好的控制僵尸主機,僵尸程序也需要下載與更新。該模塊使黑客能隨時根據不同目標,在受感染主機上增加或更新各類惡意代碼以及僵尸程序。
(6)躲避檢測與對抗分析模塊
對僵尸程序的檢測和分析一直是網絡安全的一個熱點,因此該模塊是為了繞過檢測與和與各類病毒分析相抗衡,以便提高僵尸網絡的存活率,其功能包括:
a.通過Rootkit方式進行實體隱藏
b.清除反病毒的進程
c.檢查調試器的存在
d.對僵尸程序加密或變形
e.識別虛擬機環(huán)境
f.對升級反病毒軟件的活動進行攔截
2.2 僵尸網絡的工作機制
僵尸網絡是把在網絡上的感染了僵尸程序的計算機通過某個應用層協議連成網絡,通過控制這個網絡,黑客能夠進行攻擊、竊取等行動。這個僵尸網絡,由僵尸控制者(Botmaster)通過僵尸網絡的命令與控制(C&C)信道來控制,能夠以向網絡上的所有或部分僵尸發(fā)出指令,從而實現分布式拒絕服務攻擊、信息竊取等,甚至可以命令僵尸主機自動更新。僵尸網絡的工作流程如圖2所示。
3 基于域名特征的僵尸網絡檢測(Botnet detection feature-based domain)
過去,一般使用基于特征的檢測方法,這種方法實時性強且比較準確,但是這種方法僅僅著眼于僵尸網絡表面特性,對僵尸網絡的本質把握得不是很理想,而且需要用已經驗證的結果進行匹配,所以只能檢測已經被發(fā)現過的僵尸網絡。一旦僵尸網絡使用的協議規(guī)則發(fā)生改變,進而生成新的結構,則會使這些檢測方法則會失去作用。
目前僵尸網絡大部分都采用IRC協議、P2P協議,或者HTTP協議構成,但僵尸程序最本質的行為是經由域名系統查詢相應的C&C僵尸網絡地址,并連接進行通信,這與采取何種協議結構關聯性不高。因此,如何有效檢測僵尸網絡一直是研究熱點。
3.1 問題的解決思路
同一個僵尸網絡中的各個僵尸主機是受僵尸服務器的控制,因而在空間、時間的行為具有高度的相似性和相關性。例如:在同樣的時間區(qū)間內對大量其他計算機進行非法掃描從而得到漏洞,或在特定時間區(qū)間內同時向域名服務器請求某個服務器的物理地址以便能與該服務器通信并執(zhí)行命令,或向其他主機群發(fā)垃圾郵件等,這些行為特征都不是正常的網絡行為所具有的。
現設想一種動態(tài)聚類技術,可以將實體數據進行數據聚類關聯,能夠實現對域名訪問查詢流和僵尸網絡的隱蔽和非連續(xù)的行為的高效聯動聚類。經過以上操作的結果可以幫助我們找到僵尸網絡,彌補基于特征的檢測模型的不足。
3.2 Behavior-Domain模型的系統結構
Behavior-Domain監(jiān)測模型從網絡流量入手,聯動檢測僵尸程序的活動以及對域名的請求和應答查詢流量,由此生成相關日志。在對實體的數據進行了聚類后,再對檢測日志進行聚類,經關聯分析進行評估,從而識別出僵尸網絡。
監(jiān)測模型系統結構如圖7所示。
Behavior-Domain的運行過程如下:
(1)基于同一信道的不同僵尸程序對域名服務器的行為和同一僵尸網絡控制命令的回應在時間上的相關性比較顯著,所以將相關模塊設置在流量的出、入口處,以便采集和實時檢測。
行為檢測模塊負責捕獲、解析僵尸網絡命令控制信道內
的行為流量(例如:二進制下載、非法掃描、繁殖/攻擊、探測并利用網絡漏洞、C&C通信等),將結果存入行為日志中。
(2)作為Behavior-domain模型的重點模塊,聚類模塊負責定時到指定日志中提取特定信息,利用聚類算法分別對第一步中提取的兩類Log日志中的數據進行聚類并將聚類結果導入關聯模塊進行關聯分析。
(3)可疑度的計算由關聯分析模塊負責,將預設的閥值與計算結果相比較,即可鎖定可疑主機;而相似度的計算可以幫助判定同一個流類簇集合中的兩臺僵尸主機是否屬于同一個僵尸網絡。
3.3 監(jiān)視行為和域名請求、查詢
(1)行為監(jiān)視模塊
行為檢測模塊的主要任務是分析被監(jiān)視網絡數據流和數據包,檢測網內主機是否有惡意行為(例如:緩沖區(qū)溢出、C&C異常通信,以及繁殖/攻擊、掃描漏洞等),最終形成Log日志。
(2)域名請求、查詢監(jiān)視模塊
該模塊的主要任務是針對域名系統發(fā)起的各類請求進行分析,同時判斷查詢數據包內容的合法性,最終形成包含原始數據的Log日志[3]。
3.4 關聯分析
該模塊將行為和域名查詢聚類分析相結合,經關聯分析后判定目標主機是否屬于同一個僵尸網絡。
3.5 僵尸服務器的定位
根據關聯分析判定僵尸主機類簇之后,就能通過檢測這些主機的組群行為特征區(qū)分惡意域名查詢和非惡意域名查詢,從而進一步對僵尸網絡中的僵尸服務器進行精準定位。
4 結論(Conclusion)
本文對僵尸網絡進行了介紹并探討了基于域名特征的僵尸網絡檢測技術的實施框架,希望對更快的檢測僵尸網絡,及時控制其蔓延危害網絡有一定的完善和促進作用。
參考文獻(References)
[1] Nasiri N,et al.Microstructure and tensile properties of castAl-15%Mg2Si composite:Effects of phosphorous additionand heat treatment[J].Materials Science and Engineering:A,2012,556:446-453.
[2] 秦慶東.Mg2Si/Al高危險僵尸網絡攻擊模式全解析[D].計算機與網絡,2011.
[3] 李青山,陳鐘.Domain-flux僵尸網絡域名檢測[J].計算機工程與設計,2012(08):2915-2919.