李勇燕
(紹興文理學(xué)院 上虞分院,浙江 紹興312300)
網(wǎng)絡(luò)多樣性的傳播途徑和復(fù)雜的應(yīng)用環(huán)境給人們的需求帶來了便利,同時也給網(wǎng)絡(luò)蠕蟲的傳播提供了條件,目前,網(wǎng)絡(luò)蠕蟲已經(jīng)成為網(wǎng)絡(luò)安全的最大威脅之一.與其他網(wǎng)絡(luò)威脅相比,網(wǎng)絡(luò)蠕蟲的傳播速度更快,潛伏性更強,影響范圍更廣,破壞性更大.從1988年著名的Morris蠕蟲[1]到CodeRed[2]、Slammer、Witty、WS32Blaster等蠕蟲,每一階段的蠕蟲都給人們帶來巨大損失,網(wǎng)絡(luò)安全再次成為人們關(guān)注的問題.
為了做好蠕蟲傳播的防御體系工作,首先必須要理解蠕蟲編寫者的意圖、蠕蟲傳播的目的,接著分析蠕蟲的掃描策略和傳播方向、方式、途徑等,最后精確構(gòu)建蠕蟲的傳播模型.由于蠕蟲在網(wǎng)絡(luò)中的傳播和傳染病的傳播有諸多相似之處,故當(dāng)前大多數(shù)蠕蟲傳播模型采用傳染病傳播模型,包括簡單傳染病模型(Simple Epidemic Model,簡稱SEM)[3]、一般傳染病模型(Kermack-Mckendrick模型)[4]、雙因素模型(Two-factor Model模型)[5]和經(jīng)典傳染病模型(Susceptible→Infectious→Susceptible,簡稱SIS模型)[6].本文將依次分析上述幾類模型.
在Simple Epidemic Model(簡稱SEM)中,分析建立在以下假設(shè)之上:①分析的網(wǎng)絡(luò)是均勻網(wǎng)絡(luò),即每一個感染源以相同的概率感染主機,每一個主機同樣以同等的概率接受感染;②網(wǎng)絡(luò)中的每臺主機將保持兩種狀態(tài):易感染狀態(tài)和已感染狀態(tài);③如果一臺主機由易感染狀態(tài)變成已感染狀態(tài),它將一直保持此狀態(tài),因此轉(zhuǎn)變過程是:易感染→已感染.
為方便描述,定義以下變量:
N表示系統(tǒng)中總的主機數(shù)量;
I(t)表示系統(tǒng)在時刻t已感染主機的數(shù)量;
I(0)表示在t=0時,在網(wǎng)絡(luò)起始時已感染主機的數(shù)量;
S(t)表示系統(tǒng)在時刻t易感染主機的數(shù)量,且有S(t)=N-I(t);
S(0)表示在t=0時,易感染主機的數(shù)量,且有S(0)=N-I(0);
η表示蠕蟲的平均掃描率,則在時間δ中,已感主機將平均發(fā)送ηδ次掃描,假設(shè)蠕蟲掃描的IP地址空間為Ω,那么一次平均掃描任意一個IP地址的概率為1/Ω,所以在時間δ中,一個特定的IP地址被已感染主機掃描的平均概率為
(1)
因為有1/Ω?1,有:
(2)
若δ足夠小,一臺已感染的主機在時刻t到t+δ兩次掃描同一臺易感染主機的情況可以不考慮,因此在時刻t到t+δ中,一臺已感染主機將平均感染QS(t)=Q[N-I(t)]臺易感染主機;若δ足夠小,兩臺已感染的主機在時刻t到t+δ感染同一臺易感染主機的情況可以不考慮,因此在時刻t到t+δ中,新增的已感染的主機數(shù)為:I(t)Q[N-I(t)],那么在時刻t+δ有I(t+δ)=I(t)+I(t)Q[N-I(t)],將式(2)代入上式有:
(3)
取δ→0,得到微分方程表達式為:
(4)
β表示系統(tǒng)中由I(t)轉(zhuǎn)變?yōu)镹-I(t)的感染率,表達式為:
(5)
如果用a(t)表示在時刻t已感染主機的比例,即a(t)=I(t)/N,由公式(4)可得:
(6)
SEM的仿真結(jié)果如圖1所示:
其中取節(jié)點數(shù)N=10 000 000,感染率β=1/10 000 000,I(0)=3,從仿真結(jié)果可以看出,在傳播初期,由于已感染主機較少,感染速度低,經(jīng)過一段時間的低速傳播后,被感染主機數(shù)量累積增大到一定程度,感染速度急劇增大,短時間內(nèi)大部分易感染主機被感染,隨著易感染主機的數(shù)量急劇減少,感染速度趨于平緩,當(dāng)全部易感染主機被感染后,傳播停止.
事實上,蠕蟲的傳播受很多因素的影響,同時SEM模型的假設(shè)條件太過于理想化,所以SEM模型也只能反映網(wǎng)絡(luò)蠕蟲初期的傳播活動,對網(wǎng)絡(luò)蠕蟲傳播模型中后期的分析研究不適合.
KM模型是在SEM模型的基礎(chǔ)上,考慮已感染主機轉(zhuǎn)變?yōu)槊庖郀顟B(tài)的情況,每臺主機在該模型中保持三種狀態(tài):已感染狀態(tài)、易感染狀態(tài)和免疫狀態(tài),轉(zhuǎn)變的過程是:易感染→已感染→免疫.根據(jù)SEM模型(4)的微分方程,可以得到以下KM模型的微分方程
(7)
在公式(7)中,R(t)表示在時刻t從已感染主機轉(zhuǎn)變?yōu)槊庖咧鳈C的數(shù)量;I(t)表示在時刻t仍具有感染的主機的數(shù)量;J(t)表示在時刻t所有具有感染的主機的數(shù)量,包括是感染狀態(tài)的主機和已經(jīng)恢復(fù)為免疫狀態(tài)的主機,所以有J(t)=I(t)+R(t),γ表示恢復(fù)率,即由已感染狀態(tài)轉(zhuǎn)為免疫狀態(tài)的概率,βNS(t)和之前的定義相同.
KM的仿真結(jié)果如圖2所示:
其中取節(jié)點數(shù)N=10 000,J(0)=3,感染率β=1/10 000 000,恢復(fù)率γ=0.001,從仿真結(jié)果可以看出,在傳播初期,I以較快的速度增長,隨著已感染主機數(shù)量的增多,易感染主機數(shù)量降低,恢復(fù)的主機也增多,當(dāng)已感染主機的恢復(fù)速度超過其增長速度時,I的值達到最大,其后,隨著已感染主機不斷恢復(fù)為免疫主機,I值不斷減少直至0,蠕蟲傳播結(jié)束.
KM模型雖然在SEM模型的基礎(chǔ)上考慮了恢復(fù)情況,更加真實地反映了蠕蟲的傳播,但是我們看到的傳播過程是一個動態(tài)復(fù)雜的過程,隨著時間的推移,β是一個不定值,在之前用常量來表示β是不恰當(dāng)?shù)?
C C Zou等人在分析研究2001年7月19日爆發(fā)的CoreRed蠕蟲的基礎(chǔ)上,提出了在之前的蠕蟲傳播模型中未曾考慮的兩個因素:①在CoreRed蠕蟲的傳播過程中,不管是易感染主機還是已感染主機,都存在人為對策;②在傳播過程中,因為網(wǎng)絡(luò)原因而阻止網(wǎng)絡(luò)蠕蟲的快速傳播,使其速度呈動態(tài)降低,因此β不再是一個定值,而是隨著時間的推移在改變.由此提出了雙因素模型(Two-factor Model).
在雙因素模型中,免疫處理包括兩方面:已感染主機變成免疫狀態(tài)或易感染主機變成免疫狀態(tài),所以分別用β(t)表示在時刻t的感染率,用Q(t)表示t時刻易感染變免疫的主機數(shù),用R(t)表示t時刻感染變免疫的主機數(shù),從KM模型的公式(7)中可以得到S(t)從t到t+Δt易感染主機的變化公式為:
(8)
因此
(9)
因為在任意時刻t都有S(t)+I(t)+R(t)+Q(t)=N,可以推出S(t)=N-R(t)-I(t)-Q(t),把此式代入到式(9),推導(dǎo)出I(t)和時間t的關(guān)系式:
(10)
在雙因素模型中,我們需要對R(t),Q(t)和β(t)分別作動態(tài)描述.其中已感染主機恢復(fù)為免疫狀態(tài)主機的過程可由KM模型獲得,如:
從易感染主機恢復(fù)為免疫狀態(tài)主機的過程分為幾個階段,在開始階段,由于人們大部分還未意識到蠕蟲的存在,蠕蟲傳播的范圍較小,所以從易感染主機狀態(tài)恢復(fù)為免疫主機狀態(tài)的數(shù)量較少且增長較緩慢,但是隨著越來越多的主機被感染,人們逐漸意識到蠕蟲的存在并采取對策,因此恢復(fù)為免疫狀態(tài)的主機數(shù)量急劇上升,同時易感染主機數(shù)量不斷減少直至為零.從以上描述可以看出,從易感染主機恢復(fù)為免疫狀態(tài)主機的過程類似于SEM的傳播模型,因此我們用等式(4)描述:
而β(t)的描述如下:
(11)
其中的β0是最初的感染率,η為修正系數(shù),從式(11)可以看出,隨著I(t)的增加,蠕蟲傳播過程中產(chǎn)生的蠕蟲數(shù)據(jù)包會不斷增加,網(wǎng)絡(luò)擁塞程度也會不斷增加,蠕蟲的數(shù)據(jù)包傳送也會受到影響,感染率隨之下降.
從以上式子可將雙因素傳播模型描繪如下:
(12)
雙因素模型的仿真結(jié)果如圖3所示:
其中取節(jié)點數(shù):N=1 000 000,I0=1,η=3,γ=0.05, μ=0.06/N,β0=0.8/N.
從圖3可以看出,在雙因素模型仿真中,已感染主機的數(shù)量經(jīng)過一段時間的快速增長,隨后由于已感染主機的增長速度小于恢復(fù)為免疫主機的速度,呈下降趨勢.該模型能夠較為準(zhǔn)確地反映Code Red蠕蟲的實際傳播情況.
雙因素模型是對SEM模型和KM模型的補充,彌補了兩個模型的不足,但是雙因素模型和其他網(wǎng)絡(luò)蠕蟲模型一樣,只適合研究蠕蟲的連續(xù)傳播過程,如果出現(xiàn)傳播過程突然終止或一個蠕蟲的重新傳播,將無法用以上模型研究.
在SIS(Susceptible→Infectious→Susceptible)模型中,有以下假定:①網(wǎng)絡(luò)中的節(jié)點處于以下兩種狀態(tài)之一:已感染狀態(tài)和易感染狀態(tài);②一旦易感染主機被感染即成已感染狀態(tài),一旦已感染主機被治愈即成易感染狀態(tài);③易感染主機被重復(fù)感染的幾率是一樣的.限于篇幅我們只討論KWSIS模型.
KWSIS模型節(jié)點的傳播是均勻和直接的,即節(jié)點i傳給節(jié)點j就意味著節(jié)點i感染節(jié)點j,定義已感染節(jié)點的蠕蟲出生率為β,已感染節(jié)點的蠕蟲死亡率為δ,在時刻t已感染節(jié)點在網(wǎng)絡(luò)中的密度為ηt,于是:
(13)
其中的(k)是網(wǎng)絡(luò)中節(jié)點的平均流出程度,從(13)式可得:
(14)
隨著
η∞=1-ρ′.
(15)
(16)
SIS模型是對已恢復(fù)主機再次被感染的情況建模,但是一旦被感染主機因為人為因素被修補或恢復(fù),那么用SIS模型研究蠕蟲的傳播就不適合,因為被感染主機有可能已經(jīng)免疫.
從以上分析可得,簡單傳染病模型(SEM)、KM模型、雙因素模型、SIS模型之間存在內(nèi)在的聯(lián)系.隨著對仿真要求的不斷提高,通過考慮增加的因素,從簡單傳染病模型發(fā)展成各種不同的蠕蟲模型.在雙因素模型中,當(dāng)被感染主機的恢復(fù)率γ=0時,雙因素模型將變?yōu)楹唵蝹魅静∧P?;?dāng)提前預(yù)防易感染主機和隨著網(wǎng)絡(luò)蠕蟲的快速傳播導(dǎo)致一些網(wǎng)絡(luò)路由器阻塞,這些情況都被忽略,雙因素模型就變?yōu)镵M模型;同樣,在KM模型中,當(dāng)被感染主機恢復(fù)率γ=0時,KM模型將變?yōu)楹唵蝹魅静∧P停辉赟IS模型中,一旦不考慮已感染主機被治愈即成易感染狀態(tài),SIS模型將變?yōu)楹唵蝹魅静∧P?
隨著防御體系工作的不斷完善,為了進一步攻擊網(wǎng)絡(luò),網(wǎng)絡(luò)蠕蟲和新技術(shù)不斷結(jié)合.因此可進一步研究蠕蟲在網(wǎng)絡(luò)中的傳播特性,結(jié)合各參數(shù)對蠕蟲的影響完善蠕蟲的傳播模型,使之更接近實際情況等.
參考文獻:
[1]Spafford EH.The Internet worm program:An analysis.Department of Computer Science,Purdue University,West Lafayette:Technical Report CSD-TR-823,1988:1-29.
[2]Moor D,Shannon C,Brown J.Code-Red:A case study on the spread and victims of an Internet worm[C]//.Proceedings of the 2nd ACM SIGCOMM Workshop on Internet Measurement,Pittsburgh,2002:273-284.
[3] Zou C C,Gong W,Towsley D.On the performance of Internet worm scanning strategies[J].Performance Evaluation,2006,63(7):700-723.
[4] Frauenthal JC.Mathematical Modeling in Epidemiology[M].Berlin:Spring-Verlag,1980.
[5]Zou CC,Gong W,Towsley D.Code Red worm propagation modeling and analysis[C].//Proceedings of the 9th ACM Symposium on Computer and Communication Security.Washington:ACM Press,2002:138-147.
[6] Wang Y,Wang C X.Modeling the effects of timing parameters on virus propagation[C]//proceedings of the 2003 ACM CCS Workshop on Rapid Malcode.Washington:ACM Press,2003:61-66.