一种实时检测蠕虫的方法

文档序号:7970030阅读:132来源:国知局
专利名称:一种实时检测蠕虫的方法
技术领域
本发明涉及蠕虫检测方法,特别涉及计算机网络与数据通信中的蠕虫
背景技术
自1988年莫里斯从实验室制造出第一个蠕虫病毒以来,计算机蠕虫病 毒以其快速、多样化的传播方式不断给网络世界带来灾害。特别是1999年 以后,高危蠕虫病毒的不断出现,多次均使世界经济蒙受了轻则几十亿、 重则几百亿美元的巨大损失。
Internet蠕虫虽然常常被归类到广义的病毒中,但蠕虫同传统意义上的 病毒除了在复制和传染方面具有相似性之外,还有很多不同点,如蠕虫主 要以计算机为攻击目标,病毒主要以文件系统为攻击目标;蠕虫具有主动 攻击特性,而病毒在传播时需要计算机使用者的触发等等。正是这些与病 毒的不同之处,导致传统的病毒检测策略应用到对抗蠕虫时,基本上不再 适用。在产生的破坏性上,蠕虫也不是普通病毒所能比拟的,网络的发展 使得蠕虫可以在短短的时间内蔓延整个Internet,造成Internet大面积无法 正常工作。因此对Internet蠕虫有效检测方法,尤其是对各种类型蠕虫、包 括目前暂时未知的,都广泛有效的检测方法的研究就非常关键。
现有的蠕虫检测系统主要有以下两种 (1)由入侵检测系统(IDS, Intrusion Detection System)来完成。这 类系统都是需要将网络中所有的流量都镜像到IDS系统中,然后由IDS对 侦听到的IP数据包进行分析,当发现IP数据包中特征码与IDS中蠕虫特征 码库相匹配时,即报告发现蠕虫。该方法由于采用与传统病毒检测方法相 类似的特征匹配方法, 一方面,由于特征库匹配性能较低,造成整体蠕虫 检测性能低下;另一方面,对特征库的实时更新提出了更高的要求,导致 适应范围窄;最后,该方法无法适用于未公开特征码的新型蠕虫。
(2)由流量异常分析系统来完成。这类系统通常是由具备该功能的网 络设备来收集各网络设备上的流量信息,并对它们进行统计与分析。然后 利用某种预定的流量异常阈值来判定是否是蠕虫。该方法主要以蠕虫活动 常会导致流量异常变化作为理论依据。由于仅从流量的变化规律来分析, 存在一定程度的误报。
以上两种方法,都存在适应范围窄、效率低、灵敏度较低、误报率较 高的问题。因此迫切需要一种适用范围广、效率高、灵敏度高、误报率低 的蠕虫检测方法。

发明内容
本发明的目的在于提供一种实时检测蠕虫的方法,该方法能够高效实 时检测网络中可能感染蠕虫的主机,具有适应范围广、性能高、灵敏度可 调、误报率低等优点。
本发明的实时检测蠕虫的方法的特征在于,包括如下步骤侦听网络 数据包并对其进行处理的步骤,在该步骤中对收集的数据包按照TCP/IP协 议模型进行分层与分类,并建立记录各主机发送数据包情况的设备发包统 计信息表;判定是否是ARP请求数据包的步骤,如果是则更新设备发包统 计信息表,如果不是则判定是否是IP新建连接;判定是否是IP新建连接的 步骤,如果不是则返回到侦听网络数据包并对其进行处理的步骤,如果是 新建连接则更新设备发包统计信息表;判断该设备是否是可疑设备的步骤, 根据设备发包统计信息表的内容判定是否是感染蠕虫的可疑设备,如果是 感染蠕虫的设备对其进行标记,如果不是则返回到侦听网络数据包并对其 进行处理的步骤。
本发明的实时检测蠕虫的方法的特征还在于,在所述侦听网络数据的 步骤中,利用报文中源MAC地址、源IP地址作为散列参数计算索引值, 并以该索引值建立主机信息散列表,该主机信息散列表用于根据索引值索 引记录网络中各设备发送数据包情况的设备发包统计信息表。
本发明的实时检测蠕虫的方法的特征还在于,在所述判断该设备是否 是可疑设备的步骤中,根据ARP请求数据包发送频率来判定是否是可疑设
备。
本发明的实时检测蠕虫的方法的特征还在于,在所述判断该设备是否 是可疑设备的步骤中,根据IP数据包中新建连接的频率来判定是否是可疑 设备。
本发明的实时检测蠕虫的方法的特征还在于,所述新建连接包括:TCP、
UDP、 ICMP等。
本发明的实时检测蠕虫的方法的特征还在于,所述ARP请求数据包发 送频率通过设定蠕虫行为特征描述结构中特定阈值M并计算上次计算频率 直至当前时间的时间差A t来计算。
本发明的实时检测蠕虫的方法的特征还在于,所述新建连接的频率通 过设定蠕虫行为特征描述结构中特定阈值M并计算上次计算频率直至当前 时间的时间差At来计算。
本发明的实时检测蠕虫的方法的特征还在于,根据ARP数据包目的地 址分布情况判定是否是蠕虫。
本发明的实时检测蠕虫的方法的特征还在于,根据IP新建连接数据包 目标相似度分布来判定是否是蠕虫。
本发明的理论基础蠕虫的一个重要特征是其具有很强的传播性。蠕 虫快速扩散时,伴随着大量而复杂的网络行为。 一般而言,蠕虫会采用各 种方式获得被攻击目标主机的IP (例如随机或顺序生成目标IP),并向它们 发送攻击数据包。由于TCP/IP协议机制原因,蠕虫主机主要采用以下方式 中的一种进行传播(1)获得被攻击主机的MAC地址,直接建立与该主机 的通信(2)通过路由器来转发攻击数据。对于第一种情况,蠕虫常常会 以很高或较高的频率向广播域内发送ARP广播包请求目标地址的MAC; 对于第二情况,蠕虫会以很高或较高频率向路由器请求建立IP连接。此外, 蠕虫发送给不同目标主机的信息内容上有高度的相似性与时间局部性。因 此综合利用上述蠕虫行为特征,即可高效、准确的检测网络中可能存在的 蠕虫。 '
本发明建立在对蠕虫行为特征的分析,并与蠕虫行为特征描述结构进 行匹配。对于匹配上的主机,将判定其感染蠕虫。
该方法基于对蠕虫行为特征进行分析,从而能够高效地检测网络中可 能存在的蠕虫。因此,本发明的实时监测蠕虫的方法能够高效实时检测网 络中可能感染蠕虫的主机,具有适应范围广、性能高、灵敏度可调、误报 率低等优点。


图1是本发明的实时检测蠕虫的方法的流程图。
图2是本发明的实时检测蠕虫的方法的一个实施例。
图3是本发明的实时检测蠕虫的方法中采用的主机信息散列表。
具体实施方式
.
以下参照附图对本发明的实时检测蠕虫的方法进行详细说明。图1是 本发明的实时检测蠕虫的方法的流程图,图3是本发明的实时检测蠕虫的 方法中采用的主机信息散列表。
本发明的实时检测蠕虫的方法包括如下步骤侦听网络数据包并对其
进行处理的步骤SIO,在该步骤中对收集的数据包按照TCP/IP协议模型进
行分层与分类并建立记录各主机发送数据包情况的设备发包统计信息表; 判定是否是ARP请求数据包的步骤S20,在该步骤中,对侦听到的数据包 判定其是否是ARP请求数据包,如果是ARP请求数据包则前进到更新设备 发包统计信息表的步骤S40,如果不是则前进到判定是否是IP新建连接的 步骤S30;判定是否是新建连接的步骤30,如果不是新建连接则回到侦听 网络数据包并对其进行处理的步骤SIO,如果是新建连接则更新设备发包统 计信息表(S40);更新设备发包统计信息表的步骤S40,该步骤用于更新设 备发包的统计信息;判断该设备是否是可疑设备的步骤S50,在该步骤中根 据设备发包统计信息表判定发送ARP请求数据包和IP新建连接的频率是否 超过规定的阈值,如果超过规定的阈值则判定该设备可疑,将其标志为蠕 虫感染可疑主机(S60)并返回步骤SIO,如果没有超过规定的阈值则清空设 备发包统计信息表中的ARP请求包计数器和IP新建连接请求计数器并返回 到侦听网络数据包并对其进行处理的步骤SIO。
图2是本发明的实时检测蠕虫的方法的一个实施例。在侦听网络数据 并对其进行处理的步骤S110中需要对收集的数据包按照TCP/IP协议模型 进行分层与分类,分层与分类的方法通过侦听网络侦听所有的报文数据, 提取报文中的相关信息,对于ARP数据包,提取ARP数据包中包括的源 IP地址、目的IP地址、源MAC地址、目的MAC地址;对于IP数据包, 提取IP数据包中包括的IP五元组信息(源地址、目的地址、源端口/ICMP id、目的端口/ICMPtype和code、协议号)、IP数据包发生的时间、建立连 接后,第一个有效的内容数据包,以及基于连接的上下文关系。
所述的报文数据侦听与收集操作方法关键步骤如下
(1) 将信息收集单元以透明桥方式接入网络环境中;
(2) 将单元中的网卡设置为混杂模式,从而可以侦听所有二层交换机 下的网络主机之间通信的数据包;
(3) 将收集到的信息存放在缓冲存贮设备例如高速内存等,等待信息 处理单元处理。
接下来,对于侦听到的数据报文,在对数据包依TCP/IP分层分类之后, 可利用报文中源MAC地址、源IP地址或者其他特定标识作为散列参数计 算索引值,并以该索引值建立或索引用于记录网络中各主机发送数据包情 况(设备发包统计信息表)的信息表,以下称由上述索引值组成的信息表 为主机信息散列表,如图3所示,图中,IO为主机信息散列表,20为记录 网络中各主机发送数据包情况的设备发包统计信息表。具体步骤如下将 源IP地址和源MAC地址代入散列参数计算公式中计算索引值,利用该索引 值在主机信息散列表中索引与该主机对应的设备发包统计信息表,在索引 到表项时,将源IP地址与源MAC地址与该表项的对应字段进行匹配,并 更新该表项。入表信息包括源MAC地址、源IP地址、数据发生时间。
在接下来的判定是否是ARP请求数据包的步骤S120中判定其是否是 ARP请求数据包,如果收到的数据包是ARP广播请求包,检索对应主机在 散列表中的表项(S125),将设备发包统计信息表20中的ARP请求包计数 器加l,并计算ARP请求频率(S140),计算方法见后续说明。对于对应表项不存在,但散列表索引值相同的表项,采用在表项后追加链式表项的方 式或其它可以解决散列冲突的方法建立新的表项,入表信息同上。
判定是否是IP新建连接的步骤S130与上述判定是否是ARP请求数据 包的步骤S120相同,这里省略其说明。
接下来,匹配蠕虫行为异常描述结构S155,根据匹配结果判定是否感 染蠕虫S160,如果感染蠕虫,将该主机标注为蠕虫感染可疑主机,并返回 到SllO。 '
在本实施例中,根据设备发包统计信息表判定发送ARP请求数据包和 IP新建连接的频率是否超过规定的阈值来判定该设备是否可疑。主机ARP 广播请求包发送频率的计算方法如下预先设置一个蠕虫行为特征描述结 构的ARP频率阈值M次/秒。每当收到一个ARP广播请求包时,将主机信 息散列表中该主机对应的表项中ARP请求包计数器加一。直到当该计数器 数值超过M值时,算出自上次计算频率直至当前时间的时间差At。如果At 时间大于一秒,则说明最近△ t时间内,ARP广播请求包的平均发送频率低 于M次/秒,否则其发送频率高于M次/秒。计算完ARP请求频率之后,将 在该表项中清空ARP请求包计数器,并保存当前时间作为下一轮ARP计数 的起始时间。如果该主机的ARP请求包发送频率超过蠕虫行为特征描述结 构中特定阈值M次/秒,则判定该设备ARP广播请求包发送可疑,并在与 该主机对应的设备发包统计信息表20中设置ARP请求发包可疑标志,并 将ARP可疑标志被设置时标设置为当前时间。
对于当前ARP请求发包频率没有超过蠕虫行为特征描述结构中特定阈 值,但之前已被标注为ARP请求发包可疑的主机,将统计如下几个数据 自被怀疑成ARP请求发包可疑设备之后,持续到当前时间一直没有再次发 送ARP广播请求数据的时间A Tl; ARP请求频率已持续低于某一个蠕虫行 为特征描述结构中特定阈值的时间AT2。如果AT1或AT2大于它们对应的 预先定义的蠕虫行为特征描述结构中的特定阈值,则认为该设备ARP请求 发送不再可疑。并清除与该主机对应的设备发包统计信息表20中的ARP 请求发包可疑标志。否则认为该主机ARP请求包发送仍然可疑,但不更 新被设置成ARP请求发包可疑的时标。
对于IP报文,采用与ARP类似方式统计IP新建连接请求频率。这些 新建连接请求,包括TCP、 UDP、 ICMP等。
另外,在本实施例中,为了进一步增加判断的可靠性,还从ARP目的 地址行为异常和IP目标端口行为异常两个方面进一步判断是否是蠕虫, ARP数据包目的地址行为异常和IP目标端口行为异常的统计方法如下
ARP数据包目的地址分布统计计算方法
(1) 将该主机ARP目的地址登记到该主机信息散列表对应表项中,该 表项历史目标地址列表中,维护最近某一个特定时间长内若干个目的地址 的信息;
(2) 对于本次目标地址没有存在到该主机信息列表的,则将表示目标地 址统计数的计数器加1。对于本次目标地址已经在该主机信息列表的,则跳 出本次统计
(3) 在每次统计目的地址分布情况时,首先需要对该目地地址列表进行 老化。由于每一个主机对应的历史目的地址列表并不大,因此,老化策略 可直接遍历该列表,并删除该表项建立时间超过预定时间的表项。
IP新建数据包目标相似度分布统计计算方法
(1) 对于已经判定是IP新建连接的数据包,将分析其目标端口。主机 信息散列表中该主机对应的表项中,维护着一个最近某一特定时间长内若 干的目标端口的嵛中计算单元。
(2) 对于本次新建数据包目标端口已经在该历史目标端口列表中出现 的,将对该目标端口的计数器加1,否则跳出本次统计
(3) 在每次统计目标端口分布情况时,首先需要对该目标端口列表进 行老化。由于每一个主机对应的历史目标端口列表并不大,因此,老化策 略可直接遍历该列表,并删除该表项超过预定时间的表项。
由于蠕虫发送给不同目标主机的信息内容上有高度的相似性与时间局 部性。因此综合利用上述蠕虫行为特征,即可高效、准确的检测网络中可 能存在的蠕虫。
该方法基于k蠕虫行为特征进行分析,从而能够高效的检测网络中可 能存在的蠕虫。因此,本发明的实时监测蠕虫的方法能够高效实时检测网络中可能感染蠕虫的主机,具有适应范围广、性能高、灵敏度可调、误报 率低等优点。
权利要求
1、一种实时检测蠕虫的方法,其特征在于,包括如下步骤侦听网络数据包并对其进行处理的步骤,在该步骤中对收集的数据包按照TCP/IP协议模型进行分层与分类,并建立记录各主机发送数据包情况的设备发包统计信息表;判定是否是ARP请求数据包的步骤,如果是则更新设备发包统计信息表,如果不是则判定是否是IP新建连接;判定是否是IP新建连接的步骤,如果不是则返回到侦听网络数据包并对其进行处理的步骤,如果是新建连接则更新设备发包统计信息表;判断该设备是否是可疑设备的步骤,根据设备发包统计信息表的内容判定是否是感染蠕虫的可疑设备,如果是感染蠕虫的设备对其进行标记,如果不是则返回到侦听网络数据包并对其进行处理的步骤。
2、 如权利要求1所述的实时检测蠕虫的方法,其特征在于,在所述侦 听网络数据包的歩骤中,利用报文中源MAC地址、源IP地址作为散列参 数计算索引值,并以该索引值建立主机信息散列表,该主机信息散列表用 于根据索引值索引记录网络中各设备发送数据包情况的设备发包统计信息 表。
3、 如权利要求1所述的实时检测蠕虫的方法,其特征在于,在所述判 断该设备是否是可疑设备的步骤中,根据ARP请求数据包发送频率来判定 是否是可疑设备。
4、 如权利要求1所述的实时检测蠕虫的方法,其特征在于,在所述判 断该设备是否是可疑设备的步骤中,根据IP数据包中新建连接的频率来判 定是否是可疑设备。
5、 如权利要求4所述的实时检测蠕虫的方法,其特征在于,所述新建 连接包括TCP、 UDP、 ICMP等。
6、 如权利要求3所述的实时检测蠕虫的方法,其特征在于,所述ARP 请求数据包发送频率通过设定蠕虫行为特征描述结构中特定阈值M并计算 上次计算频率直至当前时间的时间差A t来计算。
7、 如权利要求4所述的实时检测蠕虫的方法,其特征在于,所述新建 连接的频率通过设定蠕虫行为特征描述结构中特定阈值M并计算上次计算 频率直至当前时间的时间差A t来计算。
8、 如权利要求3所述的实时检测蠕虫的方法,其特征在于,根据ARP 数据包目的地址分布情况判定是否是蠕虫。
9、 如权利要求4所述的实时检测蠕虫的方法,其特征在于,根据IP 新建连接数据包目标相似度分布来判定是否是蠕虫。
全文摘要
本发明的目的在于提供一种实时检测蠕虫的方法,其包括如下步骤侦听网络数据包并对其进行处理的步骤,在该步骤中对收集的数据包按照TCP/IP协议模型进行分层与分类,并建立记录各主机发送数据包情况的设备发包统计信息表;判定是否是ARP请求数据包的步骤,如果是则更新设备发包统计信息表,如果不是则判定是否是IP新建连接;判定是否是IP新建连接的步骤,如果不是则返回到侦听网络数据包并对其进行处理的步骤,如果是则更新设备发包统计信息表;判断该设备是否是可疑设备的步骤,根据设备发包统计信息表的内容判定是否是感染蠕虫的可疑设备,如果是对其进行标记,如果不是则返回到侦听网络数据包并对其进行处理的步骤。
文档编号H04L29/06GK101197810SQ20061014039
公开日2008年6月11日 申请日期2006年12月8日 优先权日2006年12月8日
发明者吴开宇, 张建宇, 杨仁斌, 韬 韦, 龚晓锐 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1