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