一种分布式入侵检测方法、装置和系统的制作方法

文档序号:7704856阅读:88来源:国知局
专利名称:一种分布式入侵检测方法、装置和系统的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种分布式入侵检测方法、装置和系统。
背景技术
拒绝服务(Denial of Service, DoS)是一种很简单但又很有效的网络攻击方式。 DoS的目的是拒绝服务访问,破坏组织的正常运行,最终它会使部分网络连接或网络系统失 效。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服 务资源,从而使合法用户无法得到服务。例如,攻击者向服务器发送众多的带有虚假地址的 请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,服务器一直等不到回传的 消息,分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超 时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务 器资源最终会被耗尽。分布式拒绝服务(DistributedDenial of Service,DDoS)是一种基于DoS 的特殊 形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,如商 业公司,搜索引擎和政府部门的站点。DoS攻击只要一台联网的计算机就可实现,而DDoS攻 击利用一批受控制的计算机向被攻击站点发起攻击,这样来势迅猛的攻击令人难以防备, 因此具有较大的破坏性。DDoS攻击过程如下①攻击者扫描大量主机,以寻找可控制的主机;②攻击者入 侵可控制的主机并获取控制权,在各台受控制的主机中安装攻击程序;③攻击者发布攻击 命令,各台受控制的主机对目标站点发起攻击。常见的拒绝服务攻击类型有同步(synchronize,SYN)洪泛(Flood)攻击、用户数 据报协议(User Datagram Protocol)洪泛攻击和网际控制报文协议(Internet Control Mes sage Protocol, I CMP)洪泛攻击。SYN Flood是当前最流行的DoS与DDoS的方式之一,这是一种利用传输控制协议 (Transmission Control Protocol,TCP)的缺陷,发送大量伪造的TCP连接请求,从而使得 被攻击方资源耗尽的攻击方式,例如导致中央处理器(Central Processing Unit, CPU)满 负荷或内存不足。UDP Flood攻击是基于主机的DoS攻击的一种。UDP是一种无连接的协议,而且它 不需要用任何程序建立连接来传输数据。当被攻击系统接收到一个UDP数据包的时候,它 会确定目的端口正在等待中的应用程序。如果向被攻击系统发送了足够多的UDP数据包, 被攻击系统就会瘫痪。所有针对ICMP协议漏洞发起的攻击,被称为ICMP Flood攻击。其中最常见的就 是死亡之Ping(Ping of death)攻击。Ping of death攻击利用协议实现时的漏洞,向被攻 击系统发送超长的Ping数据包,导致被攻击系统异常。入侵检测系统分为3种主机型、网络型、分布式入侵检测系统,分布式入侵检测 系统结合了前面两种入侵检测系统的主要功能,因为集中式入侵检测系统无法同时对付来自网络内部和网络外部的攻击,分布式的入侵检测系统逐步取代了集中式的入侵检测系统。分布式入侵检测中通信是一个很重要的问题。现有的分布式入侵检测方法在每 个网络节点上设置检测部件用于收集信息,并将收集的信息相互共享或发送给中央节点处 理。采用信息共享的入侵检测处理方式,网络中用于入侵检测的数据通信量大,影响网络性 能。采用中央节点集中处理的入侵检测方式,中央节点的通信和处理能力会成为入侵检测 系统的瓶颈。

发明内容
本发明实施例的目的是提供一种分布式入侵检测方法、装置和系统,用以解决分 布式入侵检测中数据通信量大影响网络性能的问题。本发明实施例的目的是通过以下技术方案实现的一种分布式入侵检测方法,包括采集自身的流量信息,生成流量表,所述流量表包括网络中所有网络节点的流量 信息、流量信息采集时间、采集所述流量信息的网络节点的地址和邻居节点信息;根据所述流量表计算预警信息;当流量表仅包括自身的流量信息或所述预警信息满足邻居通信条件时,获取邻居 节点的流量信息和流量信息采集时间,根据所述邻居节点的流量信息和流量信息采集时间 更新流量表和预警信息;当所述预警信息满足全局通信条件时,获取全局节点的流量信息和流量信息采集 时间,根据所述全局节点的流量信息和流量信息采集时间更新流量表和预警信息;当所述预警信息满足预警条件时,进行入侵预警。一种网络节点,包括,采集模块、生成模块、计算模块、第一获取模块、第二获取模 块和预警模块;其中,所述采集模块,用于采集所述网络节点自身的流量信息;所述生成模块,用于根据所述流量信息生成流量表,所述流量表包括网络中所有 网络节点的流量信息、流量信息采集时间、采集所述流量信息的网络节点的地址和邻居节 点fn息;所述计算模块,用于根据所述流量表计算预警信息;所述第一获取模块,用于当流量表仅包括网络节点自身的流量信息或所述预警信
息满足邻居通信条件时,获取邻居节点的流量信息和流量信息采集时间,使所述生成模块
根据所述邻居节点的流量信息和流量信息采集时间更新流量表并使所述计算模块更新预警信息所述第二获取模块,用于当所述预警信息满足全局通信条件时,获取全局节点的 流量信息和流量信息采集时间,使所述生成模块根据所述全局节点的流量信息和流量信息 采集时间更新流量表和并使所述计算模块更新预警信息;所述预警模块,用于当所述预警信息满足预警条件时,进行入侵预警。一种分布式入侵检测系统,包括至少三个网络节点,并且其中至少两个网络节点 不相邻;其中,
所述网络节点,用于采集所述网络节点自身的流量信息,生成流量表,所述流量表 包括网络中所有网络节点的流量信息、流量信息采集时间、采集所述流量信息的网络节点 的地址和邻居节点信息,根据所述流量表计算预警信息,当流量表仅包括自身的流量信息 或所述预警信息满足邻居通信条件时,获取邻居节点的流量信息和流量信息采集时间,根 据所述邻居节点的流量信息和流量信息采集时间更新流量表和预警信息,当所述预警信息 满足全局通信条件时,获取全局节点的流量信息和流量信息采集时间,根据所述全局节点 的流量信息和流量信息采集时间更新流量表和预警信息,当所述预警信息满足预警条件 时,进行入侵预警。采用本发明实施例提供的技术方案,因为根据预警信息对流量信息的通信进行分 级触发,降低了获取全局节点的流量信息的频率,并且在预警信息满足邻居通信条件时获 取邻居节点的流量信息,保证了分布式入侵检测的可靠性,因此在保证分布式入侵检测的 可靠性的前提下,减小了分布式入侵检测中的数据通信量,降低了分布式入侵检测对网络 性能的影响。


图1为本发明一个实施例中分布式入侵检测方法流程图;图2为本发明实施例的一个具体应用场景中获取邻居节点的流量信息的流程图;图3为本发明实施例的一个具体应用场景中获取全局节点的流量信息的流程图;图4为本发明实施例的另一个具体应用场景中获取全局节点的流量信息的流程 图;图5为本发明另一个实施例中网络节点框图;图6为本发明另一个实施例的一个具体应用场景中第一获取模块框图;图7为本发明另一个实施例的一个具体应用场景中第二获取模块框图;图8为本发明另一个实施例的另一个具体应用场景中第二获取模块框图;图9为本发明又一个实施例中分布式入侵检测系统框图。
具体实施例方式图1为本发明一个实施例中分布式入侵检测方法流程图。该方法包括102、采集自身的流量信息,生成流量表。网络节点采集自身的流量信息,流量信息包括,输入包速率;SYN请求包输入速率 和SYN确认包输入速率;ICMP包速率;UDP包输入速率中的至少一种。这些流量信息可以是 原始值,也可以经过适当的处理。例如,对流量信息进行离散化处理。举例来说,所有的流量 信息都量化为8个级别,也就是最终得到的流量信息都属于集合{0,1,2,3,4,5,6,7}。对流 量信息的原始值进行离散化处理的方法可以是建立固定的映射关系,例如将某一个范围内 的原始值固定的映射到一个特定的离散化流量信息值;也可以建立动态的映射关系,例如, 以日、星期、月为周期统计不同时段的流量信息,在网络较为繁忙的时段提高映射到一个特 定的离散化流量信息值的原始值的范围的上限,在网络较为空闲的时段降低该上限。网络 节点可以周期性的采集自身的流量信息。将流量信息、流量信息采集时间、采集该流量信息的网络节点的地址、邻居节点信
8息以及一些可选信息生成流量表,所述邻居节点信息表示流量信息是否属于流量表所在的 网络节点的邻居节点。例如,可选信息可以是流量流向、新鲜度等信息中的一种或多种。所 述新鲜度表示流量信息是否超过了时效,例如,设置时效为采集后5分钟,则流量信息采集 时间在当前时间之前5分钟的流量信息无效,设置新鲜度为0或1以表示流量信息无效,新 鲜度可以作为可选信息列在流量表中,也可以在需要时即时计算。时效通常应当比流量信 息的采集周期大。当收到其他节点的流量信息、流量信息采集时间及可选信息时,也将这些 信息更新到流量表中。在本发明实施例的一个具体应用场景中,网络中共有η个已知的网络节点,例如, 当网络节点没有收到过其他节点的流量信息、流量信息采集时间等信息时,当η = 1,流量 表只有一行。流量信息包括输入包速率、SYN请求包输入速率、SYN确认包输入速率、ICMP 包速率和UDP包输入速率,则流量表可以表示为
IPRii SYN0 ACK0 ICMP0 UDP0 IP0 N0 T0 OTH0
IPR1 SYN1 ACK1 ICMP1 UDP1 IP1 N, T1 OTH1FMn =.
ΙΡΚ-χ SYN“ ACKa^ ICMJU UDPn_x IPn] NOTH^1其中,IPRtl至IPRlri为η个网络节点的输入包速率,SYN0至SYNlri为η个网络节 点的SYN请求包输入速率,ACK0至ACKlri为η个网络节点的SYN确认包输入速率,ICMP0至 ICMPlri为η个网络节点的ICMP包速率,UDPtl至UDPlri为η个网络节点的UDP包输入速率, IP0至IPlri为η个网络节点的IP地址,Ntl至Nlri为η个网络节点的邻居节点信息,Ttl至Tlri 为η个网络节点的流量信息采集时间,OTHtl至OTHlri为η个网络节点的可选信息,所述可选 信息可以是一个或多个。其中所有的流量信息都量化为8个级别,即流量信息都属于集合 {0,1,2,3,4,5,6,7}。104、根据所述流量表计算预警信息。网络节点根据流量表计算预警信息,预警信息可以按照可能受到入侵的种类分别计算。根据已知的各个网络节点的流量信息的流量信息采集时间或新鲜度计算准确度 信息α。定义准确度信息α的目的在于降低网络节点获取邻居节点或全局节点的流量信 息的频率,从而降低数据通信量,减少对网络性能的影响。举例来说,最简单的准确度信息 α = m/n,m表示所有已知的网络节点中m个网络节点的流量信息未超过时效,η表示已知 的网络节点的总数。其他与流量信息采集时间相关的,用于确定网络节点是否获取邻居节 点或全局节点的流量信息的信息,都可以作为准确度信息。根据输入包速率1 礼至IPRlri计算洪泛攻击预警信息。为了对分布式拒绝服务攻 击做出预警,需要利用网络中各个已知的网络节点的输入包速率计算洪泛攻击预警信息, 举例来说,最简单的洪泛攻击预警信息就是对各个网络节点的输入包速率平均。类似的,当流量表中包括所需信息时,还可以根据SYN请求包输入速率和SYN确认 包输入速率计算SYN洪泛攻击预警信息;根据ICMP包速率计算ICMP洪泛攻击预警信息;根 据UDP包速率计算UDP洪泛攻击预警信息。例如,在本发明实施例的一个具体应用场景中,总共有η个已知的网络节点,其中 m个网络节点的流量信息未超过时效,给出一种准确度信息α的定义,
9
权利要求
一种分布式入侵检测方法,其特征在于,包括采集自身的流量信息,生成流量表,所述流量表包括流量信息、流量信息采集时间、采集所述流量信息的网络节点的地址和邻居节点信息;根据所述流量表计算预警信息;当流量表仅包括自身的流量信息或所述预警信息满足邻居通信条件时,获取邻居节点的流量信息和流量信息采集时间,根据所述邻居节点的流量信息和流量信息采集时间更新流量表和预警信息;当所述预警信息满足全局通信条件时,获取全局节点的流量信息和流量信息采集时间,根据所述全局节点的流量信息和流量信息采集时间更新流量表和预警信息;当所述预警信息满足预警条件时,进行入侵预警。
2.根据权利要求1所述的方法,其特征在于,所述流量信息,包括以下至少一种 输入包速率;同步SYN请求包输入速率和SYN确认包输入速率; 网际控制报文协议ICMP包速率;和 用户数据报协议UDP包速率。
3.根据权利要求1或2所述的方法,其特征在于,在采集自身的流量信息时对所述流量 信息进行离散化处理。
4.根据权利要求2所述的方法,其特征在于,所述根据所述流量表计算预警信息,包括当所述流量信息包括输入包速率时,根据所述输入包速率计算洪泛攻击预警信息; 当所述流量信息包括SYN请求包输入速率和SYN确认包输入速率时,根据所述SYN请 求包输入速率和SYN确认包输入速率计算SYN洪泛攻击预警信息;当所述流量信息包括ICMP包速率时,根据所述ICMP包速率计算ICMP洪泛攻击预警信息;当所述流量信息包括UDP包速率时,根据所述UDP包速率计算UDP洪泛攻击预警信息。
5.根据权利要求1所述的方法,其特征在于,所述获取邻居节点的流量信息和流量信 息采集时间,包括向邻居节点发送流量信息请求报文;接收所述邻居节点发送的流量信息响应报文,所述流量信息响应报文包括所述邻居节 点的流量信息和流量信息采集时间;获取所述流量信息响应报文中的所述邻居节点的流量信息和流量信息采集时间。
6.根据权利要求1所述的方法,其特征在于,所述获取全局节点的流量信息和流量信 息采集时间,包括根据邻居节点信息向邻居节点发送流量信息请求报文,所述流量信息请求报文包括全 局标识符;当所述邻居节点第一次收到所述流量信息请求报文时,根据自身的邻居节点信息向自 身的邻居节点转发所述流量信息请求报文;所述邻居节点向自身的所有邻居节点发送一级流量信息响应报文,所述一级流量信 息响应报文包括发送所述一级流量信息响应报文的邻居节点的流量信息、流量信息采集时间、地址和所述全局标识符;所述邻居节点接收自身的邻居节点发送或转发的二级流量信息响应报文,所述二级流 量信息响应报文包括网络中收到所述流量信息请求报文的某一个网络节点的流量信息、流 量信息采集时间、所述网络节点的地址和所述全局标识符;当所述邻居节点第一次收到一个二级流量信息响应报文时,所述邻居节点根据所述二 级流量信息响应报文更新自身的流量表,并向自身的所有邻居节点转发所述二级流量信息 响应报文;接收所述邻居节点发送的所述一级流量信息响应报文或转发的二级流量信息响应报文;获取所述一级流量信息响应报文或二级流量信息响应报文中的流量信息和流量信息 采集时间。
7.根据权利要求1所述的方法,其特征在于,所述获取全局节点的流量信息和流量信 息采集时间,包括根据邻居节点信息向邻居节点发送流量信息请求报文,所述流量信息请求报文包括全 局标识符和发送所述流量信息请求报文的网络节点的地址;所述流量信息请求报文使所述邻居节点第一次收到所述流量信息请求报文时,根据自 身的邻居节点信息向其邻居节点转发所述流量信息请求报文;接收流量信息响应报文,所述流量信息响应报文是任一网络节点接收到所述流量信息 请求报文后,根据所述流量信息请求报文中的发送所述流量信息请求报文的网络节点的地 址,向发送所述流量信息请求报文的网络节点发送的流量信息响应报文,所述流量信息响 应报文包括所述任一网络节点的地址、流量信息、流量信息采集时间和所述全局标识符;获取所述流量信息响应报文中的流量信息和流量信息采集时间。
8.—种网络节点,其特征在于,包括,采集模块、生成模块、计算模块、第一获取模块、第 二获取模块和预警模块;其中,所述采集模块,用于采集所述网络节点自身的流量信息;所述生成模块,用于根据所述流量信息生成流量表,所述流量表包括网络中所有网络 节点的流量信息、流量信息采集时间、采集所述流量信息的网络节点的地址和邻居节点信 息;所述计算模块,用于根据所述流量表计算预警信息;所述第一获取模块,用于当流量表仅包括网络节点自身的流量信息或所述预警信息满 足邻居通信条件时,获取邻居节点的流量信息和流量信息采集时间,使所述生成模块根据 所述邻居节点的流量信息和流量信息采集时间更新流量表并使所述计算模块更新预警信 息;所述第二获取模块,用于当所述预警信息满足全局通信条件时,获取全局节点的流量 信息和流量信息采集时间,使所述生成模块根据所述全局节点的流量信息和流量信息采集 时间更新流量表和并使所述计算模块更新预警信息;所述预警模块,用于当所述预警信息满足预警条件时,进行入侵预警。
9.根据权利要求8所述的网络节点,其特征在于,所述第一获取模块包括第一发送单元,用于当流量表仅包括网络节点自身的流量信息或所述预警信息满足邻居通信条件时,向邻居节点发送流量信息请求报文;第一接收单元,用于接收所述邻居节点发送的流量信息响应报文,所述流量信息响应 报文包括所述邻居节点的流量信息和流量信息采集时间;第一获取单元,用于获取所述流量信息响应报文中的所述邻居节点的流量信息和流量 信息采集时间,使所述生成模块根据所述邻居节点的流量信息和流量信息采集时间更新流 量表并使所述计算模块更新预警信息。
10.根据权利要求8所述的网络节点,其特征在于,所述第二获取模块包括第二发送单元,用于当所述预警信息满足全局通信条件时,向邻居节点发送流量信息 请求报文,所述流量信息请求报文包括全局标识符和发送所述流量信息请求报文的网络节 点的地址,所述流量信息请求报文使所述邻居节点在所述邻居节点第一次收到所述流量信 息请求报文时,根据所述邻居节点的邻居节点信息向所述邻居节点的邻居节点转发所述流 量信息请求报文;第二接收单元,用于接收流量信息响应报文,所述流量信息响应报文是任一网络节点 接收到所述流量信息请求报文后,根据所述流量信息请求报文中的发送所述流量信息请求 报文的网络节点的地址,向发送所述流量信息请求报文的网络节点发送的流量信息响应报 文,所述流量信息响应报文包括所述任一网络节点的地址、流量信息、流量信息采集时间和 所述全局标识符;第二获取单元,用于获取所述流量信息响应报文中的流量信息和流量信息采集时间, 使所述生成模块根据所述全局节点的流量信息和流量信息采集时间更新流量表和并使所 述计算模块更新预警信息。
11.根据权利要求8所述的网络节点,其特征在于,所述第二获取模块包括第三发送单元,用于当所述预警信息满足全局通信条件时,向邻居节点发送流量信息 请求报文,所述流量信息请求报文包括全局标识符;第三接收单元,用于接收其他网络节点发送的流量信息请求报文和流量信息响应报文;第一转发单元,用于当第一次收到其他网络节点发送的流量信息请求报文时,向邻居 节点转发所述其他网络节点发送的流量信息请求报文;响应单元,用于当第一次收到其他网络节点发送的流量信息请求报文时,向邻居节点 发送流量信息响应报文,所述流量信息响应报文包括网络节点自身的地址、流量信息、流量 信息采集时间和所述其他网络节点发送的流量信息请求报文中的全局标识符;第二转发单元,用于当第一次收到其他网络节点发送的流量信息响应报文时,向邻居 节点转发所述其他网络节点发送的流量信息响应报文;第三获取单元,用于当第一次收到其他网络节点发送的流量信息响应报文时,获取所 述其他网络节点发送的流量信息响应报文中的流量信息和流量信息采集时间,使所述生成 模块根据所述全局节点的流量信息和流量信息采集时间更新流量表和并使所述计算模块 更新预警信息。
12.—种分布式入侵检测系统,其特征在于,包括至少三个网络节点,并且其中至少两 个网络节点不相邻;其中,所述网络节点,用于采集所述网络节点自身的流量信息,生成流量表,所述流量表包括网络中所有网络节点的流量信息、流量信息采集时间、采集所述流量信息的网络节点的地 址和邻居节点信息,根据所述流量表计算预警信息,当流量表仅包括自身的流量信息或所 述预警信息满足邻居通信条件时,获取邻居节点的流量信息和流量信息采集时间,根据所 述邻居节点的流量信息和流量信息采集时间更新流量表和预警信息,当所述预警信息满足 全局通信条件时,获取全局节点的流量信息和流量信息采集时间,根据所述全局节点的流 量信息和流量信息采集时间更新流量表和预警信息,当所述预警信息满足预警条件时,进 行入侵预警。
全文摘要
本发明涉及网络通信领域,尤其涉及一种分布式入侵检测方法、装置和系统。该方法包括,采集自身的流量信息,生成流量表;根据所述流量表计算预警信息;当流量表仅包括自身的流量信息或所述预警信息满足邻居通信条件时,获取邻居节点的流量信息和流量信息采集时间,更新流量表和预警信息;当所述预警信息满足全局通信条件时,获取全局节点的流量信息和流量信息采集时间,更新流量表和预警信息;当所述预警信息满足预警条件时,进行入侵预警。采用本发明实施例提供的技术方案,因为在预警信息满足邻居通信条件时只需要获取邻居节点的流量信息,减小了分布式入侵检测中的数据通信量,降低了分布式入侵检测对网络性能的影响。
文档编号H04L9/36GK101997830SQ20091010936
公开日2011年3月30日 申请日期2009年8月17日 优先权日2009年8月17日
发明者张作富, 张波, 杨亚涛, 渠海峡, 白媛, 覃健诚, 谢垂益, 谷勇浩, 赵玉超, 辛阳 申请人:华为技术有限公司;北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1