探究复杂邮件网络和恶意代码传播模型

1 引言

  网络拓扑结构经过以下三个发展阶段:
1959 年Erdos 和Renyi 提出一种随机网络模型(ER)模型来描述网络,在接下来的数十年里这种模型一直被研究和引用;
从上世纪末开始,由于互联网的发展,科学家们发现大量的真实网络并不是随机网络,而是具有与随机网络不同的统计特征的网络,这样的一些网络被科学家们叫做复杂网络。关于复杂网络, 1999年Barabasi 和Albert 在Science 上发表文章指出,许多实际的复杂网络的连接度分布具有幂律形式,由于幂律分布没有明显的特征长度, 该类网络又被称为无标度(Scale-Free, 简称为SF)网络。后来的研究表明并非万维网独有,无标度网络无处不在。包括:生命科学领域的各种网络、社会网络(流行性疾病的传播网络、科学家合作网络、人类性关系网络)、语言学网络,等等。当然电子邮件网络也不例外,它是符合幂律分布规律的网络之一,因而也具有无标度的特性。
  Newman 等人分析了电子邮件网络的实际拓扑结构,统计了和调查了一个实际的电子网络,通过电子邮件簿来构建该网络的模型。在这个模型中,节点代表实际的计算机用户,如果B 的电子邮件地址出现在A 的电子邮件地址簿中,则认为从A 到B 有一条连接。
  该网络共有16881 个节点,这些节点间共有4581 个地址簿。
  可以看出,该邮件网络的入度及出度均服从明显的指数型分布,但入度服从纯指数分布,而出度服从幂为1/ 2 的拉伸的指数分布。
  Ebel 等人建立了另外一种电子邮件拓扑结构网络模型。该模型基于美国Keil 大学的一组电子邮件网络服务器。该网络共有59812 个节点。与Newman 的调查方式不同,他通过这个实际网络的电子邮件帐户来构建该模型。
  可以看出,该邮件网络是一个明显的有向无标度网络,其入度服从指数为1.49±0.18 的幂律分布,出度服从指数为2.03±0.12 的的幂律分布。


  2. 本文的目的与贡献

  综合以上对于实际邮件网络的调查结果可知,现实中的电子邮件网络应该是一个符合幂律分布的有向SF 网络。可是在目前的复杂网络研究文献中,对于SF 网络的研究与仿真绝大多数都是建立于无向SF 模型之上,对于电子邮件这种有向SF 网络而言,这些模型及其仿真结果并不能令人信服。
  本文以Bollobás 的理论为基础,在Matlab 中构建一个有向SF 网络模型,并通过调整模型的参数,使其尽量符合实际的邮件网络。在此基础上,通过高性能集群计算系统,在Matlab 环境中仿真了恶意代码在该模型上的传播过程和特性;
并根据恶意代码的传播模式,对不同的免疫策略进行仿真,提出有针对性的免疫策略。


  3 SF 有向电子邮件网络模型的演化与建立

  按照 Bollobás 的模型,有向网络的演化过程分为两个阶段:生长阶段及内部连边阶段。由于这个网络的有向性,其生长阶段又分为两种可能:新加节点为出度的情况(我们把它称为生长过程A)及新加节点为入度的情况(我们把它称为生长过程B)。设定三个参数分别代表这三个阶段的概率:
  α代表生长过程A 的概率, β代表内部连边的概率, γ代表生长过程B 的概率。显然,在该模型中,有α+β+γ=1;另外,按照BA 模型的网络生长规则,新加入的节点和连线将优先与原网络中连接度大的节点连接,这种效应被称为“马太效应”。在本模型中,按照这个规则,如果一个节点在演化过程中的某个步骤中没有得到连接,在网络以后的演化过程中,它将永远变为孤立节点(因为它的连接概率是零)。为避免这种情况出现,这个模型中引入了两个参数:δin、δout,分别代表出度及入度的修正值,并且假定这两个参数都是非负的实数。引入这两个参数后,每个节点的入度和出度分别是din(Vi)+δin和dout(Vi)+δout。
  该网络的生长过程如下:
  (1) 初始化:设网络中有N0 个节点,并在节点之间随机的连接M0 条边;

  (2) 生长过程A:在每个时间步,以α的概率进行以下过程:添加一个新的节点N,并从N 连接一条边到已有的节点W。在这里,W 按照以下的概率公式计算选择:
  Pr(Vi=W)=(din(Vi)+δin)/(t+δinN(t)) (1)(3) 内部连边:以β的概率进行以下过程:从已有的节点V 连接一条边到另外一个节点W。在这里,V 和W 都是独立选择的,W 按照公式(1)的原则选择,而V 按照以下的概率公式计算选择:
  Pr(Vi=V)=(dout(Vi)+δout)/(t+δoutN(t)) (2)(4) 生长过程B:以γ的概率进行以下过程:添加一个新的节点 N,并在已有的节点中选择一个节点W 连接一条边到N。
  反复进行以上步骤,直到生成的网络足够大。
  令C1=(α+β)/(1+δin (α+γ));
C2=(β+γ)/(1+δout (α+γ));
根据Bollobas 的分析,该模型生成的网络其入度符合以下的关系:
  ~ Xinin in P Ci? ;
其中Xin = 1+1/C1;其出度符合以下的关系:
  ~ Xoutout out P C i? ;
其中Xout = 1+1/C2;考虑到许多现实的网络其幂律分布一般在2~3 之间,我们的参数设置如下:
  α=0.2;
β=0.7;
γ=0.1。中国代写论文网为您代写硕士论文。
  在Matlab 中,仿真程序运行50000 步,生成15092 个节点。
  可以看出,该模型生成的网络为典型的有向SF 网络,可以用于进行下一步的仿真。

  4 电子邮件蠕虫病毒的传播模式


电子邮件病毒本质上与普通病毒并没有区别,只是以电子邮件为媒介,利用邮件用户之间的交互来传播。典型的电子邮件病毒,比如Melissa 病毒使用了Word 宏,附在邮件的附件里面。如果邮件接收者打开了该附件,Word 宏就被激活,之后电子邮件病毒搜寻用户通信簿的邮件列表,并把自身发送到邮件列表中的每一个地址。本文将按照这种模式,假设用户一旦感染病毒,病毒将自动查找本机的电子邮件簿,并朝电子邮件簿中的地址发送病毒邮件。
  传播模型是这样的:采用SIS 模型,令从易染状态到感染状态的概率为V,从感染状态到易染状态概率为δ,有效传播率为 λ = v/δ。
  首先,根据病毒传染率的不同,设定三组不同的参数对三种病毒的传播进行模拟;
第一类病毒:令v=0.8,代表那些高度传染性的病毒。比如尼姆达、求职信病毒。这类病毒有个共同特点,就是它们利用了微软系统及outlook 中的漏洞,当用户浏览信件时,不需要打开附件,病毒即可激活,因而这类病毒的传染率非常高;
第二类病毒:令v=0.6,代表那些中度传染性的病毒,比如W32/Sircam 病毒。这类病毒的典型特征是重复感染,即当用户打开病毒邮件的附件激活病毒后,病毒即向外发送电子邮件副本,而不管该用户是否已被感染病毒。
  第三类病毒:令v=0.3,代表那些低度传染性的病毒,比如Melissa 和I Love you 病毒。
  这类病毒是非重复感染的病毒,即病毒被激活后,仅向外发送一次电子邮件病毒的副本,以后不再发送同样的病毒邮件。
  然后,以上一节生成电子邮件矩阵模型基础上,假设在某个时间段(T1),网络中有十台机器感染病毒。该病毒每隔时间T 就向网络中发送病毒邮件。
  在病毒开始流行到一定阶段(T2)以后,防毒软件和系统补丁开始介入,此时被感染主机开始以一定的概率δ恢复。T2 之前的传染阶段称为前期,这之后的阶段称为后期。
  在以下的仿真过程中,我们设定的后期条件如下:
  在病毒传播开始50 个周期以后,网络中开始清除病毒,一开始的恢复率规定为5%,然后系统中每隔5 个周期,恢复率增加3%,直到最后的50%为止。
  将每组病毒的参数带入模型,每组运行十次,取平均值。
  可以看出,在无防护的网络上,即便是传染率较低的病毒其传播速率也相当快。在本例中,当v=0.3 时,只用了20 个周期左右就传播遍了网络中所有的易感主机。这就是为什么新病毒一旦产生,它往往在短短几天之内就传播遍了整个互联网络的原因。
  另外,从该仿真结果可以看出,无论病毒在该网络中传播多少个周期,该网络中始终有一部分节点不受感染。(本例中,有大约3000 个节点始终未被病毒感染)这是有向网络与无向网络的一个重大区别,更符合现实的情况。因为在现实中,A 是B 的联系人并不一定意味着B 也是A 的联系人,同样,A 向B 发送了一封邮件也并不意味着B 会回信。这样,现实的邮件网络中有许多的帐号是只向外发送邮件,而没有接收邮件或者这些帐号根本就没有被加入到其他帐号的地址簿里面,可想而知这些账户是不会感染病毒的。


  5 不同的免疫策略

  从以上的仿真结果可以看出,病毒很容易在未加防护措施的电子邮件网络中流行。因此在现实的电子邮件网络中,应该采取合适的免疫策略来减缓或消除病毒的流行。针对目前的网络结构,通常采取的免疫策略有三种:随机免疫、目标免疫和熟人免疫。

  5.1 随机免疫(Random Immunization)
  随机免疫方法是完全地随机抽取网络中的一部分节点进行免疫。它对度大的节点(被感染的风险高)和度小的节点(相对安全)是完全平等的。为了模拟这种免疫策略的效果,设定ρ(免疫节点密度)=30%,50%两种情况进行仿真。
  从仿真结果可以看出:随机免疫的效率不高。即使免疫节点数经达到50%的情况下,在病毒流行的前期,其传播速度与没有防护的网络几乎没有区别;
而在病毒流行的后期,尽管有另外一半节点已经采取了防护措施,仍然有相当一部分节点会被感染。

  5.2 目标免疫 (Targeted Immunization)

根据无标度网络的不均匀特性,可以进行有选择的目标免疫,即选取少数度最大的节点进行免疫。
  传统的算法是统计并排序所有的节点的出度数,按百分比ρ挑出度数靠前的节点进行免疫。我们采用了一种新的算法进行仿真,先计算出该网络的平均出度数Dout,然后设定一个参数Pd(节点平均出度数的倍数),若某个节点的出度大于pd×Dout,则该节点需要免疫;
否则不需要免疫。
  5.2.1 Pd=4(在该模型中,相当于免疫节点密度ρ=3.48%)。
  5.2.1 Pd =3(在该模型中,相当于免疫节点密度ρ=5.77%)。
  与随机免疫相比,这种免疫策略相当有效。其有效性表现在两个方面:
  (1)在病毒传播的前期,可以大大减缓病毒的传播速度。可以看出,在同样的条件下,实施了这种策略的网络病毒感染网络中所有易染主机的时间延长了将近1 倍。这意味着在现实中,网络管理员或者杀毒软件公司可以得到更多的响应时间。
  (2)对于电子邮件网络或服务器管理员来说,仅仅免疫网络中出度最大的极少数用户,而不用每个用户用户上都去添加免疫措施就可以让网络中的病毒难以传播和流行,大大减轻了工作量。

  5.3 熟人免疫:(Acquaintance Immunization)
  目标免疫虽然比较有效,但是这种方法需要对网络的结构有详细的了解,对网络中各节点的度数有比较清楚的认识。在很多情况下,这是难以做到的。针对这种情形,可以采用另外一种免疫策略:熟人免疫。
  熟人免疫的原理基于无标度网络的不均匀性。它的执行步骤是:从N 个节点中随机的选择比例为p 的节点,然后再从被选出的节点中随机挑出一个邻居节点进行免疫。按照无标度网络的性质及统计概率学的原理,若随机选择一个节点,再选择他的邻居,那么度数大的节点被选中的概率就会比较大。
  5.3.1 P =10%时。
  5.3.2 P =15%时。
  与随机免疫相比,熟人免疫策略的效率还算不错,在病毒传播的前期,传染速度减少了将近一半。这种免疫策略可以在以相对较少的免疫节点数目的条件下,取得接近于目标免疫的效果。
  当邮件网络受到病毒及恶意代码攻击时,应该采取什么样的免疫策略?一个好的免疫策略它必须具有两个特点:
  (1)在病毒流行的初期,它能够尽可能地减缓病毒的传播速度。
  (2)不需要实施大规模的个体免疫,就能够把受感染的个体控制在可以接受的范围内。
  可以看出,随机免疫策略需要免疫大量的节点才能把病毒的流行控制在一定范围内,而在病毒传播的前期,这种策略并不能减慢病毒的传播速度。目标免疫需要实施的免疫密度最低,病毒在这种网络上的传播速度也最慢,但是实施这种策略需要详细了解网络架构,因此这种策略仅适合电子邮件服务器供应商或网络管理员。熟人免疫策略的效率介于随机免疫与目标免疫之间,需要实施的免疫密度大大低于随机免疫,而且这种策略的实施不需要知道网络架构,就可以有效的减缓和控制病毒的流行。因而对于杀毒软件商和最终用户来讲,这种策略往往是最可行的。

  6 结论

  复杂网络理论为电子邮件网络中病毒传播的研究提供了新的思路和方法。本文基于Barabasi 的复杂网络理论,在Matlab 中,建立了一种有向SF 网络模型。在这种模型中,首先模拟了三类典型的邮件病毒在这种网络中的传播过程。然后采用三种不同的免疫策略,仿真了免疫策略对病毒传播造成的影响。并根据仿真结果,找出适合现实网络不同用户的免疫策略。由于随机免疫需要实施大量的个体免疫,所以在现实的网络中不推荐实施。目标免疫的效果最好,适合于网络和服务器管理员。熟人免疫策略的效率不及目标免疫,但这种策略易于实施,比较适合于杀毒软件商和最终用户。

推荐访问:探究 恶意代码 模型