首页 > 范文大全 > 正文

Internet蠕虫传播模型研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇Internet蠕虫传播模型研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文就internet蠕虫传播模型进行了研究,分析了各种传播模型的特点和适用环境,在此基础上结合良性蠕虫的特点提出了良性蠕虫对抗恶性蠕虫的传播模型。经过比较和分析,理论上证明了蠕虫对抗蠕虫传播模型,有效地补充和改进了传统的Internet蠕虫传播模型,使其更符合Internet蠕虫传播的实际,为进一步研究蠕虫的检测与预防提供了有力的研究方法。与现有模型相比,其降低了对抗蠕虫给网络造成的冲击、可控,并降低了模型的复杂度。

关键词:Internet蠕虫;传播模型;易感主机

中图分类号:TP309文献标识码:A 文章编号:1009-3044(2007)05-11244-03

1 引言

在Internet蠕虫传播机制的研究中,我们常采用传染病模型,利用传染病模型研究蠕虫的传播特性需要满足两个条件,一是模型中只有感染主体与感染客体;二是选择合适的传播个体和攻击对像。Internet蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停地获得网络中存在漏洞的计算机上的部分或全部控制权来进行传播。由Internet蠕虫的定义可知,他具有主动攻击,不需要计算机使用者的参与和攻击对象是计算机系统的特性,这两个条件正好同传染病模型的假设条件相符。因此,我们通过对经典的蠕虫传播模型讨论后提出了利用良性蠕虫进行对抗恶性蠕虫的数学模型,并对其网络特性进行了研究,该模型更符合Internet蠕虫的传播实际,利用它将更贴切的反映蠕虫的网络特性,为进一步研究Internet蠕虫的检测和预防提供了有力的研究方法。与现有模型相比,模型降低了复杂度,并大大减小了良性蠕虫传播对网络造成的冲击,同时蠕虫的状态更易控制。

文章其余部分内容是这样组织的,第二部分主要讨论了目前几种较为成熟的蠕虫传播模型,在第二部分的第二小节详细讨论了W-A-W模型,并分析了其传播的网络特性;第三部分简要介绍了AAWP模型和采用静态重要性扫策略蠕虫的传播模型;在最后的一部分对本文进行了总结。

2 网络蠕虫的传播模型

2.1 SI Model中蠕虫的传播趋势

Susceptible-Infected Model是一种粗糙的传播模型,模型假设系统中只有感染主机和易感主机两种状态,且易感主机一但被感染就不再恢复,其模型如下,公式推导参见文献[1,4]。

dS/dt=-βSI dI/dt=βSI

其中S=S(t)和I=(t)分别表示t时刻易感主机和已感染主机的数量,N(t)=S(t)+I(t) 。β表示感染主机所具有的最大传染力,即感染概率因子。

取节点数N=1000000,感染概率因子为β=1/10000000,在网络中任选一个节点,作为已感染节点,设定蠕虫繁殖副本数量I(0)=3,1000次仿真结果平均值如图1所示[2],横坐标为传播时间,纵坐标为整个网络被感染的百分比。由图可知,蠕虫感染过程可以分为三个明显的阶段,一是初始感染阶段,此阶段经历一个较长时间;二是快速感染阶段,当已感染的节点积累到一定的数量以后,进入本阶段;三是饱和阶段,当绝大多数网络节点都被感染以后,达到饱和。

图1SI模型中Internet蠕虫的传播趋势

2.2 W-A-W模型分析

(1)蠕虫对抗蠕虫的过程

利用良性蠕虫对抗蠕虫(Worm-Anti-Worm)是一个很好的思路,该模型的建立是受到了Cheese蠕虫的启发。Cheese蠕虫是为了对抗Lion蠕虫而开发的一个良性蠕虫,Lion蠕虫感染一台主机后,会在1008端口留下后门,Cheese蠕虫就利用这一后门控制被感染主机,清理掉主机上Lion蠕虫留下的后门,并修补系统漏洞。Cheese蠕虫之所以没有得到广泛的认可,是因为它在传播时占用了一定的网络带宽,增加了网络负载,并影响了网络的使用,同时对于良性蠕虫在网络中的状态也难于控制。由此,我们在利用蠕虫对抗蠕虫时只要尽量避免增加网络负担并采取相关策略控制好良性蠕虫的状态,就能有效清除恶性蠕虫,控制恶性蠕虫的传播。一般情况下蠕虫对抗蠕虫可分为三个阶段,一是恶性蠕虫A出现并迅速传播,直至感染网络中全部易感节点;二是发现感染节点后,清除蠕虫;三是引入良性对抗蠕虫B,清除A蠕虫感染的节点。这三个阶段的仿真结果如下[2]。

取网络中易感节点数N=10000,两种蠕虫的繁殖副本数量I(0)均为3,A蠕虫被发现的概率为0.001,蠕虫的感染概率为0.01,A蠕虫传播一段时间后,启动B蠕虫。在此我们取A蠕虫传播的时间T=300,而后引入B蠕虫,来分析A蠕虫的传播趋势。值得注意的是A蠕虫的传播时间要足够长,否则A蠕虫不能形成传播,此时引入B蠕虫将达不到对抗的效果和目的。图2给出了在A蠕虫已经完全感染网络相当长时间后,引入B蠕虫的情况,取延迟时间为1000,横坐标为传播时间,纵坐标为节点数,图中显示了延迟时间T=1000时不同时刻A蠕虫感染节点数。由图2可以明显看到,A蠕虫的感染曲线可分为三段,第一阶段A蠕虫迅速传播,最后感染网络中绝大部分节点;第二阶段,感染节点被发现,人工清除蠕虫,感染节点缓慢减少;第三阶段,B蠕虫引入,所有A蠕虫感染的节点都被迅速清除。实际对抗结果完全与理论中的预期过程相符。

图2 蠕虫对抗蠕虫效果图

结果表明,利用蠕虫对抗蠕虫是比较好的一种蠕虫防治方法。

(2)W-A-W模型

由以上分析可知,我们可以采用蠕虫对抗蠕虫来抑制蠕虫的传播,能尽快的消除其危害,减少他对网络造成的影响。因此考虑到W-A-W(Worm- Anti-Worm)模型,该模型考虑网络中存在两类蠕虫,A蠕虫为恶意蠕虫,感染计算机,B蠕虫为对抗蠕虫,查杀A蠕虫,并能为计算机系统修补漏洞。对抗结果应该是两种情况:①B蠕虫搜索所有易感主机,在修补漏洞的同时查杀蠕虫A;②蠕虫B查杀蠕虫A并为感染主机修补漏洞。下面我们分别讨论这两种情况。

a.蠕虫B对所有易感主机修补漏洞,并查杀蠕虫A。

这是一种全面且理想的状态,当蠕虫A出现并迅速传播后,引入B蠕虫,对抗的结果是A蠕虫彻底消失且在短期内找不到易感主机,但是,B蠕虫在修补系统漏洞时不但搜索已感染主机还会搜索未感染蠕虫A的易感主机。这样,不但增加了网络的负载,而且B蠕虫的状态也不易控制。在讨论此传播模型之前,我们先讨论双因素模型。

双因素(Two-Factor)传播模型[6]考虑了更多的外界影响因素和蠕虫对抗措施:(1)蠕虫的快速传播导致一些路由器发生阻塞,从而降低网络蠕虫的传播速度。(2)各ISP节点或用户的对抗措施;双因素传播模型的微分方程表达式为:

在公式(1)中,β(t),R(t)和Q(t)都是随着时间t动态变化的参数,R(t)表示时刻t感染后被免疫的主机数;I(t)表示具有感染性的主机数;Q(t)表示时刻t被感染前就作了免疫处理的主机数;S(t)表示时刻t 易感染的主机数;J(t)表示时刻t已被感染的主机数,J(t)=R(t)+I(t) ;β(t)表示时刻t的感染率;γ,μ和β0为常量。公式的详细推导见文献[6]

由公式(1)能推导出I(t)和时间t的关系式:

以上是Internet蠕虫的双因素传播模型。取节点数N=1000000,I0=1,η=3,γ=0.05,μ=0.06,β0=0.8/N,图3给出了双因素传播模型中蠕虫的传播趋势。可以看到,随着Q(t)的增长,I(t)趋向于0。

图3 Two-Factor模型中网络蠕虫的传播趋势

双因素传播模型是SI模型的扩展,在弥补了该模型的不足后更能反映网络蠕虫的传播状态。

由双因素模型可知,从时刻t到时刻t+Δt,易感主机数S(t)的表达式为:

在公式(3)中,对于蠕虫B来说,S(t)是t时刻的所有易感主机,且网络中主机只存在两种状态:易感染的和感染的。蠕虫B的传播行为应遵从SI模型。微分方程给出了感染主机的数学表达式:

其中,RB(t)是在t时刻蠕虫B修复的主机。根据双因素模型式(1)和(4),W-A-W模型的表达式为[3]:

图4给出了W-A-W模型的传播趋势,其中取节点数N=1000000,I0=1,η=3,γ=0.05,μ=0.06/N,β0=β1=0.8/N。蠕虫B与蠕虫A出现在时间差Δt=100。由图4可知,引入对抗蠕虫B后A蠕虫迅速消亡。

图4 W-A-W模型中Internet蠕虫的传播趋势

这种情况下的W-A-W模型考虑了对抗性蠕虫存在的情况,能够更精确地预测蠕虫后期的传播趋势,但该模型没有考虑对抗性蠕虫进入易感主机后的状态,也没有考虑对抗性蠕虫本身的传播与其它限制因素的关系。

b.蠕虫B查杀蠕虫A并为感染主机修补漏洞。

这种状态下的W-A-W模型是一种较为实用的模型。引入蠕虫B后,B蠕虫只查杀被蠕虫A感染了的主机并为系统修补漏洞,因此减少了工作量,节约了时间,在不过分增加网络负担的情况下,能在短时间内抑制蠕虫A的传播,减少了蠕虫A的危害程度,也为进一步消除蠕虫A赢得了时间。此时蠕虫B可以利用A蠕虫遗留的信息,例如:特征文件,后门等,也可在当前主机上寻找蠕虫A的信息,如:蠕虫A的攻击目标列表。正是由于蠕虫B有比蠕虫A更多的搜索信息可以利用,蠕虫B在传播速度上要比蠕虫A快的多,这也为蠕虫B能控制和清除恶性蠕虫A提供了有力的保证。

这种情况符合Kermack-Mckendrick传播模型[8](简称KM模型)。该模型中主机保持三种状态:易感染、被感染和免疫。KM模型的微分方程表达式为:

公式(6)中,N表示网络中全部节点主机,J(t)表示时刻t所有被感染过的主机数,包括仍具有感染性的和已经从被感染的机器中免疫的,I(t)表示时刻t仍具有感染性的主机数;R(t)表示时刻t已经从被感染的机器中免疫的主机数,;S(t)表示时刻t仍是易感主机的主机数量,β是感染率,γ是主机从被感染的机器中移除的恢复率。

在本模型中,当被感染节点免疫以后,等价于将此节点从整个网络节点主机中移出,由此,网络节点总数减1。当取节点数N=10000,感染率β=1/10000000,蠕虫繁殖副本数量J(0)=3,恢复率γ=0.001时,KM模型中蠕虫的传播趋势见图5。由图可知,最后整个网络节点总数和被感染主机变为0,蠕虫彻底消除。

图5KM模型中Internet蠕虫的传播趋势

KM模型在SI模型的基础上考虑感染主机免疫的状态,相比SI模型更适合蠕虫传播的情况。但是,该模型没有考虑易感染主机和感染主机被补丁升级或人为对抗蠕虫传播的情况。

3 其它模型

除了上述传播模型以处,Chen Z等人还提出了刻画采用随机扫描策略蠕虫的传播模型AAWP(analytical active worm propagation)[7]。AAWP传播模型把活动蠕虫的网络传播特性描述的更加具体。其数学模型如下所示:

其中,ni表示t时刻已经感染的主机个数;mi表示易感主机总数(包括已感染主机);N表示易感主机总数;h表示hit list(攻击列表)的大小,h0就表示开始时刻感染主机台数;s表示每个单位时间,某个已感染主机的平均扫描率;d表示没有打补丁的情况下,1台主机从找到新主机到消亡的速度;p(patching rate)表示1台已感或易感主机变为非易感状态的速度。

对模型进一步分析可知,攻击列表越大,传播的时间越短;修补速率p越大,传播速度越慢。另外AAWP模型和简单的传播病模型相比也有诸多优势:一是传染病模型表现的主机感染情况是一个连续表示,可能会出现某时刻感染半个主机的情况,而AAWP则表示准确的感染台数;二是传染病模型是用连续时间的微分方程来描述传播过程的,而AAWP则是指定离散时间,描述传播特征。由于在传染病模型中,并未考虑到打补丁以及蠕虫感染一台主机的情况,而AAWP解决了这一问题,可以指定具体某种蠕虫感染一台主机的离散时间,从而描述该蠕虫的实际传播情况;AAWP可以考虑到一台主机被感染2次的情况,而传统的传染病模型则未能考虑这一点。

Zesheng chen和Chuanyi Ji提出了采用静态重要性扫策略蠕虫的传播模型(Worm Propagation Model for Static Importance-Scanning Worms),该模型是AAWP模型的扩展。模型及其详细推导见文献[9]。

4 结束语

利用传染病动力学原理来建立数学模型对Internet蠕虫的传播特性进行研究是一个很好的方法,对于已有的数学模型来说都有其具体的适用网络环境,随着网络结构的发展和变化,这些数学模型必然也会有所补充和改进。在分析的几个数学模型中,W-A-W模型是相对较为符合Internet网络实际的一种模型,该模型也是近年来随着良性蠕虫研究的深入而产生的一个新模型,在模型的应用过程中如果对良性蠕虫采取一些控制策略将达到较好的结果,如采用指定活动时间、指定扩散范围、指定繁殖副本数量和慢速传播机制等策略。

本文讨论的模型对Internet蠕虫具有一定的普适性,对于研究Internet蠕虫的网络特性,蠕虫的检测和预防具有一定的理论指导意义。

参考文献:

[1]马知恩,周义仓,王稳地,等,传染病动力学的数学建模与研究[M] ,北京:科学出版社,2004,4-6.

[2]郑辉,Internet蠕虫研究,(博士学位论文),天津,南开大学信息技术科学学院,2003.

[3]文伟平,卿斯汉,蒋建春,王业君,网络蠕虫研究与进展[J],软件学报,2004,(15,8).

[4]傅建明,彭国军,张焕国,等,计算机病毒分析与对抗[M],武汉:武汉大学出版社,2004.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。