黃智勇,曾孝平,周建林,石幸利
(1. 重慶大學(xué)通信工程學(xué)院 重慶 沙平壩區(qū) 400044;2. 重慶科技學(xué)院學(xué)報(bào)編輯部 重慶 渝中區(qū) 401331)
近年來(lái),Email蠕蟲(chóng)逐漸成為一種主要的網(wǎng)絡(luò)攻擊手段,各種Email蠕蟲(chóng)程序在網(wǎng)絡(luò)中廣泛傳播[1],如Melissa、Love Letter、W 32/Sircam、SoBig、MyDoom、Bagle和Netsky等[2]。大量無(wú)用的Email數(shù)據(jù)存在于整個(gè)網(wǎng)絡(luò),直接導(dǎo)致網(wǎng)絡(luò)數(shù)據(jù)傳輸阻塞,嚴(yán)重地影響了郵件系統(tǒng)網(wǎng)絡(luò)的工作性能[3],針對(duì)Email蠕蟲(chóng)的檢測(cè)和控制成為研究熱點(diǎn)之一。文獻(xiàn)[4]介紹的“反饋防御系統(tǒng)”檢測(cè)法(feedback defense system),利用現(xiàn)有的入侵檢測(cè)軟件對(duì)可疑郵件進(jìn)行攔截,再采用虛擬的蜜罐系統(tǒng)進(jìn)行分析檢測(cè)。該方法對(duì)Email用戶有很好的保護(hù)作用,但是對(duì)于Email蠕蟲(chóng)在網(wǎng)絡(luò)中轉(zhuǎn)播的主動(dòng)控制,效果不是很明顯。文獻(xiàn)[5]介紹的利用機(jī)器學(xué)習(xí)對(duì)網(wǎng)絡(luò)異常流量進(jìn)行監(jiān)測(cè)方法,能夠有效地減少檢測(cè)誤報(bào)率,但是該方法需要對(duì)網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì),存在一定的檢測(cè)延遲性。文獻(xiàn)[6]提出利用熵值來(lái)歸類(lèi)垃圾郵件,即通過(guò)對(duì)垃圾郵件行為特征的分析(如在單位時(shí)間段里連續(xù)發(fā)送郵件的數(shù)量),利用熵值的大小快速區(qū)分垃圾郵件和正常郵件。該歸類(lèi)方法的精度取決于閾值的大小,對(duì)于防御者來(lái)說(shuō),很難找到一個(gè)合適的閾值使檢測(cè)結(jié)果同時(shí)達(dá)到最小的假陽(yáng)性和最小的假陰性。針對(duì)這些問(wèn)題,為了提高檢測(cè)速度,并保證檢測(cè)的精度,針對(duì)Email蠕蟲(chóng)的傳播,本文提出了CTCBF 檢測(cè)方法,該方法應(yīng)用了傳染病檢測(cè)的接觸跟蹤機(jī)制[7-8],通過(guò)建立跟蹤鏈對(duì)異常的Email傳播過(guò)程進(jìn)行監(jiān)控,并根據(jù)跟蹤鏈的狀態(tài)確認(rèn)Email蠕蟲(chóng)感染節(jié)點(diǎn)。
Email蠕蟲(chóng)最大的特點(diǎn)是能夠利用Email的方式進(jìn)行主動(dòng)自我傳播,本文的檢測(cè)機(jī)制是基于蠕蟲(chóng)的這一行為特征進(jìn)行研究的。系統(tǒng)考慮了兩種行為特征——感染特征和連接特征。感染特征指被監(jiān)控節(jié)點(diǎn)出現(xiàn)了異常的主動(dòng)連接其他網(wǎng)絡(luò)節(jié)點(diǎn)的行為(如在單位時(shí)間段里主動(dòng)連接其他節(jié)點(diǎn)的數(shù)目超過(guò)規(guī)定的閾值);連接特征指節(jié)點(diǎn)被感染節(jié)點(diǎn)或者可疑節(jié)點(diǎn)連接的行為。根據(jù)這兩種特征,對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)做如下假設(shè):
1) 一個(gè)節(jié)點(diǎn)如果是感染節(jié)點(diǎn),那么它一定會(huì)再次感染其他節(jié)點(diǎn)。
2) 一個(gè)節(jié)點(diǎn)如果出現(xiàn)了感染特征,那么它可能已經(jīng)是感染節(jié)點(diǎn)。
3) 一個(gè)節(jié)點(diǎn)如果出現(xiàn)了連接特征,那么它存在被其他節(jié)點(diǎn)感染的可能性,一旦它又出現(xiàn)感染特征,那么它也可能成為新的感染節(jié)點(diǎn)。
CTCBF算法由單點(diǎn)檢測(cè)算法和多點(diǎn)跟蹤算法兩部分組成:1) 利用單點(diǎn)檢測(cè)算法對(duì)單個(gè)節(jié)點(diǎn)的感染特征進(jìn)行檢測(cè);2) 利用跟蹤算法提高檢測(cè)精度,在單個(gè)節(jié)點(diǎn)感染特征的基礎(chǔ)上,通過(guò)分析節(jié)點(diǎn)之間的連接特征,從而確認(rèn)真正的感染節(jié)點(diǎn)。
利用文獻(xiàn)[10]的試驗(yàn)數(shù)據(jù),本文進(jìn)行仿真。如圖1所示,整個(gè)觀測(cè)周期劃分為4個(gè)時(shí)間段:T1、T2、T3、T4,利用“差分熵”的定義分別對(duì)4個(gè)時(shí)間段的數(shù)據(jù)進(jìn)行計(jì)算。分析仿真結(jié)果,得出以下結(jié)論:
1) 當(dāng)v(t)>>M 時(shí),V(t)與V′(t)的相似度較高,DH→0。
2) 當(dāng)v(t)< 圖1 差分熵檢測(cè)效果 多點(diǎn)跟蹤的目的是在假陽(yáng)性較高的單點(diǎn)檢測(cè)機(jī)制基礎(chǔ)上,利用跟蹤鏈提高檢測(cè)精度。 定義 1 網(wǎng)絡(luò)中的任意節(jié)點(diǎn)r∈S都可能與其他節(jié)點(diǎn)發(fā)生連接,并且成為任意跟蹤鏈的根節(jié)點(diǎn),所以每個(gè)節(jié)點(diǎn)分配S-1跟蹤鏈存儲(chǔ)空間。 定義 3 根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)的行為特征,將節(jié)點(diǎn)劃分為正常類(lèi)型(NS);連接類(lèi)型(CS);可疑類(lèi)型(SS);感染類(lèi)型(IS) 4個(gè)類(lèi)型。 1) NS:沒(méi)有出現(xiàn)感染特征和連接特征; 2) CS:出現(xiàn)連接特征,但沒(méi)有出現(xiàn)感染特征; 3) SS:出現(xiàn)感染特征; 4) IS:出現(xiàn)過(guò)感染特征,且所在跟蹤鏈被確認(rèn)為感染鏈。 根據(jù)定義,算法初始化為: ① 節(jié)點(diǎn)之間建立跟蹤鏈的聯(lián)系必須存在因果關(guān)系,即一個(gè)NS類(lèi)型的節(jié)點(diǎn)必須首先被其他節(jié)點(diǎn)感染以后才可能去感染另外的節(jié)點(diǎn)。 ② 由于重復(fù)感染的存在,跟蹤鏈上的節(jié)點(diǎn)類(lèi)型一旦被確定為感染類(lèi)型,所有節(jié)點(diǎn)信息應(yīng)立刻被重新初始化。采用該算法可以發(fā)現(xiàn)更多的感染路徑,加快了檢測(cè)速度。 ③ 閾值K的大小直接決定了系統(tǒng)的性能,K值越大,跟蹤鏈的誤報(bào)率越低,但是檢測(cè)速度會(huì)降低;K值越小,檢測(cè)的速度提高,系統(tǒng)的精度會(huì)降低。本文將介紹一種動(dòng)態(tài)調(diào)節(jié)閾值K的方法來(lái)平衡檢測(cè)精度和速度之間的關(guān)系。 圖2 跟蹤鏈建立過(guò)程 典型的蠕蟲(chóng)傳播周期分為初始期、上升期、飽和期3個(gè)階段。定義?I為單位時(shí)間段內(nèi)增加的感染節(jié)點(diǎn)數(shù)目,用?I代表網(wǎng)絡(luò)的感染等級(jí)。 2) 上升期:感染節(jié)點(diǎn)數(shù)目逐漸增多,增長(zhǎng)速度急劇加快,?I迅速增大,網(wǎng)絡(luò)感染等級(jí)增加。 3) 飽和期:感染節(jié)點(diǎn)數(shù)目的增加速度減慢,?I逐漸減小,網(wǎng)絡(luò)感染等級(jí)逐漸降低。 本文的策略是在網(wǎng)絡(luò)感染等級(jí)較低時(shí),采用較大的閾值K以提高跟蹤鏈的精度,減少誤報(bào)率;在網(wǎng)絡(luò)感染等級(jí)較高時(shí),采用較小的閾值K以提高跟蹤鏈的速度,減少更多節(jié)點(diǎn)被感染的可能性。分別定義Kmin和Kmax為上限閾值和下限閾值,動(dòng)態(tài)閾值K( t)的算法為: 上限閾值和下限閾值的設(shè)定限制了動(dòng)態(tài)閾值參數(shù)的波動(dòng)范圍。區(qū)別于單點(diǎn)檢測(cè),需要滿足閾值K越大,檢測(cè)精度會(huì)越高,但同時(shí)也降低了檢測(cè)靈敏度。Kmax值不能設(shè)置過(guò)大,可以綜合其他因素進(jìn)行設(shè)定,如跟蹤算法的效率、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、蠕蟲(chóng)傳播效率等。 本文應(yīng)用C語(yǔ)言編寫(xiě)仿真程序來(lái)驗(yàn)證跟蹤算法的性能。設(shè)定網(wǎng)絡(luò)總節(jié)點(diǎn)數(shù) S= 6 400;網(wǎng)絡(luò)中的節(jié)點(diǎn)可以描述為表示節(jié)點(diǎn)i的狀態(tài);irP表示節(jié)點(diǎn)i被感染的概率,每個(gè)節(jié)點(diǎn)的感染概率不能確定,但是可以作如下假設(shè): 1) 網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目足夠多; 2) 節(jié)點(diǎn)具有分布性,且節(jié)點(diǎn)之間的連接行為相互獨(dú)立。 基于以上兩點(diǎn)假設(shè),定義irP服從高斯分布代表節(jié)點(diǎn)i的度數(shù),節(jié)點(diǎn)度數(shù)越高,感染其他節(jié)點(diǎn)的可能性越大。仿真實(shí)驗(yàn)將驗(yàn)證跟蹤鏈的效率和跟蹤鏈的魯棒性。 圖3為在不同閾值K的情況下,跟蹤鏈的跟蹤效率的變化,閾值越大,跟蹤鏈被確認(rèn)需要的時(shí)間也越長(zhǎng)。K=11時(shí),跟蹤鏈的檢測(cè)速度明顯慢于K=4時(shí)的檢測(cè)速度。采用動(dòng)態(tài)閾值算法,由于仿真僅僅驗(yàn)證動(dòng)態(tài)閾值算法在不同感染等級(jí)下對(duì)跟蹤鏈的影響,所以,根據(jù)前文介紹的閾值設(shè)定原則,在有效范圍內(nèi)設(shè)置參數(shù)初始狀態(tài)下,仿真結(jié)果顯示算法能夠根據(jù)不同的感染等級(jí)?I調(diào)整動(dòng)態(tài)閾值達(dá)到調(diào)整檢測(cè)速度的目的。 圖3 不同的閾值K檢測(cè)效果對(duì)比 跟蹤鏈的魯棒性直接影響檢測(cè)的效率,考慮影響跟蹤鏈魯棒性的兩個(gè)因素: 1) 節(jié)點(diǎn)度數(shù)。節(jié)點(diǎn)度數(shù)D體現(xiàn)為蠕蟲(chóng)發(fā)送Email的目標(biāo)地址數(shù)目,通常蠕蟲(chóng)不僅僅從被感染節(jié)點(diǎn)獲取Email地址,也可以從網(wǎng)絡(luò)收集得到。攻擊者為了提高攻擊效率,會(huì)收集更多的Email地址,而節(jié)點(diǎn)度數(shù)的提高更有利于跟蹤鏈的建立。 2) 節(jié)點(diǎn)有效率。前面討論的情況都基于所有網(wǎng)絡(luò)節(jié)點(diǎn)能夠參與跟蹤鏈建立的假設(shè),但實(shí)際情況并非如此。如一些節(jié)點(diǎn)沒(méi)有安裝檢測(cè)軟件,一些節(jié)點(diǎn)參與了跟蹤鏈的建立,但是由于受到攻擊(如DOS攻擊)而失效,這類(lèi)網(wǎng)絡(luò)節(jié)點(diǎn)統(tǒng)稱(chēng)為失效節(jié)點(diǎn)。能夠有效參與跟蹤鏈建立的節(jié)點(diǎn)稱(chēng)為有效節(jié)點(diǎn),定義為有效節(jié)點(diǎn)數(shù)目,定義節(jié)點(diǎn)有效率節(jié)點(diǎn)有效率越高,建立跟蹤鏈的可能性就越大。定義檢測(cè)率為通過(guò)跟蹤鏈確定的感染節(jié)點(diǎn)數(shù)目,為被感染節(jié)點(diǎn)數(shù)目。 圖4 跟蹤鏈魯棒性仿真 如圖4所示,產(chǎn)生的3個(gè)隨機(jī)網(wǎng)絡(luò)平均節(jié)點(diǎn)度數(shù)分別為 D= 70,30,10。在范圍[0,1]內(nèi)逐步增加節(jié)點(diǎn)有效率q,分別運(yùn)行跟蹤算法。結(jié)果顯示: 1) 當(dāng)D= 70時(shí),即使存在大量的無(wú)效節(jié)點(diǎn),算法仍然維持比較高的檢測(cè)率R(當(dāng)q>0.3時(shí),R>0.95);2) 節(jié)點(diǎn)度數(shù)減小,要維持高的檢測(cè)率R>0.95,需要存在大量的有效節(jié)點(diǎn),當(dāng)D=30時(shí),q>0.5,當(dāng)D=10時(shí),q>0.7。從攻擊者的角度看,高的節(jié)點(diǎn)度數(shù)更有利于維持攻擊網(wǎng)絡(luò)的魯棒性,同樣,高的節(jié)點(diǎn)度數(shù)也更有利于跟蹤鏈發(fā)現(xiàn)更多的感染節(jié)點(diǎn)??桃獾亟档凸?jié)點(diǎn)度數(shù)會(huì)降低跟蹤鏈的魯棒性,同時(shí)也會(huì)使攻擊網(wǎng)絡(luò)更容易被破壞。另外,減小失效節(jié)點(diǎn)的數(shù)量能夠增強(qiáng)跟蹤鏈的魯棒性。 本文闡述了基于CTCBF機(jī)制檢測(cè)Email蠕蟲(chóng)的方法,檢測(cè)系統(tǒng)由單點(diǎn)檢測(cè)和多點(diǎn)跟蹤兩部分組成。分別介紹了利用“差分熵”歸類(lèi)的單點(diǎn)檢測(cè)算法和利用接觸跟蹤機(jī)制的多點(diǎn)跟蹤算法。為了動(dòng)態(tài)適應(yīng)網(wǎng)絡(luò)環(huán)境變化,采用了動(dòng)態(tài)閾值算法。與單點(diǎn)檢測(cè)機(jī)制相比較,多點(diǎn)跟蹤機(jī)制通過(guò)傳輸跟蹤鏈能夠有效減小單點(diǎn)檢測(cè)誤差引起的誤報(bào)率。通過(guò)仿真,認(rèn)為CTCBF機(jī)制能夠快速準(zhǔn)確實(shí)現(xiàn)對(duì)Email蠕蟲(chóng)傳播的檢測(cè)。今后的研究工作還需要進(jìn)一步提高單點(diǎn)檢測(cè)算法和多點(diǎn)跟蹤算法的檢測(cè)效率,特別是在復(fù)雜多變的網(wǎng)絡(luò)環(huán)境下能夠保證算法的高效性。 [1] KHERA R. Messaging anti-abuse working group[EB/OL].[2009-09-25]. http://www.maawg.org. [2] CERT/CC advisories[EB/OL]. [2009-09-27]. http://www.cert.org/ advisories. [3] SYMATEC. Internet security threat report trends Jan-June’ 07[EB/OL]. [2009-08-02]. http://www.symantec.com. [4] ZOU C, Gong W, TOWSLEY D. Feedback email worm defense system for enterprise networks[R]//Umass: ECE,2004. [5] GUPTA A, SEKAR R. An approach for detecting self-propagating Email using anomaly detection[C]//Proceedings of Recent Advances in Intrusion Detection.Pittsburgh PA: Springer, 2003: 55-72. [6] HUSNA H, PHITHAKKITNUKOON S, DANTU R. Traffic shaping of spam botnets[C]//Proceedings of CCNC 2008,5th IEEE. Las Vegas, NV: IEEE, 2008: 786-787. [7] HYMANA J, LI Jia, STANLEY E. Modeling the impact of random screening and contact tracing in reducing the spread of HIV[J]. Mathematical Biosciences, 2003, 181: 1-16. [8] EAMES K, KEELING J. Contact tracing and disease control[C]//Proceedings of the Royal Society. London:PubMed, 2003: 443-454. [9] SHANON C. A mathematical theory of communication[J].Bell System Technical Journal, 1948: 379-423. [10] ZHANG Jun. Storm Worm & Botnet Analysis[EB/OL].[2009-03-02]. http://www. securitylabs.websense.com/content. [11] ZOU C, TOWSLEY D, GONG W. Modeling and simulation study of the propagation and defense of internet email worm[J]. IEEE Transactions on Dependable and Secure Computing, 2007, 4(2): 105-118. 編 輯 張 俊1.2.2 多點(diǎn)跟蹤算法
1.3 動(dòng)態(tài)閾值
2 試驗(yàn)仿真
2.1 跟蹤鏈效率仿真
2.2 跟蹤鏈魯棒性仿真
3 總結(jié)與展望