摘 要:僵尸網(wǎng)絡(luò)是當(dāng)前互聯(lián)網(wǎng)中重大安全威脅之一,黑客通過在互聯(lián)網(wǎng)中傳播僵尸病毒,將大量計算機變成自己可控制的僵尸計算機,從而實現(xiàn)攻擊。本文以僵尸網(wǎng)絡(luò)中最常見的IRC僵尸網(wǎng)絡(luò)為例,分析了IRC僵尸網(wǎng)絡(luò)的工作原理,提出利用聚類分析技術(shù)中的馬氏距離算法和歐氏距離算法對IRC僵尸網(wǎng)絡(luò)進行檢測。
關(guān)鍵詞:僵尸網(wǎng)絡(luò);IRC;聚類分析
中圖分類號:TP309.5
學(xué)術(shù)界自2003年開始關(guān)注僵尸網(wǎng)絡(luò)這一新型的網(wǎng)絡(luò)安全威脅,和以往的病毒、蠕蟲等威脅不同,僵尸網(wǎng)絡(luò)是一種從傳統(tǒng)惡意代碼形態(tài)進化而來的新型攻擊方式,控制者在成功完成攻擊后,在受攻擊的系統(tǒng)上植入一個具有遠程控制功能的小程序(bot),并將這些攻陷的機器(僵尸計算機)組成了一個具備一定規(guī)模的網(wǎng)絡(luò),由一臺或多臺控制端控制[1]。僵尸網(wǎng)絡(luò)為攻擊者提供了較為隱匿、并且靈活、高效的一對多命令與控制的機制,可以控制大量的僵尸計算機以達到竊取信息、分布式拒絕服務(wù)攻擊(DDos)和垃圾郵件發(fā)送等攻擊的目的。
僵尸網(wǎng)絡(luò)主要分為三類:IRC僵尸網(wǎng)絡(luò)、HTTP僵尸網(wǎng)絡(luò)和P2P僵尸網(wǎng)絡(luò)。IRC僵尸網(wǎng)絡(luò)是最早產(chǎn)生的,由于IRC網(wǎng)絡(luò)結(jié)構(gòu)簡單、靈活、容易控制,因此直到現(xiàn)在仍然是僵尸網(wǎng)絡(luò)的主流類型。IRC僵尸網(wǎng)絡(luò)是基于互聯(lián)網(wǎng)在線聊天協(xié)議IRC,IRC協(xié)議是一種常用的實時網(wǎng)絡(luò)聊天協(xié)議,應(yīng)用很廣泛,目前大部分聊天軟件都使用的是IRC協(xié)議,而這也為黑客帶來了可乘之機,他們以IRC協(xié)議為基礎(chǔ)建立了他們可控制的IRC僵尸網(wǎng)絡(luò)。如何鑒別網(wǎng)絡(luò)中的計算機是否感染僵尸病毒是網(wǎng)絡(luò)安全的重要任務(wù)之一,本文通過分析研究IRC僵尸網(wǎng)絡(luò)通信數(shù)據(jù)的特征,提出使用聚類分析的技術(shù)來對IRC僵尸網(wǎng)絡(luò)進行檢測。
1 IRC僵尸網(wǎng)絡(luò)的工作原理
IRC僵尸網(wǎng)絡(luò)主要是利用IRC協(xié)議的形式,以一對多的命令和控制的信道來構(gòu)建其控制服務(wù)器,繼而控制IRC服務(wù)器,轉(zhuǎn)發(fā)指令給僵尸計算機,最常見的有AGOBOT,GT-BOTS等。
IRC僵尸網(wǎng)絡(luò)的基本原理是:黑客通過控制IRC服務(wù)器傳播僵尸病毒到正常計算機,然后創(chuàng)建他們特殊的通信頻道,被感染了僵尸病毒的計算機會根據(jù)病毒程序所設(shè)定好的配置登錄到黑客指定的通信頻道,黑客本身并不直接登錄IRC服務(wù)器,而是通過網(wǎng)絡(luò)中的某一臺主機發(fā)送各種控制指令,僵尸收到指令后開始實施攻擊,進而對僵尸網(wǎng)絡(luò)實施控制。其工作原理如圖1所示。
IRC僵尸網(wǎng)絡(luò)從傳播到發(fā)起攻擊主要經(jīng)歷了僵尸病毒的傳播、僵尸網(wǎng)絡(luò)的控制、攻擊目標三個步驟,其中命令控制僵尸網(wǎng)絡(luò)是其整個工作機制的核心部分。
1.1 僵尸病毒的傳播
僵尸網(wǎng)絡(luò)主要是通過在主機上植入僵尸程序來構(gòu)建的,傳播的方式主要是通過遠程漏洞掃描、弱口令掃描、郵件附件、惡意文檔、文件共享等。對于IRC網(wǎng)絡(luò)來說,黑客通過找到IRC服務(wù)器的漏洞,將僵尸病毒上傳到IRC服務(wù)器上,使得登錄IRC服務(wù)器的用戶在安裝聊天軟件時被植入僵尸病毒,成為僵尸計算機。黑客一般使用動態(tài)域名服務(wù)將僵尸程序連接的域名映射到他所控制的多臺IRC服務(wù)器上,以避免由于單一服務(wù)器被摧毀后導(dǎo)致整個僵尸網(wǎng)絡(luò)癱瘓。
1.2 僵尸網(wǎng)絡(luò)的控制
黑客會將僵尸程序加入其私有的IRC命令與控制信道中,當(dāng)黑客和已被其植入僵尸病毒程序的僵尸計算機,登錄到其控制的IRC服務(wù)器上時,黑客會用一些常用的口令如login、!login、!auth等來驗證僵尸計算機。
1.3 攻擊目標
當(dāng)黑客的控制權(quán)限被僵尸計算機認證通過后,這些僵尸計算機就會即可執(zhí)行由黑客發(fā)出的各種指令。目前黑客對僵尸網(wǎng)絡(luò)的攻擊主要還是分布式拒絕服務(wù)、垃圾郵件、網(wǎng)絡(luò)釣魚、點擊欺詐、信息竊取等,雖然沒有新的攻擊形式,但其攻擊的能力逐漸增強,可以讓大面積的服務(wù)發(fā)生故障。
通過IRC僵尸網(wǎng)絡(luò)的工作原理,我們可以知道在僵尸計算機登錄IRC服務(wù)器時,其登錄的昵稱的命名規(guī)則會被僵尸病毒所記錄,因為很多僵尸計算機可能登錄的是同一臺IRC服務(wù)器,因此昵稱會有相似性,對于登錄同一臺IRC服務(wù)器的僵尸計算機還會具備集群性。在黑客攻擊指令發(fā)送時,僵尸計算機接受到的是同一指令,這樣又具有了一致性。因此,總結(jié)下來IRC僵尸網(wǎng)絡(luò)的行為具有相似性,集群性和一致性的特征,而正常的計算機在通信過程中表現(xiàn)出的則是隨機性、離散性及模糊性等特點,介于這兩種計算機的不同特征,我們可以利用聚類分析的方法找出計算機在通信時數(shù)據(jù)的不同來區(qū)分IRC僵尸網(wǎng)絡(luò)和正常網(wǎng)絡(luò)。
2 聚類分析技術(shù)在IRC僵尸網(wǎng)絡(luò)檢測中的應(yīng)用
2.1 聚類分析技術(shù)
由于在同一個僵尸網(wǎng)絡(luò)中,所有的僵尸計算機都會被植入同一類型的僵尸病毒,因此這些僵尸計算機會顯現(xiàn)出一些相似的特征。我們可以將這些表現(xiàn)出來的各種特征通過聚類分析的技術(shù)來檢測僵尸網(wǎng)絡(luò)。
聚類分析是指將物理或抽象對象的集合分組成為由類似的對象組成的多個類的分析過程[2]。聚類分析可以從大量數(shù)據(jù)中自動歸納出這些數(shù)據(jù)的相似性,同時將不同特征的數(shù)據(jù)進行分類。目前在數(shù)學(xué)、計算機、統(tǒng)計學(xué)、經(jīng)濟學(xué)等領(lǐng)域都運用到了大量的聚類分析技術(shù),并取得了良好的成效。本文對于IRC僵尸網(wǎng)絡(luò)的檢測,也將采用聚類分析的方法,對僵尸網(wǎng)絡(luò)中的各個節(jié)點的行為特征的數(shù)據(jù)進行分析。
2.2 僵尸病毒分析
在上面的IRC僵尸網(wǎng)絡(luò)的工作原理中,我們了解到正常計算機在通信過程中的數(shù)據(jù)的特點是隨機性、離散性及模糊性,而在僵尸計算機中,其在通信過程中的數(shù)據(jù)的特點是相似性、單向性和聚集性,并且結(jié)構(gòu)簡單,不夠靈活。因此,我們可以通過找出正常計算機和僵尸計算機的昵稱命名規(guī)則、通信端口號、應(yīng)答次數(shù)、數(shù)據(jù)包流量、數(shù)據(jù)包的數(shù)據(jù)信息等來進行僵尸病毒的分析。
在模擬的IRC僵尸網(wǎng)絡(luò)的環(huán)境中,我們發(fā)現(xiàn)僵尸計算機的登錄名稱信息表現(xiàn)出了高度的相似性。通過分析,可以歸納出以下幾點規(guī)律:
(1)僵尸計算機通常使用的昵稱是比較有規(guī)律的,一般由字母、數(shù)字和符號組成;
(2)僵尸計算機一般用比較固定的IP地址連接到IRC服務(wù)器;
(3)僵尸計算機主要是接收數(shù)據(jù)信息;
(4)僵尸計算機的任務(wù)管理器中會出現(xiàn)異常進程,例如:sdbot.exe等;
(5)僵尸計算機產(chǎn)生的IRC協(xié)議數(shù)據(jù)包總是處于一個比較低的比例。
2.3 聚類分析技術(shù)在IRC僵尸網(wǎng)絡(luò)檢測算法中的應(yīng)用
由于IRC網(wǎng)絡(luò)的應(yīng)用廣泛,使得IRC網(wǎng)絡(luò)中的僵尸病毒品種繁多,經(jīng)常變異,很難獲取到合適的比對樣本,針對此類情況,本文將采用聚類分析技術(shù)對僵尸網(wǎng)絡(luò)的昵稱特征和異常行為特征進行分析檢測。
聚類分析的常用算法有馬氏距離算法(MABC)和歐氏距離算法(ONF),前者可以排除數(shù)據(jù)包總量及產(chǎn)生字節(jié)數(shù)等大數(shù)量級向量特征所造成的數(shù)據(jù)計算偏差[3],后者能夠在計算昵稱字符串長度等數(shù)量級較小的向量屬性的距離系數(shù)時發(fā)揮出更好的性能[4],因此,對昵稱特征的聚類分析應(yīng)用歐氏距離算法,對異常行為特征的聚類分析應(yīng)用馬氏距離算法并加以改進。
首先,我們將現(xiàn)有網(wǎng)絡(luò)進行設(shè)置,拓撲圖如圖2所示:
(1)基于MABC的異常行為特征檢測算法
馬氏距離(MABC)是由印度統(tǒng)計學(xué)家馬哈拉諾比斯(P.C.Mahalanobis)提出的,表示數(shù)據(jù)的協(xié)方差距離,是計算兩個未知樣本集的相似度的方法。由于在同一個僵尸網(wǎng)絡(luò)中的僵尸計算機在與控制端進行相互通信的過程中所表現(xiàn)出來的特點是一個包含多個要素的復(fù)雜特征向量,且存在某些要素屬性的數(shù)值的數(shù)量級要明顯大于其他屬性的數(shù)量級的情況。為了能夠更好地利用僵尸計算機的通信特征差異值非常小的特點,選用了基于MABC的算法來計算各個檢測點之間的距離系數(shù)。
MABC算法的主要步驟設(shè)計如下:
1)從IRC服務(wù)器的通信數(shù)據(jù)中提取特征向量,設(shè)為x;
2)將提取到的特征向量與預(yù)定的特征向量維度(設(shè)為y)進行比較,如果x>y,則建立特征向量矩陣;反之則表示特征向量值處于正常狀態(tài),繼續(xù)提取特征向量;
3)將建立好的特征向量矩陣運用算法,計算出距離系數(shù),判斷是否在預(yù)定的闕值范圍里,如果在闕值范圍的則表明是受到僵尸病毒感染的,反之則是正常計算機。
(2)基于ONF的昵稱特征檢測算法
歐氏距離算法,是求兩個數(shù)據(jù)項間的差是每個變量值差的平方和再平方根,最終要計算其間的整體距離即不相似性。僵尸計算機在與控制端聯(lián)系過程中所表現(xiàn)出的昵稱命名規(guī)則可以用歐氏距離的算法進行檢測。
ONF算法的主要步驟設(shè)計如下:
1)從IRC服務(wù)器的通信數(shù)據(jù)中提取特征向量;
2)對提取的特征向量計算其距離系數(shù),并求出其最大距離系數(shù)(設(shè)為a)和最小距離系數(shù)(設(shè)為b);
3)采集在{(b-a)/2,(a-b)/2}范圍內(nèi)的數(shù)據(jù),如在這范圍內(nèi)的數(shù)據(jù)在預(yù)定的闕值范圍里,則判斷為僵尸計算機,反之則為正常計算機。
針對以上兩種檢測算法的特點,我們可以將兩種算法進行整合,對IRC僵尸網(wǎng)絡(luò)進行檢測,主要步驟如下:
1)首先,搭建IRC僵尸網(wǎng)絡(luò)的實驗環(huán)境,將環(huán)境中的計算機分為兩部分,一部分為正常用戶,另一部分為僵尸計算機,同時設(shè)置一臺IRC服務(wù)器;
2)然后,選擇一段時間,讓正常計算機和僵尸計算機隨機產(chǎn)生通信數(shù)據(jù);
3)將正常計算機和僵尸計算機產(chǎn)生的通信數(shù)據(jù)進行提取,記錄在實驗環(huán)境中的異常通信行為和僵尸計算機的昵稱特征;
4)根據(jù)昵稱特征算法,對提取到的昵稱特征數(shù)據(jù)計算其特征向量,求出距離系數(shù);根據(jù)異常行為特征算法,對提取到的異常行為數(shù)據(jù)計算其特征向量,求出距離系數(shù);
5)根據(jù)計算得出的距離系數(shù),分別建立昵稱特征向量集和異常行為特征向量集,然后判斷這些集合是否大于預(yù)定的特征向量維度值;
6)最后根據(jù)獲得的結(jié)果進行對比,區(qū)分網(wǎng)絡(luò)中的計算機哪些是僵尸計算機,哪些是正常計算機,一般情況下兩種結(jié)果都命中的即為僵尸計算機。
3 總結(jié)
僵尸網(wǎng)絡(luò)已經(jīng)成為安全領(lǐng)域共同關(guān)注的熱點,其破壞力是非常驚人的,而且僵尸網(wǎng)絡(luò)的數(shù)量增長快速,對僵尸網(wǎng)絡(luò)檢測的方法和工具還不是很完備,仍然是以特征的對比檢測以及流量的檢測為主,本文以IRC僵尸網(wǎng)絡(luò)為研究對象,借助聚類分析的兩種算法,即MABC算法和ONF算法對僵尸計算機的昵稱特征和異常行為特征進行檢測,從而區(qū)分僵尸計算機和正常計算機。
參考文獻:
[1]諸葛建偉,韓心慧,葉志遠.僵尸網(wǎng)絡(luò)的發(fā)現(xiàn)與跟蹤[C].中國網(wǎng)絡(luò)與信息安全技術(shù)研討會論文集,2005:183-189.
[2]呂新榮,陸世偉.基于聚類技術(shù)的僵尸網(wǎng)絡(luò)檢測方案[J].計算機工程,2011,37(7):166-170.
[3]張翔,王士同.一種基于馬氏距離的可能性聚類方法[J].數(shù)據(jù)采集與處理,2011,26(1):101-105.
[4]Xiangyang Li,Cluster and classification algorithm for computer intrusion detection[J],Arizona State University,2009.
[5]王威,方濱興,崔翔.基于終端行為特征的IRC僵尸網(wǎng)絡(luò)檢測[J].計算機學(xué)報,2009,32(10):1980-1988.
[6]孫吉貴,劉杰,趙連宇.聚類算法研究[J].軟件學(xué)報,2008,19(1):51-52.
[7]孫彥東,李東.僵尸網(wǎng)絡(luò)綜述[J].計算機應(yīng)用,2006,26(7):1628-1630.
[8]謝靜,譚良.半分布式P2P僵尸網(wǎng)絡(luò)的偽蜜罐檢測方法[J].計算機工程,2010,36(14):111-116.
[9]董開坤,劉揚,郭栗等.P2P僵尸網(wǎng)絡(luò)檢測技術(shù)[J].信息安全與通信保密,2008,(4):34-36.
[10]應(yīng)凌云,馮登國,蘇璞睿.基于P2P的僵尸網(wǎng)絡(luò)及其防御[J].電子學(xué)報,2009,31(1):31-37.
作者簡介:倪懿(1978-),女,碩士,蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,研究方向:計算機網(wǎng)絡(luò)、數(shù)據(jù)挖掘。