网络蠕虫传播模型分析

2013-12-19 03:54李勇燕
关键词:蠕虫传染病时刻

李勇燕

(绍兴文理学院 上虞分院,浙江 绍兴312300)

网络多样性的传播途径和复杂的应用环境给人们的需求带来了便利,同时也给网络蠕虫的传播提供了条件,目前,网络蠕虫已经成为网络安全的最大威胁之一.与其他网络威胁相比,网络蠕虫的传播速度更快,潜伏性更强,影响范围更广,破坏性更大.从1988年著名的Morris蠕虫[1]到CodeRed[2]、Slammer、Witty、WS32Blaster等蠕虫,每一阶段的蠕虫都给人们带来巨大损失,网络安全再次成为人们关注的问题.

为了做好蠕虫传播的防御体系工作,首先必须要理解蠕虫编写者的意图、蠕虫传播的目的,接着分析蠕虫的扫描策略和传播方向、方式、途径等,最后精确构建蠕虫的传播模型.由于蠕虫在网络中的传播和传染病的传播有诸多相似之处,故当前大多数蠕虫传播模型采用传染病传播模型,包括简单传染病模型(Simple Epidemic Model,简称SEM)[3]、一般传染病模型(Kermack-Mckendrick模型)[4]、双因素模型(Two-factor Model模型)[5]和经典传染病模型(Susceptible→Infectious→Susceptible,简称SIS模型)[6].本文将依次分析上述几类模型.

1 简单传染病模型(Simple Epidemic Model,简称SEM)

在Simple Epidemic Model(简称SEM)中,分析建立在以下假设之上:①分析的网络是均匀网络,即每一个感染源以相同的概率感染主机,每一个主机同样以同等的概率接受感染;②网络中的每台主机将保持两种状态:易感染状态和已感染状态;③如果一台主机由易感染状态变成已感染状态,它将一直保持此状态,因此转变过程是:易感染→已感染.

为方便描述,定义以下变量:

N表示系统中总的主机数量;

I(t)表示系统在时刻t已感染主机的数量;

I(0)表示在t=0时,在网络起始时已感染主机的数量;

S(t)表示系统在时刻t易感染主机的数量,且有S(t)=N-I(t);

S(0)表示在t=0时,易感染主机的数量,且有S(0)=N-I(0);

η表示蠕虫的平均扫描率,则在时间δ中,已感主机将平均发送ηδ次扫描,假设蠕虫扫描的IP地址空间为Ω,那么一次平均扫描任意一个IP地址的概率为1/Ω,所以在时间δ中,一个特定的IP地址被已感染主机扫描的平均概率为

(1)

因为有1/Ω≪1,有:

(2)

若δ足够小,一台已感染的主机在时刻t到t+δ两次扫描同一台易感染主机的情况可以不考虑,因此在时刻t到t+δ中,一台已感染主机将平均感染QS(t)=Q[N-I(t)]台易感染主机;若δ足够小,两台已感染的主机在时刻t到t+δ感染同一台易感染主机的情况可以不考虑,因此在时刻t到t+δ中,新增的已感染的主机数为:I(t)Q[N-I(t)],那么在时刻t+δ有I(t+δ)=I(t)+I(t)Q[N-I(t)],将式(2)代入上式有:

(3)

取δ→0,得到微分方程表达式为:

(4)

β表示系统中由I(t)转变为N-I(t)的感染率,表达式为:

(5)

如果用a(t)表示在时刻t已感染主机的比例,即a(t)=I(t)/N,由公式(4)可得:

(6)

SEM的仿真结果如图1所示:

其中取节点数N=10 000 000,感染率β=1/10 000 000,I(0)=3,从仿真结果可以看出,在传播初期,由于已感染主机较少,感染速度低,经过一段时间的低速传播后,被感染主机数量累积增大到一定程度,感染速度急剧增大,短时间内大部分易感染主机被感染,随着易感染主机的数量急剧减少,感染速度趋于平缓,当全部易感染主机被感染后,传播停止.

事实上,蠕虫的传播受很多因素的影响,同时SEM模型的假设条件太过于理想化,所以SEM模型也只能反映网络蠕虫初期的传播活动,对网络蠕虫传播模型中后期的分析研究不适合.

2 一般传染病模型(Kermack-Mckendrick模型,简称KM模型)

KM模型是在SEM模型的基础上,考虑已感染主机转变为免疫状态的情况,每台主机在该模型中保持三种状态:已感染状态、易感染状态和免疫状态,转变的过程是:易感染→已感染→免疫.根据SEM模型(4)的微分方程,可以得到以下KM模型的微分方程

(7)

在公式(7)中,R(t)表示在时刻t从已感染主机转变为免疫主机的数量;I(t)表示在时刻t仍具有感染的主机的数量;J(t)表示在时刻t所有具有感染的主机的数量,包括是感染状态的主机和已经恢复为免疫状态的主机,所以有J(t)=I(t)+R(t),γ表示恢复率,即由已感染状态转为免疫状态的概率,βNS(t)和之前的定义相同.

KM的仿真结果如图2所示:

其中取节点数N=10 000,J(0)=3,感染率β=1/10 000 000,恢复率γ=0.001,从仿真结果可以看出,在传播初期,I以较快的速度增长,随着已感染主机数量的增多,易感染主机数量降低,恢复的主机也增多,当已感染主机的恢复速度超过其增长速度时,I的值达到最大,其后,随着已感染主机不断恢复为免疫主机,I值不断减少直至0,蠕虫传播结束.

KM模型虽然在SEM模型的基础上考虑了恢复情况,更加真实地反映了蠕虫的传播,但是我们看到的传播过程是一个动态复杂的过程,随着时间的推移,β是一个不定值,在之前用常量来表示β是不恰当的.

3 双因素模型(Two-factor Model)

C C Zou等人在分析研究2001年7月19日爆发的CoreRed蠕虫的基础上,提出了在之前的蠕虫传播模型中未曾考虑的两个因素:①在CoreRed蠕虫的传播过程中,不管是易感染主机还是已感染主机,都存在人为对策;②在传播过程中,因为网络原因而阻止网络蠕虫的快速传播,使其速度呈动态降低,因此β不再是一个定值,而是随着时间的推移在改变.由此提出了双因素模型(Two-factor Model).

在双因素模型中,免疫处理包括两方面:已感染主机变成免疫状态或易感染主机变成免疫状态,所以分别用β(t)表示在时刻t的感染率,用Q(t)表示t时刻易感染变免疫的主机数,用R(t)表示t时刻感染变免疫的主机数,从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),推导出I(t)和时间t的关系式:

(10)

在双因素模型中,我们需要对R(t),Q(t)和β(t)分别作动态描述.其中已感染主机恢复为免疫状态主机的过程可由KM模型获得,如:

从易感染主机恢复为免疫状态主机的过程分为几个阶段,在开始阶段,由于人们大部分还未意识到蠕虫的存在,蠕虫传播的范围较小,所以从易感染主机状态恢复为免疫主机状态的数量较少且增长较缓慢,但是随着越来越多的主机被感染,人们逐渐意识到蠕虫的存在并采取对策,因此恢复为免疫状态的主机数量急剧上升,同时易感染主机数量不断减少直至为零.从以上描述可以看出,从易感染主机恢复为免疫状态主机的过程类似于SEM的传播模型,因此我们用等式(4)描述:

而β(t)的描述如下:

(11)

其中的β0是最初的感染率,η为修正系数,从式(11)可以看出,随着I(t)的增加,蠕虫传播过程中产生的蠕虫数据包会不断增加,网络拥塞程度也会不断增加,蠕虫的数据包传送也会受到影响,感染率随之下降.

从以上式子可将双因素传播模型描绘如下:

(12)

双因素模型的仿真结果如图3所示:

其中取节点数:N=1 000 000,I0=1,η=3,γ=0.05, μ=0.06/N,β0=0.8/N.

从图3可以看出,在双因素模型仿真中,已感染主机的数量经过一段时间的快速增长,随后由于已感染主机的增长速度小于恢复为免疫主机的速度,呈下降趋势.该模型能够较为准确地反映Code Red蠕虫的实际传播情况.

双因素模型是对SEM模型和KM模型的补充,弥补了两个模型的不足,但是双因素模型和其他网络蠕虫模型一样,只适合研究蠕虫的连续传播过程,如果出现传播过程突然终止或一个蠕虫的重新传播,将无法用以上模型研究.

4 经典传染病模型(Susceptible→Infectious→Susceptible,简称SIS模型)

在SIS(Susceptible→Infectious→Susceptible)模型中,有以下假定:①网络中的节点处于以下两种状态之一:已感染状态和易感染状态;②一旦易感染主机被感染即成已感染状态,一旦已感染主机被治愈即成易感染状态;③易感染主机被重复感染的几率是一样的.限于篇幅我们只讨论KWSIS模型.

KWSIS模型节点的传播是均匀和直接的,即节点i传给节点j就意味着节点i感染节点j,定义已感染节点的蠕虫出生率为β,已感染节点的蠕虫死亡率为δ,在时刻t已感染节点在网络中的密度为ηt,于是:

(13)

其中的(k)是网络中节点的平均流出程度,从(13)式可得:

(14)

随着

η∞=1-ρ′.

(15)

(16)

SIS模型是对已恢复主机再次被感染的情况建模,但是一旦被感染主机因为人为因素被修补或恢复,那么用SIS模型研究蠕虫的传播就不适合,因为被感染主机有可能已经免疫.

5 总结

从以上分析可得,简单传染病模型(SEM)、KM模型、双因素模型、SIS模型之间存在内在的联系.随着对仿真要求的不断提高,通过考虑增加的因素,从简单传染病模型发展成各种不同的蠕虫模型.在双因素模型中,当被感染主机的恢复率γ=0时,双因素模型将变为简单传染病模型;当提前预防易感染主机和随着网络蠕虫的快速传播导致一些网络路由器阻塞,这些情况都被忽略,双因素模型就变为KM模型;同样,在KM模型中,当被感染主机恢复率γ=0时,KM模型将变为简单传染病模型;在SIS模型中,一旦不考虑已感染主机被治愈即成易感染状态,SIS模型将变为简单传染病模型.

随着防御体系工作的不断完善,为了进一步攻击网络,网络蠕虫和新技术不断结合.因此可进一步研究蠕虫在网络中的传播特性,结合各参数对蠕虫的影响完善蠕虫的传播模型,使之更接近实际情况等.

参考文献:

[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.

猜你喜欢
蠕虫传染病时刻
《传染病信息》简介
传染病的预防
冬“傲”时刻
捕猎时刻
3种传染病出没 春天要格外提防
蠕虫状MoS2/C的制备及其在锂离子电池负极材料中的应用
呼吸道传染病为何冬春多发
秋季谨防家禽蠕虫病
青海海晏县牛羊寄生蠕虫种调查与防治
基于隔离和免疫的蠕虫传播模型及稳定性分析