分布式蠕虫检测和遏制方法的研究.doc_第1页
分布式蠕虫检测和遏制方法的研究.doc_第2页
分布式蠕虫检测和遏制方法的研究.doc_第3页
分布式蠕虫检测和遏制方法的研究.doc_第4页
分布式蠕虫检测和遏制方法的研究.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2期陈博等:分布式蠕虫检测和遏制方法的研究17分布式蠕虫检测和遏制方法的研究陈博,方滨兴,云晓春(哈尔滨工业大学 计算机网络与信息安全技术研究中心,黑龙江 哈尔滨 150001)摘 要:提出了一种分布式蠕虫遏制机制,它由两大部分组成:中央的数据处理中心和分布在各网关的感知器。中央的数据处理中心接收感知器的检测结果,并统计蠕虫的感染状况。分布在各网关的感知器监测网络行为并检测蠕虫是否存在。若检测到蠕虫的存在,感知器根据蠕虫的疫情状况,启动自适应的丢包机制。最后,实验结果证明了该遏制系统能够有效地遏制蠕虫的传播,保护网络的运行;尽可能小的干扰正常的网络行为。关键词:蠕虫检测;网络监测;自适应遏制;连接度中图分类号:TP393.08 文献标识码:A 文章编号:1000-436X(2007)02-0009-08Approach to early detection and defense against internet wormsCHEN Bo, FANG Bin-xing, YUN Xiao-chun(Research Center of Computer Network and Information Security Technology, Harbin Institute of Technology, Harbin 150001,China)Abstract: A distributed defense mechanism was proposed. The main task of defense mechanism was to quickly detect worm attacks and response to constrain their propagation. The defense mechanism was composed of two parts: a date processing centre(DPC) and distributed sensors for defending against worm attacks. DPC is responsible for receiving the result of each distributed sensor and computing the number of infected computer. These distributed sensors monitor the network and detect worm. Once a worm attack was detected, a dropping packet mechanism is used so that the worm propagation was constrained, and the number of interference with normal activity is minimized. The experimental results prove the robustness and efficiency of the proposed defense mechanism.Key words: worm detection; network monitoring; adaptive constrain; connection degree1 引言收稿日期:2006-08-09;修回日期:2006-12-19基金项目:国家自然科学基金资助项目(60403033)Foundation Item: The National Natural Science Foundation of China(60403033)随着互联网应用的深入,世界各国对Internet的依赖越来越高。一旦网络瘫痪,将会造成巨大的经济损失,因而网络蠕虫被认为是Internet上最大的安全威胁之一。1988年Morris蠕虫爆发,几天之内6 000多台的网络服务器被感染而瘫痪,损失超过1 000万美元。2001年7月19日,Code Red蠕虫爆发,9小时攻击主机达25万台之多,造成超过20亿美元的损失。2003年8月11日,Blaster蠕虫爆发,3天之内就感染了20万台电脑。所以,现在越来越多的人们对网络蠕虫的检测和遏制方法的研究投入了巨大的精力。检测未知蠕虫最直接的方法是利用异常检测系统。到目前为止,在异常检测领域中,已经产生出许多成熟的算法和系统,例如 IDES1、NIDES2和EBayes3等异常检测系统。异常检测主要检测黑客的入侵,虽然蠕虫的爆发和黑客的入侵都会引起流量的异常、主机行为的异常,但是,蠕虫传播和黑客入侵是有本质区别的。黑客攻击是一种复杂的攻击行为,它通常有一个特定的目标和一些特定的攻击者,很难找到一个好的模型来描述黑客的攻击行为。而蠕虫传播模式很简单,即所有感染了蠕虫的主机不停地向网络上其他机器发送病毒副本来感染它们。因而,简单的利用异常监测的方法来检测未知蠕虫不是非常合适的。虽然,文献4提出了一种蠕虫的动态隔离防御算法,但是它仅仅提出了一种大体框架,并没有进行实践。因而,目前为止还没有一个非常有效的系统或者算法能够很好的遏制蠕虫的传播。本文充分考虑了蠕虫的传播特点,提出了一种自适应的蠕虫检测和遏制的新方法。理论分析和试验结果表明,该方法能够快速发现未知蠕虫,并能根据疫情,自适应的调节遏制率。这保证,即使误报率很高,也能够有效地遏制蠕虫的传播,并保证对正常网络行为的干扰非常小。 2 蠕虫遏制系统结构图1描述了一个简单的蠕虫检测和遏制系统的结构示意图。此系统由中央数据处理中心(DPC)和分布在各个子网的感知器构成。中央数据处理中心接受感知器的检测结果,并统计感染蠕虫的主机数量,然后数据处理中心把所得到的统计结果送给各个子网上的感知器。感知器主要用来检测是否有蠕虫攻击的存在并且采取一定的策略遏制蠕虫的传播,其结构如图2所示。它可以分成4大部分:网络监测部分、蠕虫检测部分、计算蠕虫的攻击状态部分、自适应丢包策略部分。图1 通用的蠕虫监测和遏制系统图2 监测点的结构框图3 网络监测算法蠕虫被定义为可以传播自我副本,并且能够在远端机器上执行的代码。它是一种智能化自动化的攻击载体。它会扫描和探测网络上存在服务漏洞的节点主机,一旦渗透成功会自我复制许多副本,通过局域网、国际互联网或者电子邮件从一个节点传播到另外一个节点5。图3描述了蠕虫的攻击过程。从图3可以知道蠕虫的一次攻击过程可以划分为3个阶段:1)获取目标阶段;2)提升特权阶段;3)感染阶段。在获取目标阶段,网络蠕虫通过扫描整个互联网以选择一个特定的IP地址进行感染。迄今为止,蠕虫主要用以下几种扫描策略:随机扫描、加权随机扫描、顺序扫描和基于目标列表的扫描。图3 蠕虫的攻击过程由于蠕虫需要扫描网络来选择被攻击目标,所以可以推知感染蠕虫的主机具有以下2个特征:1)连接的频繁性 在一定的时间内,感染蠕虫的主机会试图连接大量的不同IP,扫描它们是否具有漏洞。图4列出了几种典型的蠕虫在30s内的连接状况。图5是随机抽取的正常主机在早上、中午、下午的30s连接状况。从图4和图5可以很明显得出:在相同时间片内,感染网络蠕虫的主机所产生的不同连接数目远大于正常主机的不同连接数目。2)数据包目的端口的相似性 由于蠕虫发包速度远远大于正常用户行为的发包速度。所以,当某台主机感染蠕虫时,其发送的数据包的目的端口将具有高度相似性。 图4 几种典型蠕虫的连接状况 图5 正常主机的连接状况定义1 连接度 在一个时间段t内,若主机i发送数据包给n个具有不同地址的主机,则称n为主机i相对于时间段t的连接度。从以上分析可以知道:一个主机感染蠕虫后,在同一个时间片内,感染蠕虫主机的连接数目远远大于正常主机的连接数目。也就是说,感染蠕虫主机的连接度远远大于正常主机。所以可以设计如下的监测算法来监测网络状态。网络上的主机i有3种网络状态:1)发送数据包;2)接收数据包;3)空闲状态。定义一个时间序列0。=1表示主机i在t时刻正在发送数据包,=0表示主机i在t时刻处于空闲状态或者接收数据包的状态。定义一个IP地址集合D(t,t1,t2),t1t,t2,此集合表示主机i从到时间段发送的数据包的目的地址集合。再定义符号D(t),为t时刻与主机i有联系的目的主机。则可以得到主机i的连接度的计算式为(1)其中,为主机在时间片为t的连接度,K(t)是决策函数,可以表示为(2)其中,定义了一个新的运算符,它是矢量和常量之间的运算符。设某个常量a和矢量A,则的运算结果为(3)利用式(1),可得到网络主机的连接度监测算法,如图6所示。图6 网络连接度监测算法4 自适应的蠕虫检测和遏制方法对于快速传播的蠕虫,必须有一种自动的遏制策略。当它检测到有蠕虫爆发的时候,能够快速地隔离感染蠕虫的主机。这样才能有效地遏制蠕虫的传播,更好地保护网络设备。考虑到蠕虫检测算法会产生一定的误报率,所以本节提出了一个自适应的蠕虫遏制算法。图7描述了该的蠕虫遏制算法。遏制算法由2个相对独立的子算法构成,子算法1首先记录网络上各个主机的连接度,然后根据连接度检测网络上是否有异常的主机,最后根据异常主机的数目计算蠕虫的攻击状态。设p为蠕虫发送的数据包目的端口,I为感染该蠕虫的主机个数。则蠕虫的攻击状态可以由符号D来保存,它是由二元组(p,I)所构成的集合。子算法2首先判断数据包是否属于蠕虫的攻击包,如果是,它会以概率来丢弃此包。判断某个数据包是否属于攻击包有以下2个标准:1)发送此数据包的主机是异常主机;2)此数据包目的端口存在于D中。图7 蠕虫遏制算法4.1 主机异常检测算法此算法首先利用图6所示的连接度监测算法得到各个主机的连接度,然后再判定主机是否异常。判定主机异常的主要依据是检测主机的连接度是否超过特定的阈值。因为,网络中主机连接度会出现周期性变化。例如,晚上连接度较小,而中午连接度较大。所以,本文提出自适应阈值的异常检测方法。设在n1时刻,网络上主机连接度的平均值为。则判断主机i发生异常的标准为6,7(4)其中,是一个调整因子,它指示主机连接度偏离均值多大为网络异常。均值可由式(5)计算得到(5)其中,为遗忘因子,U为被监测的主机个数。单纯通过式(4)判定主机是否感染蠕虫,会产生非常高的误报率。为了降低误报率,将式(4)进行修改,得式(6)(6)4.2 计算蠕虫攻击状态计算蠕虫的攻击状态主要有2个任务:1)获取被蠕虫用于传送数据包的目的端口,在本文称之为可疑端口;2)计算网络有多少种蠕虫攻击,每种蠕虫攻击感染了多少台主机。图8描述了计算蠕虫攻击状态的基本步骤。首先通过监测异常主机获取可疑端口p,如果p存在于D中,则对其相应的i加1。如果不存在,则在D中新建一个二元组(p,1)。图8 计算蠕虫攻击状态算法通过前面分析可知,计算蠕虫攻击状态最重要的的一步是获取可疑端口。不失一般性,主机i的网络传输过程可以抽象为目的端口流S=s1,s2,s3,。设Pd为数据包的目的端口。则判断Pd为可疑端口的标准为(7)其中,函数获取元素x的出现频率。这样获取可疑端口的任务可以描述为在序列S中发现满足式(7)中的元素。利用文献8提出近似计数(LC)算法来解决这个问题。在LC算法中,它维护一个数据结构S,此数据结构S是三元组的集合,其中,e表示数据流中的元素,f为出现频率,是计数允许的最大误差。LC算法把数据流划分成宽度为的桶,在本文由式(8)所确定(8)其中,是当前数据流的长度。LC算法首先记录每个元素在每个桶中的出现频率,然后更新数据结构S。在每个桶的边缘,LC算法会在S中删除出现频率满足式(9)的元素(9)其中,是从1开始的桶的编号。图9描述了LC算法。图9 LC算法4.3 数据包丢弃策略当网络上的一个数据包被判断为蠕虫发送的攻击包时,要丢弃此数据报来保护网络上的设备和整个网络的运行。如果检测算法存在一定的误报,而且以确定性的方式丢弃数据包时,主机的正常网络行为就会被严重干扰。为了避免这种情况的发生,遏制算法以概率的可能性阻断数据传输。被感染蠕虫的主机越多,则概率就越大。它们的函数关系可以由式(10)表示(10)其中,A,J是调节因子,调节A,J就会调节概率的变化速度,从而获得最优的蠕虫遏制效果。4.4 自适应的蠕虫监测和遏制算法分析在本节,首先给出衡量蠕虫检测和遏制算法效率的2个指标。然后根据这2个指标,分析检测算法的有效性。定义2 误阻率(GP) 主机的正常数据包被丢弃的概率。定义3 遏制效率(GE) 蠕虫在正常时候的传播速度和在有遏制算法时候的传播速度的比值。假设在t时刻,正常主机i的连接度超过阈值的概率为,则主机i被检测算法判断为感染蠕虫的概率为。则GP可以表示为(11)如果,且网络上主机的连接度分布符合正态分布,则,那么就可以得到误阻率的最大值为(12)从式(12)可知,如果参数J选择合适,则可以保证遏制算法的误阻率非常小,从而保证对主机的正常行为干扰非常小。当遏制算法工作的时候,网络上的主机可以分成3种状态:1)可感染的;2)已感染的;3)被隔离的。假设S(t)表示t时刻可感染的主机数目,I(t)表示t时刻已感染的主机数目,Q(t)表示t时刻被隔离的主机数目。这样,就可以得到在遏制算法启动的时候,主机的状态变化关系图,如图10所示。从图10可以得到遏制算法工作的时候,蠕虫的传播公式为9(13)其中,N为具有漏洞的主机的总数目,为单位感染速率。而可以表示为(14)把式(14)代入式(13),得到(15)在式(15)中,可以表示为(16)利用式(16),易得到此蠕虫检测和遏制算法的遏制效率GE为(17)通过式(17),得到如下结论:随着I(t)的增加,GE也会相应的增加,这样遏制算法能够很好地遏制蠕虫的传播。图10 蠕虫爆发时主机的状态变化示意图5 实验分析与算法性能分析为了验证算法的有效性,搭建如图11所示的仿真平台。此平台由4部分组成:1)蠕虫数据发送模块;2)背景流量发送模块;3)控制模块;4)蠕虫检测和遏制模块。控制模块监听网络上的数据包,如果发现是蠕虫的数据,则控制模块以概率的可能性启动新的蠕虫数据发送模块。在本实验中概率的大小为。在仿真实验中,,和。背景流量噪声服从N(20,802)的正态分布10。图11 实验仿真平台5.1 单种蠕虫攻击的算法性能分析首先,分析网络上只有一种蠕虫攻击时,算法的遏制效果。在只有单种蠕虫的攻击时,的仿真平台模拟RED Code蠕虫。它的仿真参数设置为:具有漏的主机的总数目为N=360 000;蠕虫的扫描率服从的正态分布;利用的目的端口为138;初始感染蠕虫的机器数目为10台。图12(a)图12(c)展示了监测算法在连续k个时间段内所得到的监测结果。利用式(6)的检测算法可以得到如图12(d)所示的检测结果。在图12(d)中横坐标为主机,图12 连续k个时间段的检测结果和检测算法的检测结果纵坐标为检测结果:大于0表示该主机异常;0表示该主机正常。用值为1表示检测结果错误,值为1.5表示检测结果正确。从图12(d),可以知道检测算法在有一定误报率前提下能够正确地检测出感染蠕虫的主机。下面,分析遏制算法的遏制效率和对正常用户的干扰情况。当算法检测到有异常主机存在时,它认为网络上存在蠕虫攻击,此时算法记录蠕虫的攻击状态,根据每个蠕虫的攻击情况,算法自适应的调节丢包概率。图13显示了在蠕虫传播过程中丢包概率的变化过程。从图13可以知道,当蠕虫刚刚出现在网络上时,此时由于较少的主机感染蠕虫,算法还不能确定网络是否真的存在蠕虫,所以相应的丢包概率比较小。后来,随着感染主机的数目增加,算法越来越确定网络存在蠕虫的攻击。所以丢包概率越来越趋近于1。图14显示了在整个蠕虫攻击过程中,蠕虫所发送数据包通过的数目和被丢弃的数目。从图14可以很明显地推出随着蠕虫的疫情加剧,遏制算法丢弃了越来越多蠕虫的攻击包。到了最后,图13 丢包概率的变化过程图14 蠕虫所发送数据报通过的数目和被丢弃的数目通过的蠕虫攻击包的数目几乎为0。这样就能够保证遏制算法能够有效地遏制蠕虫的传播。图15显示了蠕虫在正常情况下和有遏制算法情况下的传播过程比较情况,从图15可以看出算法能够有效地遏制蠕虫的传播。图15 蠕虫在两种情况下的传播比较图一个好的蠕虫遏制算法不但能够有效地遏制蠕虫的传播,而且还要具有对正常行为的低干扰率。假设NT是正常用户的发包次数,BN是被遏制算法阻断的次数。图16显示了在整个实验过程中,NT和BN的对比情况。图17显示了在整个蠕虫图16 BN和NT的值图17 误阻率的值传播过程中,误阻率的大小。从图16和图17可以推得:虽然此遏制算法在工作期间对正常网络的行为有一定得影响,但是对比NT和BN,BN的值远小于NT,可知遏制算法的误阻率非常小。这样就能够保证正常主机在遏制算法工作的时候不被过多的干扰。从上面的分析可知,该检测算法虽然存在一定的误报率,但是由于遏制算法能够根据疫情的状况自适应地调节概率:I(t)非常小的时候,丢包概率也非常小。这保证了遏制算法在一定的误报率情况下对正常用户的干扰非常小。当I(t)增大的时候,也随着增大,这样保证了遏制算法能够有效地遏制蠕虫地传播。5.2 多种蠕虫攻击的算法性能分析在本节,分析在网络上有多种蠕虫攻击时遏制算法的效果。表1显示了2种蠕虫的基本参数。表1蠕虫的基本参数蠕虫传输端口扫描率漏洞主机初始感染数量蠕虫I135358360 00010蠕虫II4 444214240 0002图18和图19分别显示了2种蠕虫发送的数据包数目和被丢弃的数目。从图18和图19可知,在多种蠕虫攻击的时候,该遏制算法利用所保存的蠕虫攻击状态,能够非常清楚地识别每个攻击包所属的蠕虫种类,然后根据相应的概率丢弃它们的数据包。由于蠕虫I的扫描速度快,其相应的丢包概率也增加的越快。但是到了最后这2种蠕虫的丢包概图18 蠕虫I所发送的数据包数目和被丢弃的数目图19 蠕虫II所发送数据包的数目和被丢弃的数目率都趋近于1。这说明了该算法能在网络上存在多种蠕虫攻击时,也能够有效地遏制蠕虫的传播。图20显示了网络上主机正常行为所发送数据包的数目和被丢弃数据包的数目,图21显示了相应的误阻率的大小。从图20和图21可以推出以下结论:在网络上存在多种蠕虫攻击的时候,遏制算法也能够有效地保证正常的网络行为不被过多的干扰。图20 正常行为所发送的数据包数目和被丢弃的数目图21 多蠕虫攻击时误阻率的值6 结束语近几年,越来越多的人注意到网络蠕虫爆发对社会的危害。所以,提出一种有效的蠕虫遏制方法遏制蠕虫的传播具有重要的意义。本文提出了一个新的蠕虫检测和遏制算法。此方法首先监测网络上的主机连接度,检测网络是否有异常的主机存在。如果有,则认为网络上有蠕虫存在。遏制算法会记录蠕虫的攻击状态,并根据攻击状态的不同,对疑似蠕虫的攻击数据包以概率丢弃。由于该遏制算法是根据检测结果自适应的调节丢包的概率,所以此方法在非常高的误报率情况下,仍然保证了对正常主机的低干扰率。最后,实验结果证明了该方法能够有效地遏制蠕虫的传播。参考文献:1DENNING D. An intrusion detection modelJ. IEEE Transactions on Software Engineering, 1987, 13(2):222-232.2ANDERSON D, FRIVOLD T, VALDES A. Next-Generation Intrusion Detection Expert System (nides) a SummaryR. Technical Report SRI-CSL-95-07, SRI International, 1995.3BERK V H, GRAY R S, BAKOS G. Using sensor networks and data fusion for early detection of active

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论