金渝筌,謝彬,朱毅
?
基于通信相似度的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)方法
金渝筌1,2,謝彬1,朱毅2
(1. 中國(guó)工程物理研究院電子工程研究所,四川 綿陽(yáng) 621900; 2. 四川大學(xué),四川 成都 610065)
目前,僵尸網(wǎng)絡(luò)檢測(cè)方法大多依靠對(duì)僵尸網(wǎng)絡(luò)通信活動(dòng)或通信內(nèi)容的分析,前者對(duì)數(shù)據(jù)流的特征進(jìn)行統(tǒng)計(jì)分析,不涉及數(shù)據(jù)流中的內(nèi)容,在檢測(cè)加密類(lèi)型方面具有較強(qiáng)優(yōu)勢(shì),但準(zhǔn)確性較低;后者依賴先驗(yàn)知識(shí)進(jìn)行檢測(cè),具有較強(qiáng)的準(zhǔn)確度,但檢測(cè)的通用性較低。因此,根據(jù)杰卡德相似度系數(shù)定義了通信相似度,并提出了一種基于用戶請(qǐng)求域名系統(tǒng)(DNS,domain name system)的通信相似度計(jì)算方法,用于基于網(wǎng)絡(luò)流量的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)。最后,基于Spark框架對(duì)所提出的方法進(jìn)行了實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明該方法可以有效地用于僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)。
僵尸網(wǎng)絡(luò);相似度檢測(cè);DNS流量檢測(cè);網(wǎng)絡(luò)安全
自僵尸網(wǎng)絡(luò)1993年被首次提出至今已經(jīng)過(guò)了很長(zhǎng)時(shí)間,但是攻擊者不斷更新僵尸網(wǎng)絡(luò)的隱藏、逃匿、加密等技術(shù),致使研究人員對(duì)僵尸網(wǎng)絡(luò)的探索從未停止。僵尸網(wǎng)絡(luò)使攻擊者擁有了一個(gè)攻擊平臺(tái),利用這個(gè)平臺(tái)攻擊者可以發(fā)起各類(lèi)攻擊從而造成各類(lèi)安全問(wèn)題:①發(fā)起分布式拒絕服務(wù)攻擊(DDoS,distributed denial of service),相比拒絕服務(wù)攻擊,使用僵尸網(wǎng)絡(luò)發(fā)起分布式拒絕服務(wù)攻擊更具威脅,如Mirai僵尸網(wǎng)絡(luò)造成了“美國(guó)斷網(wǎng)”事件;②發(fā)送垃圾郵件,如Rustock僵尸網(wǎng)絡(luò),其每天可發(fā)送近300億垃圾郵件;③竊取資源,僵尸網(wǎng)絡(luò)可以從僵尸主機(jī)中竊取包括個(gè)人信息、敏感數(shù)據(jù)、計(jì)算資源等各類(lèi)網(wǎng)絡(luò)資源;④惡意軟件發(fā)布,僵尸網(wǎng)絡(luò)可以用作惡意軟件的發(fā)布平臺(tái),如著名的Zeus[1]就是惡意軟件的發(fā)布平臺(tái)。目前,越來(lái)越多的攻擊者利用僵尸網(wǎng)絡(luò)進(jìn)行各種惡意攻擊,僵尸網(wǎng)絡(luò)的檢測(cè)已成為網(wǎng)絡(luò)安全研究人員所關(guān)注的重點(diǎn)之一,研究僵尸網(wǎng)絡(luò)檢測(cè)技術(shù)對(duì)于學(xué)術(shù)和工程實(shí)踐均具有重要意義。
本文針對(duì)僵尸網(wǎng)絡(luò)的通信特點(diǎn),根據(jù)杰卡德相似度系數(shù)(Jaccard系數(shù))定義了通信相似度,并對(duì)DNS通信數(shù)據(jù)進(jìn)行分析,提出了基于用戶請(qǐng)求DNS的通信相似度的僵尸網(wǎng)絡(luò)檢測(cè)方法。且通過(guò)實(shí)驗(yàn)驗(yàn)證了該方法能夠有效地用于僵尸網(wǎng)絡(luò)節(jié)點(diǎn)的檢測(cè)。
學(xué)者在研究僵尸網(wǎng)絡(luò)的過(guò)程中對(duì)其定義略有不同,方濱興等[2]認(rèn)為僵尸網(wǎng)絡(luò)是一種通過(guò)入侵網(wǎng)絡(luò)空間內(nèi)若干非合作用戶終端構(gòu)建的、可被攻擊者遠(yuǎn)程控制的通用計(jì)算平臺(tái);諸葛建偉等[3]認(rèn)為僵尸網(wǎng)絡(luò)是攻擊者出于惡意目的,傳播僵尸程序控制大量主機(jī),并通過(guò)一對(duì)多的命令與控制信道所組成的網(wǎng)絡(luò);Hoque等[4]認(rèn)為僵尸網(wǎng)絡(luò)是指一系列由惡意實(shí)體控制感染了惡意軟件的主機(jī)實(shí)體。從整體而言,僵尸網(wǎng)絡(luò)由3個(gè)部分組成:僵尸主機(jī)(Bots)、攻擊者(Botmaster)以及遠(yuǎn)程控制方法。僵尸主機(jī)是指對(duì)于被入侵事件并不知情的僵尸網(wǎng)絡(luò)受控主機(jī)。攻擊者是指對(duì)僵尸網(wǎng)絡(luò)具有實(shí)際操控權(quán)的控制者。遠(yuǎn)程控制方法即命令與控制(C&C,command and control)信道,是指攻擊者用來(lái)對(duì)僵尸主機(jī)發(fā)布命令的方法。僵尸網(wǎng)絡(luò)起源于幫助IRC網(wǎng)絡(luò)聊天室的管理員高效管理網(wǎng)絡(luò)的程序“Eggdrop”[5],而1998年出現(xiàn)的GTBot則是第一個(gè)惡意僵尸網(wǎng)絡(luò)。時(shí)至今日依然有部分僵尸網(wǎng)絡(luò)使用IRC協(xié)議進(jìn)行通信,如Chuck Norris、LightAidra、Tsunami等[6]。
僵尸網(wǎng)絡(luò)檢測(cè)技術(shù)是為了發(fā)現(xiàn)僵尸網(wǎng)絡(luò)的存在,并且檢測(cè)出其中部分僵尸主機(jī)節(jié)點(diǎn)[2]。目前,僵尸網(wǎng)絡(luò)檢測(cè)技術(shù)主要分為5種類(lèi)型:基于蜜網(wǎng)進(jìn)行捕獲分析、基于通信內(nèi)容的僵尸網(wǎng)絡(luò)檢測(cè)、基于異常行為的僵尸網(wǎng)絡(luò)檢測(cè)、基于安全設(shè)備日志的僵尸網(wǎng)絡(luò)檢測(cè)以及基于網(wǎng)絡(luò)流量分析的僵尸網(wǎng)絡(luò)檢測(cè)。
基于通信內(nèi)容的僵尸網(wǎng)絡(luò)檢測(cè)是指通過(guò)深度報(bào)文識(shí)別(DPI,deep packet inspect)等技術(shù)使用預(yù)先設(shè)置的特征碼進(jìn)行正則匹配或規(guī)則匹配,從而發(fā)現(xiàn)僵尸網(wǎng)絡(luò)。該方法常用于各大廠商(如Cisco、華為、深信服等)的防火墻等安全設(shè)備中,其檢測(cè)效率高、精度準(zhǔn),但是需要維護(hù)龐大的僵尸網(wǎng)絡(luò)特征庫(kù)并實(shí)時(shí)更新,對(duì)新出現(xiàn)的僵尸網(wǎng)絡(luò)檢測(cè)效果較差。
基于異常行為的僵尸網(wǎng)絡(luò)檢測(cè)是指通過(guò)識(shí)別網(wǎng)絡(luò)中主機(jī)的異常通信行為對(duì)僵尸網(wǎng)絡(luò)進(jìn)行檢測(cè)的方法。北京郵電大學(xué)的王新良提出了一種基于指紋特征自提取的僵尸網(wǎng)絡(luò)檢測(cè)方法,并結(jié)合僵尸網(wǎng)絡(luò)流統(tǒng)計(jì)特征和僵尸網(wǎng)絡(luò)行為特征對(duì)僵尸網(wǎng)絡(luò)進(jìn)行檢測(cè),大幅度提升了僵尸網(wǎng)絡(luò)檢測(cè)率。Zeidanloo等[7]基于同一個(gè)僵尸網(wǎng)絡(luò)的數(shù)據(jù)分組具有一些相同的特征這一判斷,對(duì)數(shù)據(jù)分組的主機(jī)地址、端口號(hào)、數(shù)目等特征進(jìn)行了分析,然后通過(guò)比較計(jì)算得到僵尸網(wǎng)絡(luò)流量的相似性并以此進(jìn)行檢測(cè)?;诋惓P袨榈慕┦W(wǎng)絡(luò)檢測(cè)由于需要對(duì)攻擊行為進(jìn)行預(yù)先研究和分析,不適用于檢測(cè)新型僵尸網(wǎng)絡(luò)。
基于安全設(shè)備日志的僵尸網(wǎng)絡(luò)檢測(cè)是指通過(guò)郵件網(wǎng)關(guān)日志、防火墻日志等安全設(shè)備日志分析,建立安全事件與僵尸網(wǎng)絡(luò)之間的關(guān)聯(lián),從而對(duì)僵尸網(wǎng)絡(luò)進(jìn)行檢測(cè)。Gu等[8]基于同一局域網(wǎng)中Bots網(wǎng)絡(luò)行為在時(shí)空上的關(guān)聯(lián)性假設(shè),結(jié)合掃描、二進(jìn)制文件下載、spam等異常事件日志進(jìn)行關(guān)聯(lián)分析,提出了IRC、HTTP流量中僵尸網(wǎng)絡(luò)的識(shí)別方法。鄧國(guó)強(qiáng)[9]提出了一種郵件行為異常和郵件內(nèi)容相似性匹配相結(jié)合的僵尸網(wǎng)絡(luò)檢測(cè)方法,該方法不僅可以發(fā)現(xiàn)多個(gè)具有一定規(guī)模的僵尸網(wǎng)絡(luò),還能用于垃圾郵件檢測(cè)。
基于網(wǎng)絡(luò)流量分析的僵尸網(wǎng)絡(luò)檢測(cè)是通過(guò)網(wǎng)絡(luò)流量分析,檢測(cè)網(wǎng)絡(luò)中是否存在僵尸網(wǎng)絡(luò)C&C通信,并通過(guò)C&C信道的檢測(cè)和分析定位僵尸主機(jī),發(fā)現(xiàn)僵尸網(wǎng)絡(luò)。Narang等[10]基于正常P2P通信成員與僵尸網(wǎng)絡(luò)P2P通信成員之間特征不同,提出了一種對(duì)網(wǎng)絡(luò)會(huì)話進(jìn)行統(tǒng)計(jì)分析的檢測(cè)僵尸網(wǎng)絡(luò)的方法。此方法可以對(duì)加密的僵尸網(wǎng)絡(luò)進(jìn)行檢測(cè),但因其忽略了大量信息,對(duì)于一些隱蔽性較強(qiáng)的僵尸網(wǎng)絡(luò)檢測(cè)率不高。張維維等[11]從域名的依賴性和使用位置兩方面刻畫(huà)DNS活動(dòng)行為模式,并基于有監(jiān)督的多分類(lèi)器模型提出了一種DAOS算法,該算法可以有效地檢測(cè)僵尸網(wǎng)絡(luò)、釣魚(yú)網(wǎng)站以及垃圾郵件等惡意活動(dòng)。
在上述僵尸網(wǎng)絡(luò)檢測(cè)方法中,網(wǎng)絡(luò)流量分析方法是一種非侵入式方法,以旁路方式部署在小型網(wǎng)絡(luò)邊界及骨干網(wǎng)上,既可以細(xì)粒度地監(jiān)測(cè)特定用戶網(wǎng)絡(luò),又可以并發(fā)檢測(cè)僵尸網(wǎng)絡(luò),是當(dāng)前主流的僵尸網(wǎng)絡(luò)檢測(cè)方法之一,也是本文用于研究僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)的方法。
本節(jié)首先簡(jiǎn)要介紹了僵尸網(wǎng)絡(luò)結(jié)構(gòu)、杰卡德相似系數(shù)等概念;然后基于杰卡德相似度系數(shù)定義了通信相似度,并提出了用于僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)的基于DNS流量的檢測(cè)方法;最后基于Spark框架對(duì)提出的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)方法進(jìn)行了實(shí)現(xiàn)和驗(yàn)證。
3.1.1 僵尸網(wǎng)絡(luò)結(jié)構(gòu)
目前在僵尸網(wǎng)絡(luò)研究中,其結(jié)構(gòu)主要分為3種模式:集中模式、純P2P模式以及混合模式,如圖1所示。
圖1 僵尸網(wǎng)絡(luò)結(jié)構(gòu)
集中模式采用客戶端–服務(wù)器(C/S)模式,在該模式中所有的僵尸主機(jī)與控制服務(wù)器連接獲取控制命令,如圖1(a)所示。在純P2P模式中每個(gè)僵尸主機(jī)既充當(dāng)僵尸程序的客戶端也充當(dāng)僵尸網(wǎng)絡(luò)的服務(wù)器,如圖1(b)所示?;旌夏J降慕┦W(wǎng)絡(luò)結(jié)構(gòu)將僵尸網(wǎng)絡(luò)分為多層,既具有專(zhuān)門(mén)的控制服務(wù)器又使用僵尸主機(jī)作為客戶端和服務(wù)器,如圖1(c)所示。其中,使用分層結(jié)構(gòu)混合模式的僵尸主機(jī)為本文檢測(cè)內(nèi)容。
3.1.2 杰卡德相似度系數(shù)
那么,集合、的杰卡德相似度系數(shù)可以表示為
集合、的杰卡德距離可以表示為
僵尸網(wǎng)絡(luò)中的僵尸主機(jī)節(jié)點(diǎn)在產(chǎn)生共同活動(dòng)(如DDoS攻擊、垃圾郵件發(fā)送等)時(shí),其節(jié)點(diǎn)會(huì)產(chǎn)生共同或類(lèi)似的網(wǎng)絡(luò)通信行為,基于此提出了使用僵尸網(wǎng)絡(luò)節(jié)點(diǎn)通信相似度對(duì)僵尸網(wǎng)絡(luò)進(jìn)行檢測(cè)的方法。由于主機(jī)在通信過(guò)程中大多情況下使用DNS服務(wù),因此本文的通信相似度檢測(cè)基于DNS流量進(jìn)行,即通信相似度是指客戶機(jī)在DNS服務(wù)中請(qǐng)求域名的相似度。
本文中僵尸網(wǎng)絡(luò)節(jié)點(diǎn)通信相似度定義如下。
由于杰卡德相似度系數(shù)不考慮用戶評(píng)分的影響,本文僅計(jì)算符號(hào)度量或布爾值度量的個(gè)體間的相似度,對(duì)杰卡德相似度系數(shù)的計(jì)算進(jìn)行了修改以適應(yīng)僵尸網(wǎng)絡(luò)節(jié)點(diǎn)通信相似度的計(jì)算。
僵尸網(wǎng)絡(luò)節(jié)點(diǎn)相似度計(jì)算方式如下。
本文使用Spark實(shí)現(xiàn)僵尸網(wǎng)絡(luò)節(jié)點(diǎn)的通信相似度計(jì)算,其計(jì)算流程如圖2所示。首先從DNS流量中獲取所需信息,包括客戶端IP、請(qǐng)求域名以及請(qǐng)求域名次數(shù);然后將提取的信息以客戶端IP為主要鍵值進(jìn)行笛卡爾積計(jì)算形成客戶端與集合的數(shù)據(jù)集,接著分別計(jì)算每對(duì)節(jié)點(diǎn)的通信相似度;最后過(guò)濾出節(jié)點(diǎn)通信相似度大于0.9的IP對(duì)作為最終輸出結(jié)果。
圖2 節(jié)點(diǎn)通信相似度計(jì)算流程
在僵尸網(wǎng)絡(luò)節(jié)點(diǎn)相似度計(jì)算過(guò)程中,計(jì)算量往往較大,而且在計(jì)算過(guò)程中會(huì)使用笛卡爾積進(jìn)行數(shù)據(jù)關(guān)聯(lián)操作,這會(huì)使計(jì)算數(shù)據(jù)以平方倍數(shù)增加,造成無(wú)法計(jì)算或計(jì)算時(shí)間過(guò)長(zhǎng)的問(wèn)題。針對(duì)該問(wèn)題,本文對(duì)僵尸網(wǎng)絡(luò)節(jié)點(diǎn)相似度在Spark中的計(jì)算流程進(jìn)行優(yōu)化,使計(jì)算時(shí)間下降到可計(jì)算范圍內(nèi)。優(yōu)化后的節(jié)點(diǎn)通信相似度計(jì)算流程如圖3所示。
算法實(shí)現(xiàn)的具體步驟如下。
步驟1 讀取DNS流量。
步驟2 提取DNS流量中的有效信息,包括客戶端IP、請(qǐng)求域名、客戶端請(qǐng)求域名次數(shù)以及客戶端請(qǐng)求DNS次數(shù)。
步驟3 根據(jù)客戶端請(qǐng)求DNS次數(shù)的對(duì)數(shù)結(jié)果將數(shù)據(jù)進(jìn)行分塊。
步驟4 對(duì)每一個(gè)分塊計(jì)算其自身以及相鄰分塊的笛卡爾積。
步驟5 對(duì)步驟4的計(jì)算結(jié)果求取相似度。
步驟6 獲取相似度不小于0.9的數(shù)據(jù)計(jì)算結(jié)果,并將所有計(jì)算結(jié)果進(jìn)行union操作。
步驟7 輸出最終計(jì)算結(jié)果,節(jié)點(diǎn)通信相似度計(jì)算完畢。
本文主要考慮通過(guò)IP請(qǐng)求DNS的次數(shù)對(duì)數(shù)據(jù)進(jìn)行分割,以減少進(jìn)行笛卡爾積計(jì)算后數(shù)據(jù)的增量。本文中的節(jié)點(diǎn)通信相似度計(jì)算在杰卡德相似度系數(shù)計(jì)算基礎(chǔ)上充分考慮了用戶的評(píng)分情況,其計(jì)算結(jié)果與用戶使用DNS的次數(shù)呈正相關(guān),當(dāng)用戶使用次數(shù)具有較大差異時(shí),其節(jié)點(diǎn)通信相似度不可能較大。基于此,某DNS服務(wù)器在2017年2月1日至2月10日對(duì)用戶請(qǐng)求分布進(jìn)行了統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果如圖4所示。
圖3 基于Spark的通信相似度計(jì)算實(shí)現(xiàn)流程
圖4 IP請(qǐng)求次數(shù)與IP平均數(shù)分布
由圖4可以看出,IP請(qǐng)求DNS服務(wù)次數(shù)與IP數(shù)目呈現(xiàn)明顯的冪律分布,因此本文采用IP請(qǐng)求次數(shù)的對(duì)數(shù)進(jìn)行數(shù)據(jù)分割。再使用分割后的數(shù)據(jù)集求取其自身與相鄰分割模塊的笛卡爾積,然后計(jì)算其相似度并按照相似度大于0.9的條件對(duì)處理數(shù)據(jù)進(jìn)行篩選,最后將處理結(jié)果進(jìn)行union操作,輸出最終的節(jié)點(diǎn)通信相似度檢測(cè)結(jié)果。
3.5.1 實(shí)驗(yàn)數(shù)據(jù)說(shuō)明
本文中所有數(shù)據(jù)采集、實(shí)驗(yàn)過(guò)程,以及使用的DNS流量數(shù)據(jù)均基于網(wǎng)絡(luò)業(yè)務(wù)與安全態(tài)勢(shì)大數(shù)據(jù)分析平臺(tái)[13]。該平臺(tái)部署了Hadoop實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的大規(guī)模存儲(chǔ),同時(shí)通過(guò)Spark、MapReduce等計(jì)算框架實(shí)現(xiàn)網(wǎng)絡(luò)安全大數(shù)據(jù)分析。對(duì)于數(shù)據(jù)存儲(chǔ)主要使用HDFS、Hive、MySQL等存儲(chǔ)組件,其中,HDFS和Hive負(fù)責(zé)大規(guī)模數(shù)據(jù)的分布式存儲(chǔ),MySQL用于存儲(chǔ)平臺(tái)分析結(jié)果和少量分析配置信息。
3.5.2 節(jié)點(diǎn)通信相似度有效性驗(yàn)證實(shí)驗(yàn)
1) 實(shí)驗(yàn)數(shù)據(jù)集
為了驗(yàn)證算法的有效性,本文使用2017年3月21日的DNS流量數(shù)據(jù)進(jìn)行計(jì)算,網(wǎng)絡(luò)業(yè)務(wù)與安全態(tài)勢(shì)大數(shù)據(jù)分析平臺(tái)顯示當(dāng)日數(shù)據(jù)出現(xiàn)了小規(guī)模的DNS異常請(qǐng)求,其為DDoS攻擊事件。在當(dāng)日數(shù)據(jù)中發(fā)現(xiàn)有24個(gè)IP在DNS請(qǐng)求上具有極強(qiáng)的通信相似性,如圖5所示,圖中24個(gè)IP大量訪問(wèn)部分域名,且訪問(wèn)內(nèi)容具有很強(qiáng)的相似度。此次攻擊與本文提出的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)通信的相似度非常相似。
圖5 2017年3月21日疑似DDoS攻擊事件
2017年3月21日的DNS流量數(shù)據(jù)規(guī)模如表1所示。
表1 節(jié)點(diǎn)通信相似度有效性驗(yàn)證數(shù)據(jù)規(guī)模
2) 實(shí)驗(yàn)結(jié)果與分析
根據(jù)本文提出的節(jié)點(diǎn)通信相似度算法,對(duì)2017年3月21日的DNS流量進(jìn)行統(tǒng)計(jì),并以IP為點(diǎn),相似度不小于0.9為邊建立關(guān)系圖,如圖6所示。圖中圈內(nèi)為24個(gè)根據(jù)網(wǎng)絡(luò)業(yè)務(wù)與安全態(tài)勢(shì)大數(shù)據(jù)分析平臺(tái)找出的DDoS攻擊IP,即僵尸網(wǎng)絡(luò)節(jié)點(diǎn)。
圖6 節(jié)點(diǎn)相似度關(guān)系
由此,通過(guò)本文提出的節(jié)點(diǎn)通信相似度算法可以檢測(cè)出僵尸網(wǎng)絡(luò)。此外,圈外還存在大量IP相似關(guān)系,經(jīng)分析其行為與24個(gè)事先找出的IP行為十分相似,但訪問(wèn)量低,非DDoS攻擊,即非僵尸網(wǎng)絡(luò)節(jié)點(diǎn)。綜上,本文提出的節(jié)點(diǎn)通信相似度算法是一種有效的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)方法。
3.5.3 優(yōu)化算法有效性驗(yàn)證實(shí)驗(yàn)
1) 實(shí)驗(yàn)數(shù)據(jù)與環(huán)境
為了驗(yàn)證優(yōu)化算法的有效性,本文使用2017年3月21日的DNS流量數(shù)據(jù)進(jìn)行計(jì)算,其數(shù)據(jù)規(guī)模如表1所示。為進(jìn)行算法優(yōu)化先后的對(duì)比,需要保證優(yōu)化前后算法運(yùn)行環(huán)境的一致性,因此本實(shí)驗(yàn)中對(duì)Spark程序的運(yùn)行環(huán)境進(jìn)行了限定,具體配置如表2所示。
表2 Spark程序運(yùn)行環(huán)境
2) 評(píng)價(jià)標(biāo)準(zhǔn)
3) 實(shí)驗(yàn)結(jié)果與分析
根據(jù)本文提出的節(jié)點(diǎn)相似度算法及其優(yōu)化算法,分別對(duì)2017年3月21日DNS流量進(jìn)行統(tǒng)計(jì),其時(shí)間消耗如圖7所示,根據(jù)式(6)計(jì)算可得其算法速度提升率為1756.60%,因此,本文提出的優(yōu)化方案大大降低了算法時(shí)間消耗。
圖7 計(jì)算時(shí)間消耗
對(duì)于Spark shuffle消耗,本實(shí)驗(yàn)也做了相關(guān)統(tǒng)計(jì),其結(jié)果如圖8所示,根據(jù)式(7)計(jì)算得出shuffle減少率為83.33%,因此,本文提出的優(yōu)化方案大大降低了在Spark計(jì)算中的shuffle消耗。綜上所述,本文提出的僵尸網(wǎng)絡(luò)節(jié)點(diǎn)相似度優(yōu)化算法是有效的。
圖8 shuffle消耗量
本文根據(jù)杰卡德相似度系數(shù)定義了通信相似度,并提出了一種基于用戶DNS流量請(qǐng)求的通信相似度計(jì)算方法,用于僵尸網(wǎng)絡(luò)節(jié)點(diǎn)檢測(cè)。該方法基于Spark框架進(jìn)行了實(shí)現(xiàn),并基于網(wǎng)絡(luò)業(yè)務(wù)與安全態(tài)勢(shì)大數(shù)據(jù)分析平臺(tái)的網(wǎng)絡(luò)流量監(jiān)控?cái)?shù)據(jù)進(jìn)行了驗(yàn)證,驗(yàn)證結(jié)果表明該方法可以有效地用于僵尸網(wǎng)絡(luò)節(jié)點(diǎn)的檢測(cè)。
本文中對(duì)節(jié)點(diǎn)通信相似度的計(jì)算以及拓?fù)浣Y(jié)構(gòu)分析過(guò)程,由于數(shù)據(jù)量龐大、特征時(shí)間跨度較大以及算法未能分布式實(shí)現(xiàn)等問(wèn)題,僅對(duì)單日的數(shù)據(jù)進(jìn)行檢測(cè)與發(fā)現(xiàn)。對(duì)于威脅性更大、處于爆發(fā)階段的僵尸網(wǎng)絡(luò)需要在盡量短的時(shí)間內(nèi)實(shí)現(xiàn)其檢測(cè)和發(fā)現(xiàn),因此,未來(lái)將針對(duì)算法和特征進(jìn)一步實(shí)現(xiàn)優(yōu)化,使其可以分布式、實(shí)時(shí)地對(duì)僵尸網(wǎng)絡(luò)進(jìn)行檢測(cè)。
[1] FALLIERE N, CHIEN E. Zeus: king of the bots, 2009[EB/OL]. http://www. symantec. com/content/en/us/ enterprise/ media/ security_ response/whitepapers/zeus_king_of_bots. pdf. 2014: 07-30.
[2] 方濱興, 崔翔, 王威. 僵尸網(wǎng)絡(luò)綜述[J]. 計(jì)算機(jī)研究與發(fā)展, 2011, 48(8): 1315-1331
FANG B X, CUI X, WANG W. Survey of botnets[J]. Journal of Computer Research and Development, 2011, 48(8): 1315-1331..
[3] 諸葛建偉, 韓心慧, 周勇林, 等. 僵尸網(wǎng)絡(luò)研究[J]. 軟件學(xué)報(bào), 2008, 19(3): 702-715
ZHUGE J W, HAN X H,ZHOU Y L, et al. Research and Development of Botnets[J]. Journal of Software, 2008, 19(3): 702-715
[4] HOQUE N, BHATTACHaryya D K, KALITA J K. Botnet in DDoS attacks: trends and challenges[J]. IEEE Communications Surveys & Tutorials, 2015, 17(4):2242-2270.
[5] IRC Eggdrop: open source bot[EB/OL]. http://www.eggheads.org/, 1993.
[6] 李可. 基于行為分析的僵尸網(wǎng)絡(luò)對(duì)抗技術(shù)研究[D]. 北京郵電大學(xué), 2017.
LI K. Research on botnet countermeasure technology based on behavior analusis[D]of Posts and Telecommunications, 2017.
[7] ZEIDANLOO H R, MANAF A B A. Botnet detection by monitoring similar communication patterns[J]. International Journal of Computer Science & Information Security, 2010, 7(3): 88-96.
[8] GU G, ZHANG J, LEE W. BotSniffer: detecting botnet command and control channels in network traffic[J]. Computer Science and Engineering, 2008.
[9] 鄧國(guó)強(qiáng). Spamming botnet網(wǎng)絡(luò)行為分析及檢測(cè)算法設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué), 2013.
DENG G Q. Network behavior analysis of the spamming botnet and the design and implementation of spamming botnet detection algorithms[D]. Huazhong University of Science and Technology, 2013
[10] NARANG P, RAY S, HOTA C, et al. PeerShark: detecting peer-to-peer botnets by tracking conversations[J]. Medical & Biological Engineering & Computing, 2014, 51(10):1105-1119.
[11] 張維維, 龔儉, 劉尚東, 等. 面向主干網(wǎng)的DNS流量監(jiān)測(cè)[J]. 軟件學(xué)報(bào), 2017, 28(9): 2370-2387.
ZHANG W W, GONG J, LIU S D,et al. DNS surveillance on backbone[J]. Journal of Software, 2017, 28(9): 2370-2387
[12] 嵇威華, 呂國(guó)芳. 基于廣義Jaccard系數(shù)處理沖突證據(jù)方法[J]. 控制工程, 2015(1): 98-101.
JI W H, LV G F. Conflicting evidence combination method based on generalized Jaccard coefficient[J]. Control Engineering of China, 2015(1): 98-101
[13] 王煜驄, 陳興蜀, 羅永剛, 等. NTCI-Flow:一種可擴(kuò)展的高速網(wǎng)絡(luò)流量處理框架[J]. 四川大學(xué)學(xué)報(bào)(工程科學(xué)版), 2017(s1): 168-174.
WANGY C, CHEN X S, LUOY G, et al. NTCI-Flow: a scalable high-speed network traffic processing framework[J]. Journal Sichuan University (Adanced Engineering Sciences) 2017(s1): 168-174.
Method of botnet network nodes detection base on communication similarity
JIN Yuquan1,2, XIE Bin1, ZHU Yi2
1. Institute of Electronic Engineering in China Academy of Engineering Physics, Mianyang 621900, China 2. Sichuan University, Chengdu 610065, China
At present, the botnet detection method mostly relies on the analysis of the network communication activity or the communication content. The former carries on the statistical analysis to the characteristic of the data flow, does not involve the content in the data flow, has the strong superiority in the detection encryption type aspect, but the accuracy is low. The latter relies on the prior knowledge to examine, has the strong accuracy, but the generality of detection is low. The communication similarity was defined according to Jaccard similarity coefficient, and a method of calculating communication similarity based on user request DNS (domain name system) was proposed, which was used for botnet node detection based on network traffic. Finally, based on the spark framework, the experimental results show that the proposed method can be used in the detection of botnet nodes effectively.
botnet, similarity detection, DNS flow detection, network security
TP393
A
10.11959/j.issn.2096-109x.2018078
金渝筌(1979-),男,四川三臺(tái)人,碩士,中國(guó)工程物理研究院電子工程研究所工程師,主要研究方向?yàn)榫W(wǎng)絡(luò)安全和應(yīng)用軟件安全。
謝彬(1966-),女,四川安岳人,碩士,中國(guó)工程物理研究院電子工程研究所高級(jí)工程師,主要研究方向?yàn)樾畔踩?、軟件安全、安全保密測(cè)評(píng)。
朱毅(1991-),男,四川內(nèi)江人,四川大學(xué)碩士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、大數(shù)據(jù)分析。
2018-09-17;
2018-09-30
謝彬,jinfire@qq.com