会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 蠕虫病 / 一种实时检测网络蠕虫病毒的方法

一种实时检测网络蠕虫病毒的方法

申请号 CN200510041907.3 申请日 2005-04-07 公开(公告)号 CN100433641C 公开(公告)日 2008-11-12
申请人 西安交大捷普网络科技有限公司; 发明人 廖明涛; 张永斌; 向东;
摘要 本发明涉及计算机网络应用的防火墙技术领域,具体涉及一种实时检测网络蠕虫病毒的方法。本发明要提供一种实时检测网络蠕虫病毒的方法,以克服现有技术存在的适应范围窄、效率低和实施效果差的问题。为克服现有技术存在的问题,本发明的技术方案是:一种实时检测网络蠕虫病毒的方法,它是通过在防火墙上对接收到的数据包进行网络连接特征分析来进行病毒的识别,实时检测网络蠕虫。本发明从蠕虫传播机制着手,改变了现有技术的蠕虫爆发后再进行事后处理的思路,进行实时检测与防范。因此与现有技术相比,本发明的优点是适应范围宽、效率高和实施效果好。
权利要求

1、一种实时检测网络蠕虫病毒的方法,它是通过在防火墙上对接收到的数据包进行网络连接特征分析来进行病毒的识别,实时检测网络蠕虫,其具体步骤如下: (一)从内部网络接收数据包具体分析过程为, 步骤1:从内部网络端口接收IP数据包; 步骤2:根据防火墙过滤规则列表,对IP数据包进行过滤;如果过滤规则允许接收IP数据包,则执行步骤3,否则执行步骤1; 步骤3:根据IP数据包的源IP地址、目的IP地址、源端口号、目的端口号在网络连接链表中查找,判断是否属于连接链表中的一项,如果属于,设置其状态为REPLYED,将该项的老化时间重设为T0,然后执行步骤5,如果不属于,执行步骤4; 所述网络连接链表用来记录当前已经建立的连接,表项内容包括连接的源IP地址、目的IP地址、源端口号、目的端口号、连接的状态、连接老化时间内容;初始化时,链表为空,连接的状态包括两种:NEW,REPLYED;主机连接数表记录内部网络主机连接建立情况,表项内容包括:主机IP地址、未应答连接数目; 步骤4:在网络连接链表中增加一项,并设置该项的源IP地址、目的IP地址、源端口号、目的端口号为接收数据包的相应值;同时设置连接的状态为NEW,设置连接老化时间为T0秒,处理之后执行步骤9; 步骤5:在主机连接数表,查找数据包的源IP地址,如果有匹配项,在对应的未应答连接数目中加1;如果无匹配项,新增一项,并将未应答连接数目设置为1; 步骤6:检查主机连接数表的未应答连接数目,如果未应答连接数目超过预定阈值A,则执行步骤7,否则执行步骤9; 步骤7:在日志中记录该源IP地址,发出告警信息;在防火墙中添加一条规则,丢弃源IP地址为该地址的所有数据包,规则生效时间为T; 步骤8:丢弃该数据包; 步骤9:根据路由表,向外部网络接口转发IP数据包; (二)从外部网络接收数据包的具体分析过程为, 步骤1:从外部网络端口接收IP数据包; 步骤2:根据防火墙过滤规则列表,对IP数据包进行过滤; 步骤3:提取IP数据包中的源IP地址、目的IP地址、源端口号、目的端口号,在相应的网络连接链表中进行检索,检索的标准是IP数据包的源IP地址、目的IP地址、源端口号、目的端口号分别对应链表项的目的IP地址、源IP地址、目的端口号、源端口号;如果有匹配项,执行步骤4,否则执行步骤6; 步骤4:如果该对应链表项的连接状态为NEW,则将对应状态修改为REPLYED,并执行步骤5;如果对应状态为REPLYED,则执行步骤6; 步骤5:根据数据包的目的IP地址在主机连接数表中查找,如果有匹配项,将对应的未应答连接数目中减1;如果未应答连接数目减为0,则删除该表项; 步骤6:根据路由表,向内部网络接口转发IP数据包。

说明书全文

一种实时检测网络蠕虫病毒的方法

所属技术领域:

本发明涉及计算机网络应用的防火墙技术领域,具体涉及一种实时检测网 络蠕虫病毒的方法。 背景技术:

网络蠕虫是一种严重威胁信息系统安全的恶意程序,具有自我复制和自动 传播功能。网络蠕虫大量的快速自身复制和传播将占用大量网络资源,引起网络 阻塞甚至网络瘫痪,最终造成巨大的经济损失。

对网络蠕虫的防治,目前主要有三种方法。第一种方法是通过安装系统补 丁来防止蠕虫:由于蠕虫主要是攻击系统的漏洞,在蠕虫爆发后,相关的系统 开发商发布最新的系统补丁,由用户通过自动升级或手动安装,从而防治蠕虫; 第二种方法是蠕虫爆发后依赖于传统的杀毒技术进行防治(杀毒):蠕虫爆发后, 杀毒软件厂商通过分析蠕虫传播的网络数据包,找出蠕虫网络数据包的特征或 所包含的特征字符串,然后发布最新的杀毒升级补丁,由用户通过自动升级或 手动安装,从而防治蠕虫。第三种方法原理与第二种相似,它是在蠕虫爆发后, 网络管理员通过找出蠕虫网络数据包的传输特征,通过在路由器或防火墙手工 添加对应的过滤规则,来过滤特定的网络数据包,从而抑制、减缓蠕虫的传播。

现有技术存在的共有问题是:K适应范围窄:这三种方法都只能针对己知、 并且已广泛传播的病毒,对于未知或新爆发的病毒,就无能为力了; 2、效率低: 这三种方法都有较大的滞后性,都是在蠕虫爆发后进行补救,无法有效的抑制 传播迅速的网络蠕虫;3、实施效果差:三种方法都依赖于手工操作,但在实际 环境中,由于用户安全意识的薄弱,网络管理员技术管理水平的局限以及单机 作业等各种原因,实施起来效果较差,根本无法形成有效的保护网。因此这三 种方法都无法很好的抑制蠕虫病毒。 发明内容:

本发明要提供一种实时检测网络蠕虫病毒的方法,以克服现有技术存在的 适应范围窄、效率低和实施效果差的问题。为克服现有技术存在的问题,本发明的技术方案是: 一种实时检测网络蠕 虫病毒的方法,它是通过在防火墙上对接收到的数据包进行网络连接特征分析 来进行病毒的识别,实时检测网络蠕虫,其具体步骤如下:•

(一) 从内部网络接收数据包具体分析过程为, . 步骤l:从内部网络端口接收IP数据包;

步骤2:根据防火墙过滤规则列表,对IP数据包进行过滤;如果过滤规则 允许接收IP数据包,则执行步骤3,否则执行步骤l;

步骤3:根据IP数据包的源IP地址、目的IP地址、源端口号、目的端口 号在网络连接链表中査找,判断是否属于连接链表中的一项,如果属于,设置 其状态为REPLYED,将该项的老化时间重设为T。,然后执行步骤5,如果不 属于,执行步骤4;

所述网络连接链表用来记录当前已经建立的连接,表项内容包括连接的源 IP地址、目的IP地址、源端口号、目的端口号、连接的状态、连接老化时间 内容;初始化时,链表为空,连接的状态包括两种:NEW, REPLYED;主机 连接数表记录内部网络主机连接建立情况,表项内容包括:主机IP地址、未应 答连接数目;

步骤4:在网络连接链表中增加一项,并设置该项的源IP地址、目的IP 地址、源端口号、目的端口号为接收数据包的相应值;同时设置连接的状态为 NEW,设置连接老化时间为T()秒,处理之后执行步骤9;

步骤5:在主机连接数表,查找数据包的源IP地址,如果有匹配项,在对 应的未应答连接数目中加1;如果无匹配项,新增一项,并将未应答连接数目 设置为1;

步骤6:检查主机连接数表的未应答连接数目,如果未应答连接数目超过 预定阈值A,则执行步骤7,否则执行步骤9;

步骤7:在日志中记录该源IP地址,发出告警信息;在防火墙中添加一条 规则,丢弃源IP地址为该地址的所有数据包,规则生效时间为T;

步骤8:丢弃该数据包;

步骤9:根据路由表,向外部网络接口转发IP数据包;

(二) 从外部网络接收数据包的具体分析过程为,步骤l:从外部网络端口接收IP数据包;

步骤2:根据防火墙过滤规则列表,对IP数据包进行过滤; 步骤3:提取IP数据包中的源IP地址、目的IP地址、源端口号、目的端 口号,在相应的网络连接链表中进行检索,检索的标准是IP数据包的源IP地 址、目的IP地址、源端口号、目的端口号分别对应链表项的目的IP地址、源 IP地址、目的端口号、源端口号。如果有匹配项,执行步骤4,否则执行步骤 6;

步骤4:如果该对应链表项的连接状态为NEW,则将对应状态修改为 REPLYED,并执行步骤5;如果对应状态为REPLYED,则执行步骤6;

步骤.5:根据数据包的目的IP地址在主机连接数表中查找,如果有匹配项, 将对应的未应答连接数目中减l;如果未应答连接数目减为0,则删除该表项;

步骤6:根据路由表,向内部网络接口转发IP数据包。

上述定时器处理过程是,

(1) 初始化:定时器由系统定时中断调用,每一秒执行一次;

(2) 步骤:依次检査网络连接链表中的每一项,并将连接老化时间减l,

如果连接老化时间为o,则删除该表项。

通过对蠕虫传播机制进行分析,可以发现,蠕虫传播具有比较明显的、异 常的网络传输特征,感染网络蠕虫病毒的主机主要有以下三个特征-

(1) 、以尽可能的最大速度向IP地址不同的计算机发起连接请求。 一台感

染网络蠕虫病毒的主机的新连接发起频率可能达到至少100HZ以上,而一台正 常的主机通常仅为0.5HZ到2HZ。

(2) 、网络连接之间缺乏地址相关性。感染网络蠕虫病毒的主机将尝试向 大量不同IP地址的主机发起连接,而正常的主机在连接之间具有一定的地址相 关性,如会重复向同一个IP地址发起连接请求。

(3) 、感染网络蠕虫病毒的主机所发出的网络连接请求,绝大部分都不会 收到应答;而正常的网络连接,只有小部分会没有应答。

本发明从蠕虫传播机制着手,改变了现有技术的蠕虫爆发后再进行事后处 理的思路,进行实时检测与防范,因此与现有技术相比,本发明的优点是:

1、适应范围宽:本发明不仅可针对已知的并且已广泛传播的病毒进行防治, 更可以对于未知或新爆发的病毒进行防治;2、 效率高:本发明是在蠕虫的传播中进行防治,通过对防火墙所接收的数 据包进行连接状态分析,即时检测网络中的蠕虫病毒,并定位局域网内感染蠕 虫病毒的计算机,然后通过自动设置的阻断规则,及时抑制网络蠕虫病毒的传 播,可有效的抑制传播迅速的网络蠕虫;

3、 实施效果好:本发明不依赖于手工操作,而是由防火墙在检测到蠕虫病 毒后,自动添加防火墙阻断过滤规则,限制感染蠕虫病毒的计算机的网络传播, 因此实施起来效果好,可在网络上形成有效的保护网。

附图说明-

图1是从内部网络接收数据包处理流程图; 图2为从外部网络接收数据包处理流程图; 图3是定时器处理流程图;

图4是本发明的运行系统图。

具体实施方式:

下面将结合附图和实施例对本发明做进一步说明。

本发明是通过在防火墙上对接收到的数据包进行网络连接特征分析来进 行病毒的识别,实时检测网络蠕虫,定位局域网内感染蠕虫病毒的计算机,通 过自动设置阻断规则,及时抑制网络蠕虫病毒的传播。依据本发明的方法构建 的防火墙设备中增加一个网络蠕虫实时检测与自动抑制模块,该模块完成对网

络蠕虫病毒的实时检测、报警和自动抑制的功能。参见图4,模块在防火墙网 络协议栈中位于网络过滤模块和路由转发模块之间。从网络接口接收到的数据 包,经过网络过滤模块过滤后,由网络蠕虫实时检测与自动抑制模块进行网络 蠕虫的检测和处理,处理通过的数据包,再交由路由转发模块处理。

利用本方法构建防火墙的具体步骤是: 一、首先建立网络连接链表和主机连接数表。 (1)网络连接链表的数据结构见表1

(表l)

table see original document page 7

其中,网络连接的状态分为NEW和REPLYED两种。其中NEW表示内部主机新发起一个网络连接,并且未收到从外部来的应答;REPLYED表示内 部主机发起的网络连接己经收到从外部来的应答。 (2)主机连接数表的数据结构见表2

(表2)

主机IP地址 未应答连接数目

HIP UNREPLYED一NUM

二、构建的防火墙进行实时检测的步骤如下-

(一)从内部网络接收数据包具体分析过程: 步骤l:从内部网络端口接收IP数据包;

步骤2:根据防火墙过滤规则列表,对IP数据包进行过滤;如果过滤规则 允许接收IP数据包,则执行步骤3,否则执行步骤l;

步骤3:根据IP数据包的源IP地址、目的IP地址、源端口号、目的端口 号在网络连接链表中査找,判断是否属于连接链表中的一项,如果属于,设置 则其状态为REPLYED,将该项的老化时间重设为TQ,然后执行步骤5,如果 不属于,执行步骤4;

步骤4:在网络连接链表中增加一项,并设置该项的源IP地址、目的IP 地址、源端口号、目的端口号为接收数据包的相应值;同时设置连接的状态为 NEW,设置连接老化时间为T。秒,处理之后执行步骤9;

步骤5:在主机连接数表,査找数据包的源IP地址,如果有匹配项,在对 应的未应答连接数目中加1;如果无匹配项,新增一项,并将未应答连接数目 设置为1;

步骤6:检査主机连接数表的未应答连接数目,如果未应答连接数目超过 预定阈值A,则执行步骤7,否则执行步骤9;

步骤7:在日志中记录该源IP地址,发出告警信息;在防火墙中添加一条 规则,丢弃源IP地址为该地址的所有数据包,规则生效时间为T;

步骤8:丢弃该数据包;

步骤9:根据路由表,向外部网络接口转发IP数据包;

对于从内部网络接口收到的数据包,首先经过内部网络接口的过滤规则进 行过滤,然后进入蠕虫检测模块进行检测处理。在通过蠕虫检测模块检测后,再进入路由转发模块进行处理。

在内部网络接口 ,蠕虫检测模块通过建立网络连接链表和主机连接数表, 统计内部网络中每一台主机所建立的未收到应答的连接数。如果未应答的连接 数超过预设的门限,则这台主机可以认为已经感染了蠕虫病毒,并处于不正常 的网络状态。此时,可以通过日志、告警来通知管理员该主机的信息,同时可 以通过自动设置阻断规则来抑制该主机上蠕虫病毒向外界的传播。在设置门限 时,管理员可以根据内部不同主机的用途来设置不同的门限,从而降低误判率。 (二)从外部网络接收数据包的具体分析过程是:

步骤l:从外部网络端口接收IP数据包;

步骤2:根据防火墙过滤规则列表,对IP数据包进行过滤; 步骤3:提取IP数据包中的源IP地址、目的IP地址、源端口号、目的端 口号,在相应的网络连接链表中进行检索,检索的标准是IP数据包的源IP地 址、目的IP地址、源端口号、目的端口号分别对应链表项的目的IP地址、源 IP地址、目的端口号、源端口号。如果有匹配项,执行步骤4,否则执行步骤 6;

步骤4:如果该对应链表项的连接状态为NEW,则将对应状态修改为 REPLYED,并执行步骤5;如果对应状态为REPLYED,则执行步骤6;

步骤5:根据数据包的目的IP地址在主机连接数表中查找,如果有匹配项, 将对应的未应答连接数目中减l;如果未应答连接数目减为0,则删除该表项;

步骤6:根据路由表,向内部网络接口转发IP数据包。

在外部网络接口,蠕虫检测模块通过对接收的数据包进行判断,设置当前 网络连接链表中的连接状态,即当前连接是否已收到应答的状态。

定时模块由系统中断定时调用,主要对网络连接链表中的连接进行超时处 理,对长时间没有数据交换的连接,从网络连接表中清除。