首页> 中国专利> 一种基于蠕虫传播行为的蠕虫检测方法

一种基于蠕虫传播行为的蠕虫检测方法

摘要

本发明公开了一种基于蠕虫传播行为的蠕虫检测方法,其特征在于,包括以下步骤:①数据包采集:实时采集网络上的数据包;②失败连接判别:根据采集到的数据包判断源计算机是否是第一次向目标计算机发起连接,如果是则记录在首次连接表中;根据采集到的数据包判断首次连接表中的连接是否是失败连接,如果是失败连接则将该首次连接的状态记录为一个失败连接;③可疑流量检测:根据失败连接表的信息检测出可疑流量并记录在可疑流量表中,检测依据是蠕虫的一个特征行为:短时间内产生大量的连接,这些连接的绝大多是失败连接并且目标IP地址不同;④蠕虫识别:根据可疑流量表的信息识别蠕虫流量,依据是蠕虫的另一个行为特征:传播行为。

著录项

  • 公开/公告号CN101719906A

    专利类型发明专利

  • 公开/公告日2010-06-02

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN200910216180.6

  • 申请日2009-11-10

  • 分类号H04L29/06(20060101);

  • 代理机构

  • 代理人

  • 地址 610054 四川省成都市高新西区西源大道2006号

  • 入库时间 2023-12-17 23:57:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-11-20

    专利权的转移 IPC(主分类):H04L29/06 变更前: 变更后: 登记生效日:20131029 申请日:20091110

    专利申请权、专利权的转移

  • 2012-05-30

    授权

    授权

  • 2010-07-21

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20091110

    实质审查的生效

  • 2010-06-02

    公开

    公开

说明书

技术领域

本发明涉及计算机安全技术领域,具体涉及一种基于蠕虫传播行为的蠕虫检测方法。

背景技术

近十年来,蠕虫所带来的危害越来越严重,现在已经是互联网安全最大威胁之一。为了准确,快速对蠕虫进行检测和对蠕虫爆发进行及时相应,网络安全研究者做出了不懈的努力,也取得了明显的成效。目前,蠕虫检测技术发展为三个明显的分支,这三种不同的检测思路是一种互相促进的关系,并适用不同的场合。

最先出现的蠕虫检测方法是基于蠕虫特征码的,这种方法目前大量应用于各种杀毒软件和入侵检测系统中。蠕虫特征码通常是由安全专家人工提取出来的,这种特征码的准确性很高,可以很好的识别和检测现有蠕虫,但特征码方法不能对未知蠕虫进行识别检测。

随后出现的方法是基于蠕虫传播行为的,目前这种方法在入侵检测系统中可以见到。此方法的思想是分析蠕虫的行为,找到这些行为与正常网络行为的区别,用蠕虫特殊的网络行为来检测蠕虫。这种方法的一个好处是能够检测已知和未知的蠕虫,还有一个好处是检测效率很高,因此可以应用于大型网络和高速网络。但因为有一些程序可以表现出与蠕虫类似的行为(如端口扫描),如果对蠕虫特征行为的选择稍有不慎,将会造成明显的误报。在实际应用中,还没有一种蠕虫检测系统能够对端口扫描和蠕虫扫描行为进行很好的区分,正是这个原因,目前的蠕虫检测系统的误报率仍然居高不下。端口扫描是非常普遍的网络管理手段,通过端口扫描,检测计算机开放的端口,可以对计算机的安全进行评估,但端口扫描同样被网络黑客利用。

还有一种蠕虫检测思路是根据蠕虫数据包的一些本质特征进行判断,比如:可执行特征,自解密特征等。这种检测方法的最大优势在于可以检测已知和未知的蠕虫,并且准确率非常高,但它的致命缺陷是效率太低,因此,这种类型的检测方法在实际应用中没有得到普及。

中国专利200610033899.2公开了一种网络蠕虫检测系统及方法,其主要思想是统计网络中失败连接的数量,再辅以概率计算公式,计算是蠕虫的概率,当这个概率大于一个阈值的时候,则判断检测到了一个蠕虫。此专利的检测依据蠕虫在短时间内会产生大量失败连接,并以此作为蠕虫的特征行为。但同样,端口扫描仍然会在短时间内产生大量的失败连接,所以,此专利不能很好的分辨端口扫描和蠕虫,因此会造成很高的误报。

中国专利200510011561.2公开了一种基于网络流量特征的蠕虫病毒检测方法,它是利用统计网络中的连接数,当在某一个时间范围内,某台计算机发起连接的数量超过一个阈值,并且持续一段时间,则认为是蠕虫攻击。此专利的检测依据是蠕虫在短时间内会发起大量连接,并以此作为蠕虫的特征行为。但是在日常正常的使用过程中,也会出现某个时间段流量增长很快,而端口扫描更是具备了这个行为。因此,此专利的误报率同样会比较高。

中国专利200610155323.3也公开了一种网络蠕虫检测方法及其系统,计算网络中某台计算机在一个时间范围内发起连接的目标IP地址的熵值,当熵值超过一个阈值,则判断是蠕虫攻击。总所周知,如果IP地址的熵值越大,它的分散程度就越高,因此,此专利的依据是蠕虫会在短时间内向多个不同的计算机发起连接,并以此作为蠕虫的特征行为。但在实际网络环境中,端口扫描同样可能发生这种行为,因此,此专利不能很好的区分端口扫描和蠕虫,换句话说,此专利的误报率较高。

通过对现在已经被使用的蠕虫检测技术和对已有的专利进行研究后得出的结论,目前为止,没有一个蠕虫检测方法可以适用于大规模高速网络,并且具有很高的准确性,特别是能够准且的分辨蠕虫和端口扫描行为。本专利提出的蠕虫检测方法是首个能够满足以上要求的检测方法。

发明内容

本发明所要解决的问题是:如何提供一种基于蠕虫传播行为的蠕虫检测方法,该方法能克服现有技术所存在的缺陷,适用于大规模和高速网络,能够对已知的蠕虫和未知的蠕虫进行检测。

本发明所提出的技术问题是这样解决的:提供一种基于蠕虫传播行为的蠕虫检测方法,其特征在于,包括以下步骤:

①数据包采集:实时采集网络上的数据包;

②失败连接判别:根据采集到的数据包判断源计算机是否是第一次向目标计算机发起连接,如果是则记录在首次连接表中;根据采集到的数据包判断首次连接表中的连接是否是失败连接,如果是失败连接则将该首次连接的状态记录为一个失败连接;

③可疑流量检测:根据失败连接表的信息检测出可疑流量并记录在可疑流量表中,检测依据是蠕虫的一个特征行为:短时间内产生大量的连接,这些连接的绝大多是失败连接并且目标IP地址不同;

④蠕虫识别:根据可疑流量表的信息识别蠕虫流量,依据是蠕虫的另一个行为特征:传播行为。

按照本发明所提供的基于蠕虫传播行为的蠕虫检测方法,其特征在于,在步骤②中,最开始,首次连接表为空的,一旦数据包采集装置采集到一个数据包,失败连接判别装置就会自动启动,失败连接的判别步骤如下:

步骤1:解析数据包获得数据包的协议类型,如果是TCP协议,进入步骤2,如果是UDP协议,进入步骤5,如果是其他协议,进入步骤6;

步骤2:解析数据包头,如果有SYN标志而没有ACK标志,则表示发起连接,进入步骤3,如果有SYN和ACK标志,表示首次连接成功,进入步骤4,如果没有SYN标志,进入步骤6;

步骤3:提取出数据包头中的{源IP地址、源端口号、目的IP地址、目的端口号}对信息,并用此信息到首次连接表中查找,如果没有查找到相同的记录,就把此条信息记录到首次连接表中并将本次首次连接的状态记为等待,如果找到对应的记录,进入步骤6;

步骤4:提取出数据包头中的{源IP地址、源端口号、目的IP地址、目的端口号}对信息,然后查找首次连接表中是否存在某项使得该项的源IP地址等于数据包的目的IP地址,源端口号等于数据包的目的端口号,目的IP地址等于数据包的源IP地址,目的端口号等于数据包的源端口号,如果存在这种记录并且该首次连接的状态为等待,则将其设置为成功,进入步骤6;

步骤5:提取出数据包头中的{源IP地址、源端口号、目的IP地址、目的端口号}对信息,然后查找首次连接表中是否存在某项使得该项的源IP地址等于数据包的目的IP地址,源端口号等于数据包的目的端口号,目的IP地址等于数据包的源IP地址,目的端口号等于数据包的源端口号,如果存在这种记录并且该首次连接的状态为等待,则将其设置为成功,进入步骤3;

步骤6:处理结束。

按照本发明所提供的基于蠕虫传播行为的蠕虫检测方法,其特征在于,在步骤③中,可疑流量监测装置每过一个规定的时间后就会自动触发,,最初的可疑流量表是空的,可疑流量检测的步骤如下:

步骤1:判断首次连接表是否为空,如果不为空转入步骤2,否则进入步骤4;

步骤2:从首次连接表中取出一个首次连接信息,并将此信息从首次连接表中删除,如果该首次连接的状态成功或者等待,回到步骤1。否则进入步骤3;

步骤3:将{源IP地址,目标端口号}相同的失败连接归为一组,对于每一组而言,如果不同目标IP地址数量超过5个,则将{源IP地址,目标端口号,1}信息记录到可疑流量表中,其中最后常数1是蠕虫识别装置用来识别蠕虫的,将会在下面解释。转入步骤1;

步骤4:处理结束。

按照本发明所提供的基于蠕虫传播行为的蠕虫检测方法,其特征在于,在步骤④中,蠕虫识别每过一设定时间就会自动触发,并设置可疑流量传播层数为N,识别步骤如下:

步骤1:查找首次连接表中是否有成功连接,如果有转步骤2,否则转步骤4;

步骤2:读出该成功连接的信息,将成功连接的{源IP地址,目标端口号}到可疑流量表中查找,是否有对应项,如果有则转到步骤3,如果没有则回到步骤1;

步骤3:将成功连接的{目标IP地址,目标端口号}和可疑流量表中对应项的常数部分+1记录到可疑流量表中,删除可疑流量表中与成功连接对应的项,如果新添加的项的常数部分大于等于N,则识别出蠕虫,输出相关报警信息,转到步骤1;

步骤4:结束蠕虫识别过程。

本发明的有益效果:

1、高效率,适用于大规模和高速网络

本发明的检测方法是基于蠕虫传播行为的,而不是对所有数据包内容进行处理,因此检测效率非常高,适用于大规模和高速网络。

2、能够对已知和未知蠕虫进行检测

本发明的检测方法不是依赖于蠕虫特征码,而是根据蠕虫本质的传播特征行为来进行检测,因此无论是已知还未知的蠕虫都可以进行很好的检测。

3、检测准确率高,误报率低,能够很好的区分蠕虫和其他网络程序

本发明对蠕虫行为进行了深刻的分析,找到了蠕虫区别于其他网络程序行为的两个本质的特征行为,一个是扫描行为,另一个是传播行为,通过这两个行为可以将蠕虫和其他网络程序区分开来。特别是对于端口扫描这种极易和蠕虫混淆的网络行为,本专利可以准确的将蠕虫和端口扫描区分开。

附图说明

图1是蠕虫传播行为示意图;

图2是单目标计算机多目标端口扫描的示意图;

图3是多目标计算机单目标端口扫描的示意图;

图4是多目标计算机多目标端口扫描的示意图。

具体实施方式

下面结合附图以及具体实施例对本发明作进一步描述:

本发明的关键在于找出蠕虫传播行为和其他网络行为尤其是端口扫描的不同之处,然后选择这些行为作为蠕虫特征行为。

蠕虫传播的第一个阶段是进行扫描,寻找网络中具有特定漏洞的计算机。扫描算法本身是多种多样的,但蠕虫的扫描行为都具有如下的特点:

a)短时间内产生大量的连接

蠕虫为了加快传播速度,会在短时间内尽可能的扫描更多的计算机,所以蠕虫发起连接的速度要远远高于正常的网络应用程序(如Web访问)。

b)蠕虫产生的连接绝大多数是失败连接

这是由于蠕虫扫描策略不完善造成的,因为蠕虫本身比较小,扫描策略往往比较简单,所以到目前为止以随机扫描和某个区段的全扫描为主。由于被扫描的目标主机绝大多数不存在或是目标端口没有开放,所以蠕虫产生的连接绝大多数都不会成功。

c)扫描的目标IP地址是不同的

d)扫描的目标端口只有一个或者很少的几个

蠕虫功能不会很复杂,也不可能设计成能够针对多个不同的漏洞进行传播,这样会造成蠕虫体积过于庞大。而漏洞和端口又是对应的,因此,蠕虫扫描的端口数量非常少。

除此以外,蠕虫还具有传播性。传播性是指:蠕虫从计算机A传播到计算机B之后,B又会重复A的传播行为,然后传播的计算机C,以此下去。所以蠕虫完整的传播模式是一个树状的,见附图1。

端口扫描是一种常用的检测系统安全性的方法,有很多常用的安全工具可以完成端口扫描(比如:nmap),这些端口扫描工具都提供手动配置的能力,总的来说,端口扫描可以分为三种不同的模式,见附图2~4

1)单目标计算机多目标端口的扫描

这种扫描方式和蠕虫有较大区别,可以比较容易区分。

2)多目标计算机单目标端口的扫描

这种扫描方式和蠕虫是一样的,一台采用这种模式进行端口扫描的计算机和一台感染了蠕虫病毒的计算机表现出来的扫描行为几乎是无法分辨的。

3)多目标计算机多目标端口的扫描

一台采用这种扫描方式进行端口扫描的计算机看起来就像是感染了很多个不同的蠕虫,这种模式的端口扫描于蠕虫的扫描行为也几乎是无法区分的。

总之,端口扫描与蠕虫的扫描行为很接近,单单从扫描过程来判断很难将其区分开来,这也是现有的检测方法(包括上述的现有专利)无法将端口扫描和蠕虫区分开的根本原因。但是蠕虫和端口扫描有一个最大的区别在于蠕虫具有传播性,而端口扫描没有,利用这一区别,可以很准确的将蠕虫和端口扫描区分开来。

本专利思想是将蠕虫的扫描行为和传播行为同时作为蠕虫的特征行为,首先根据蠕虫的扫描行为这一特征行为检测到可疑的网络流(可能包含了蠕虫和端口扫描),再利用蠕虫的传播行为这一特征行为将蠕虫从可疑网络流中提取出来。

本发明所提出的蠕虫检测系统由下面的装置构成:数据包采集装置,失败连接判别装置,可疑流量检测装置和蠕虫识别装置,下面分别给予描述。

1)数据包采集装置

本装置的功能在于实时采集网络上的数据包。

2)失败连接判别装置

本装置有两个功能,一个是根据数据包采集装置采集到的数据包判断源计算机是否是第一次向目标计算机发起连接,如果是则记录在首次连接表中,另一个功能是判断首次连接表中的连接是否是失败连接,如果是失败连接则将该首次连接的状态记录为一个失败连接。

3)可疑流量检测装置

本装置的功能在于根据失败连接表的信息检测出可疑流量并记录在可疑流量表中,检测依据是蠕虫的一个特征行为:短时间内产生大量的连接,这些连接的绝大多是失败连接并且目标IP地址不同。

4)蠕虫识别装置

本装置的功能在于根据可疑流量表的信息识别蠕虫流量,依据是蠕虫的另一个特征行为:传播行为。

该蠕虫检测方法基本按照如下步骤进行,首先采集网络数据包,然后从中得到失败连接的信息,再根据失败连接信息检测出可疑流量,最后再从可疑流量中识别出蠕虫。

下面给出本发明提出的蠕虫检测方法的一个具体实施例,本实施例只是对TCP协议和UDP协议的蠕虫检测方法进行了详细描述,但本专利可以适用于所有协议。

1)数据包采集装置的实施方式

本发明如果部署在大型或者高速网络的主干节点上,可以采用数据镜像的方式把网络上的数据复制到本发明所实现的检测系统中。如果是部署在局域网的出入口,可以采用数据包嗅探的方式获得网络数据包。

2)失败连接判别装置的实施方式

最开始,首次连接表是空的,一旦数据包采集装置采集到一个数据包,失败连接判别装置就会自动启动,失败连接的判别步骤如下:

步骤1:解析数据包获得数据包的协议类型,如果是TCP协议,进入步骤2,如果是UDP协议,进入步骤5,如果是其他协议,进入步骤6。

步骤2:解析数据包头,如果有SYN标志而没有ACK标志,则表示发起连接,进入步骤3,如果有SYN和ACK标志,表示首次连接成功,进入步骤4,如果没有SYN标志,进入步骤6。

步骤3:提取出数据包头中的{源IP地址,源端口号,目的IP地址,目的端口号}对信息,并用此信息到首次连接表中查找,如果没有查找到相同的记录,就把此条信息记录到首次连接表中并将本次首次连接的状态记为等待,如果找到对应的记录,进入步骤6。

步骤4:提取出数据包头中的{源IP地址,源端口号,目的IP地址,目的端口号}对信息,然后查找首次连接表中是否存在某项使得该项的源IP地址等于数据包的目的IP地址,源端口号等于数据包的目的端口号,目的IP地址等于数据包的源IP地址,目的端口号等于数据包的源端口号,如果存在这种记录并且该首次连接的状态为等待,则将其设置为成功,进入步骤6。

步骤5:提取出数据包头中的{源IP地址,源端口号,目的IP地址,目的端口号}对信息,然后查找首次连接表中是否存在某项使得该项的源IP地址等于数据包的目的IP地址,源端口号等于数据包的目的端口号,目的IP地址等于数据包的源IP地址,目的端口号等于数据包的源端口号,如果存在这种记录并且该首次连接的状态为等待,则将其设置为成功,进入步骤3。

步骤6:处理结束。

本装置设置了一个规则判断首次连接是否失败,如果TCP发出的首次连接在5s之内没有收到连接成功的数据包,则将该首次连接设置为失败,如果UDP发出的首次连接在30s之内没有收到回复数据包,则将该首次连接设置为失败。

3)可疑流量检测装置的实施方式

可疑流量监测装置每过一个规定的时间后就会自动触发,本实施例设置为5min。最初的可疑流量表是空的,可疑流量检测的步骤如下:

步骤1:判断首次连接表是否为空,如果不为空转入步骤2,否则进入步骤4。

步骤2:从首次连接表中取出一个首次连接信息,并将此信息从首次连接表中删除。如果该首次连接的状态成功或者等待,回到步骤1。否则进入步骤3。

步骤3:将{源IP地址,目标端口号}相同的失败连接归为一组。对于每一组而言,如果不同目标IP地址数量超过5个,则将{源IP地址,目标端口号,1}信息记录到可疑流量表中,其中最后常数1是蠕虫识别装置用来识别蠕虫的,将会在下面解释。转入步骤1。

步骤4:处理结束。

4)蠕虫识别装置的实施方式

本实施方案采用蠕虫传播层数来刻画蠕虫的传播行为,最初可疑流量表中的可疑流量的传播层数都是1,这表示它们可能是蠕虫的源头。当可疑流量中某项的源IP地址往目标端口号发起的连接成功的时候,表示此可疑流量传播到了其他计算机,这时把这个成功连接的目标IP地址和目标端口号作为新的可疑流量,并且它的传播层数是原来该项的传播层数加1,这时,原来的可疑流量就不用再监控了,所以从可疑流量表中删除该项。这个过程一直持续到某可疑流量传播层数大于一个阈值的时候,就可以认定此可疑流量是蠕虫。

本实施方案设置蠕虫传播层数大于等于3时,将可疑流量判别为蠕虫。蠕虫识别装置每过一个规定的时间就会自动触发,本实施方案设置的是5s,蠕虫识别的步骤如下:

步骤1:查找首次连接表中是否有成功连接,如果有转步骤2,否则转步骤4。

步骤2:读出该成功连接的信息,将成功连接的{源IP地址,目标端口号}到可疑流量表中查找,是否有对应项,如果有则转到步骤3,如果没有则回到步骤1。

步骤3:将成功连接的{目标IP地址,目标端口号}和可疑流量表中对应项的常数部分+1记录到可疑流量表中,删除可疑流量表中与成功连接对应的项。如果新添加的项的常数部分大于等于3,则识别出蠕虫,输出相关报警信息。转到步骤1。

步骤4:结束蠕虫识别过程。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号