P2P僵尸网络的传播建模与分析



  0 引言

  僵尸网络(botnet)是攻击者(botmaster)出于恶意目的,通过传播僵尸程序控制网络中的大量节点,通过一对多的命令与控制信道(Command and Control, C&C)形成的有组织的覆盖网络[1]。被控制的大量节点称为僵尸机(bot)。僵尸主人利用大量被控制的僵尸机进行网络破坏活动,比如:发送垃圾邮件、信息窃取、分布式拒绝服务袭击等[2]。目前僵尸网络已成为Internet最大的威胁之一。

  传统僵尸网络采用集中式的命令与控制结构,一旦中央节点被破坏,整个僵尸网络将陷入瘫痪状态。相比之下,P2P(Peer-to-Peer)僵尸网络采用分布式的命令与控制结构,这种结构可以有效隐藏它们的通信,不会因为一个节点被破坏,就导致整个网络无法正常工作。因此,近年来,许多僵尸主人转移策略到P2P僵尸网络上,出现了大量诸如:Trojan.Peacomm,Storm botnet等P2P僵尸网络[3],对网络安全造成了严重威胁。为了有效预防与控制P2P僵尸网络的传播,许多网络安全专家已作了大量有价值的研究[4-10]。文献[4]从可达性、可扩展性和鲁棒性等方面详细分析了Antbot(一种新兴的P2P僵尸网络)的执行过程,并且提出了实践中可行的、减轻Antbot破坏活动的方法。文献[5]提出了一个均匀场模型,在此模型基础上分析了P2P僵尸网络传播的动力学行为,并且和采用软件模拟的方法进行了比较。文献[6]提出一个针对storm worm P2P僵尸网络的随机模型,基于该模型分析了恢复率和初始感染率等因素对僵尸网络最终感染规模的影响。文献[7]研究了未来高级僵尸网络的袭击技术,并且设计了一个混合P2P僵尸网络来研究它的防御方法;结果表明,蜜罐技术对预防未来高级僵尸网络的爆发有很好的作用。文献[9-10]着重研究了僵尸网络的检测技术。

  已有工作中,很少有通过数学模型刻画僵尸网络传播行为的研究。考虑到数学建模对研究计算机病毒传播过程的有效性,本文根据文献[11]提出的自愿式僵尸网络(Leeching botnet)的形成过程建立一个时滞微分方程模型,并且从数学的角度分析其传播动力学行为。

  1 模型建立

  一个自愿式僵尸网络的形成过程分为两个阶段[11]:

  第一阶段 僵尸主人从整个Internet中感染存在漏洞的节点;

  第二阶段 新感染的节点正式加入已存在的僵尸网络和其他节点连接,成为一个僵尸机。

  为了准确刻画自愿式僵尸网络的传播动力学,本文采用考虑潜伏期的SEIR(Susceptible-Exposed-Infected-Recovered)流行病模型。模型4种状态的含义如下。

  1)S为易感染状态。表示网络中的节点(终端用户、路由器或网络服务器)存在漏洞但是还没有被僵尸程序感染。

  2)E为潜伏状态。表示网络中的节点已经被计算机病毒感染,但是不具备感染其他节点的能力。本文中表示节点已经被僵尸程序感染,但是还没有正式加入已存在的自愿式僵尸网络中。

  3)I为感染状态。表示网络中的节点已经被计算机病毒感染并且可以感染其他节点;本文中表示节点已经正式加入到自愿式僵尸网络中。

  4)R为恢复状态。表示网络中的节点已经采取了免疫措施,不会被僵尸程序感染。

  在任意时刻,网络中任一节点处于这4种状态中其中一种,并且在僵尸程序以及反病毒程序的作用下,随时间在这4种状态之间进行转化,具体转化过程如图1所示。

  图6反映了感染率对僵尸网络传播规模有很大影响,当κ取0时,感染率是一常数(初始感染率β0),κ的值越大,感染率越小,僵尸网络传播的最终规模也越小。因此,降低感染率是有效控制僵尸网络传播规模的一个有效办法。实际网络管理中,可以通过不均匀分布易感染节点、断开已感染节点、安装反病毒软件等方法实现感染率的降低。

  4 结语

  P2P僵尸网络的大规模传播已经对网络安全造成了严重影响。本文根据Leeching botnet的形成过程建立了一个新的动力学模型,通过定性的数学分析找出了消除僵尸网络的临界值——基本再生数,最后通过Matlab数值模拟验证了理论分析的正确性。模拟结果表明:1)时滞τ的大小与僵尸网络传播达到稳定状态所需时间是成正比的,但是τ的大小不影响僵尸网络最终规模的大小;2)节点从E状态转化为I状态的比例越大,僵尸网络最终达到的规模就越大。本文的结果可以为有效预防和消除僵尸网络的爆发提供良好的理论基础。今后收集真实数据验证并且不断完善该模型是进一步的工作。