一种网络设备攻击防范方法及装置的制作方法

文档序号:7767114阅读:387来源:国知局
专利名称:一种网络设备攻击防范方法及装置的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种网络设备攻击防范方法及装置。
背景技术
随着网络技术的发展和普及,网络设备的安全可靠变得越来越重要,也越来越多的受到人们的重视。目前网络上对于网络设备的攻击日趋频繁,而且手段也越发多样,这给网络设备自身的安全和整个网络的安全稳定带来了巨大的挑战。为了增强这些网络设备的安全防范性能,使其具有更强的抗网络攻击能力和更好的网络适应性,需要对网络设备攻击防范技术做进一步的研究。目前对于网络设备的攻击手段主要有拒绝服务型(DoS,Deny of Service)攻击、 扫描窥探攻击和畸形报文攻击三大类。拒绝服务型攻击是使用大量的数据包攻击网络设备,使网络设备无法接受正常用户的请求,或者使网络设备挂起不能提供正常的工作。DoS 攻击主要有SYN Flood、Fraggle等。拒绝服务型攻击和其他类型的攻击的不同之处在于 攻击者并不是去寻找进入内部网络的入口,而是阻止合法用户访问资源或路由器,比如发送大量的协议请求报文到处理器,造成处理器一直处理这些请求而没法响应其他用户的合法请求。扫描窥探攻击是利用Ping扫射(包括ICMP和TCP)来标识网络设备,从而准确的指出潜在的目标利用TCP和UDP端口扫描,就能检测出操作系统和监听者的潜在服务。攻击者通过扫描窥探就能大致了解目标网络设备提供的服务种类和潜在的安全漏洞,为进一步侵入网络设备做好准备。畸形报文攻击是通过向网络设备发送有缺陷的IP报文,使得网络设备在处理这样的IP包时会出现崩溃,给网络设备带来损失。畸形报文攻击主要有Ping of Death、Teardrop ·ο上述这几种攻击类型当中大多数手段是利用网络设备的CPU处理能力有限,通过在短时间内集中大量的数据包来冲击网络设备的CPU,从而使得网络设备的CPU疲于响应攻击报文,导致其他正常的数据和报文得不到有效处理来达到攻击的目的。

发明内容
本发明提供一种网络设备攻击防范方法及装置,通过对网络设备接收到的报文的分析检测,实现对特定端口的特定报文类型或特定主机的报文攻击防范。本发明技术方案包括一种网络设备攻击防范方法,包括步骤A、检测周期开始,解析网络设备接收到的报文,分别计数网络设备各端口收到的每种报文的数目,同时分别计数来自不同主机的报文数目;B、检测周期结束,获取各项计数结果,若某个端口收到的某种报文的速率大于其对应的预设阈值,则确定该端口收到的该类报文存在攻击行为,若来自某个主机的报文速率大于其对应的预设阈值,则确定来自该主机的报文存在攻击行为;C、丢弃存在攻击行为的报文。
进一步地,所述步骤B中,若本检测周期内未发生攻击行为,且之前的检测周期中也未发生过攻击行为,则清除所有端口及主机的报文计数值。进一步地,所述步骤B中,若本检测周期内未发生攻击行为,然而之前的检测周期中发生过攻击行为,则判断发生过攻击行为的端口或主机的未再发生攻击行为的周期是否达到预设的阈值,若达到,则解除发生过攻击行为的端口或主机的报文丢弃措施,同时将其报文计数值清除,否则,将发生过攻击行为的端口或主机对应的未再发生攻击行为的周期计数值加一。进一步地,所述步骤A中报文计数的具体过程为根据接收到的报文的端口号及报文类型信息,分别计数网络设备各端口收到的每种报文的数目,将结果存储到以设备端口为索引的全局数组中;同时根据接收到的报文中的主机信息,分别计数来自不同主机的报文数目,将结果存储到主机信息链表中。进一步地,在确定某个端口收到的某种报文存在攻击行为时,将该端口中该类报文的攻击行为标志位置位;在确定来自某个主机的报文存在攻击行为时,将该主机的攻击行为标志位置位。进一步地,所述检测周期为1秒。一种网络设备攻击防范装置,包括报文计数模块,用于在检测周期开始后解析网络设备接收到的报文,分别计数网络设备各端口收到的每种报文的数目,同时分别计数来自不同主机的报文数目;攻击行为确定模块,用于在检测周期结束后获取各项计数结果,若某个端口收到的某种报文的速率大于其对应的预设阈值,则确定该端口收到的该类报文存在攻击行为, 若来自某个主机的报文速率大于其对应的预设阈值,则确定来自该主机的报文存在攻击行为;攻击处理模块,用于丢弃存在攻击行为的报文。进一步地,若所述攻击行为确定模块判定本检测周期内未发生攻击行为,且之前的检测周期中也未发生过攻击行为,则通知报文计数模块清除所有端口及主机的报文计数值。进一步地,若所述攻击行为确定模块判定本检测周期内未发生攻击行为,然而之前的检测周期中发生过攻击行为,则判断发生过攻击行为的端口或主机的未再发生攻击行为的周期是否达到预设的阈值,若达到,则通知攻击处理模块解除发生过攻击行为的端口或主机的报文丢弃措施,同时通知报文计数模块将发生过攻击行为的端口或主机的报文计数值清除,否则,将发生过攻击行为的端口或主机对应的未再发生攻击行为的周期计数值加一。进一步地,所述检测周期为1秒。本发明有益效果如下本发明能够对网络设备的具体端口以及由其送至网络设备的报文进行全面的监控,可以具体针对协议报文的类型和特定主机进行防范,从而达到了防范网络设备攻击的目的。


图1为本发明所述网络设备攻击防范方法的流程图;图2为本发明中网络设备CPU收包驱动对报文的检测分类流程图;图3为本发明中检测到端口上有攻击网络设备CPU行为后的处理流程图;图4为本发明所述网络设备攻击防范装置的结构框图。
具体实施例方式本发明的主要技术构思是在网络设备的收包部分对接收到的报文进行分析检测, 判定攻击行为是否存在,并根据分析判定的结果实施相应的动作措施,以达到防范网络设备受到报文攻击的目的。具体来说就是在检测周期开始后,网络设备CPU的收包驱动中检测经由硬件送至CPU的报文,从报文中读取端口号,同时分析报文内容,将其分类,比如为ARP(Address Resolution Protocol,地址角军析协议) 艮文、IGMP(Internet Group Management Protocol,网际组管理协议) 艮文、ICMP(Internet Control Message Protocol,网际控制信息协议)报文、DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)/PPPOE (Point-to-Point Protocol over Ethernet,以太网的点对点协议)报文、 BPDU (Bridge Protocol Data Unit,网桥协议数据单元)报文、还是其他报文等等,并对各端口送至CPU的各种类型报文的数目分别进行计数。同时在分析报文之后将其中的主机信息提取出来,记录到主机信息链表中,同时计数该主机送来的报文。待检测周期结束时,检测进程主动获取CPU收包驱动中的各项计数结果,并和预先设定的标准进行比较,若检测到某端口送至CPU的某种报文速率大于其对应的预设阈值,即可以认定CPU受到来自该端口的该种类型的报文攻击(比如端口送至CPU的ARP报文速率大于lOpps,即可以认定CPU 受到来自该端口的ARP报文的攻击),以及是来自具体哪个主机的攻击;若检测到来自某个主机的报文速率大于其对应的预设阈值,即可以认定CPU受到来自该主机的报文攻击。然后对各相关计数器和标志位进行赋值或清除操作,CPU的收包驱动便可以根据这些被置位的标志位来决定丢弃送至CPU的被认定为攻击的报文。下面结合各个附图对本发明的具体实现过程予以进一步详细的说明。请参阅图1,该图为本发明所述网络设备攻击防范方法的流程图,本发明所述网络设备攻击防范方法属于一种基于软件分析实现对网络设备CPU攻击的防范方法,主要包括以下步骤步骤一、设置各项参数。具体包括网络设备CPU攻击的检测周期,默认设置为Is ;端口上判定报文攻击网络设备CPU的报文速率阈值,判定某个主机攻击网络设备CPU的报文速率阈值;初始化各端口的各类计数器和标志位的值;同时,开辟一个主机信息链表,链表中的各节点中记录了每个发送报文到网络设备CPU的主机的IP地址和其送至CPU的报文计数,以及该主机是否存在攻击行为的标志位。步骤二、启动检测任务进程。请参阅图2,该图为本发明中网络设备CPU收包驱动对报文的检测分类流程图,由图中可见,网络设备CPU收包驱动中对接收到的报文进行内容分析归类,属于哪个端口接收到的哪种类型的报文就将其计数值相应增加,并将结果存储到以端口为索引的全局数组结构中去;接着提取报文中的主机信息,遍历主机信息链表,若已有记录,则将节点中的报文计数加1,否则将其记录到链表中新的节点,并将报文计数加1。步骤三、确定网络设备各端口或者某个特定主机是否存在利用报文攻击网络设备 CPU的行为。请参阅图3,该图为本发明中检测到端口上有攻击网络设备CPU行为后的处理流程图,如图中可见,检测周期结束时,检测进程主动获取全局数组的值,并以端口为索引,将数组结构中的各项结果与开始阶段设定的阈值进行比对,若有达到或超过设定阈值的项存在,则表明存在攻击CPU的行为,则将相应端口的数组结构中攻击CPU的标志位以及报文类型标志位置位。同时,根据主机信息链表中记录的各个主机发送的报文数判定是否存在有恶意攻击行为的主机,若有,则将该主机信息存到一个记录攻击行为主机的数组中去。步骤四、检测到端口或主机存在报文攻击CPU的行为之后的处理。在检测到端口或主机存在报文攻击CPU的行为后,置位全局数组中相应元素结构中的相应标志位或主机信息链表中相应节点的标志位,根据标志位即可知道具体CPU受到哪个端口何种类型(或特定主机)的报文攻击,(设为X端口 Y型报文攻击),然后设置丢弃X端口 Y(或该特定主机)报文的标识变量。CPU收包驱动中根据上述置位标志量来决定丢弃哪(几)个端口的哪(几)种类型的报文,或者丢弃某个特定主机的报文。若本检测周期内没有攻击行为发生,进一步地,若某端口或链表中主机的攻击CPU 的标志位当前被置位(即之前被检测出存在攻击行为但尚未被认定攻击已经结束),则给全局数组相应元素结构或链表节点中的未再发生攻击行为的周期计数值加1,否则,将端口和链表各节点上的各项计数值清零,然后返回步骤二,进入下一个检测周期。若自前次被认定存在攻击行为之后的连续N个周期(N为预设的阈值,可设定)内都未再被认定发生新的攻击行为(即端口或主机的攻击CPU的标志位当前被置位,且未发生攻击的周期计数值达到N次),则认为该端口或主机已经恢复正常,可以解除对端口或主机送至CPU的报文的限制措施,并将端口或主机攻击CPU的标志位和各项计数器的值清零,返回步骤二,进入下一个检测周期。相应于本发明上述方法,本发明还提供了一种网络设备攻击防范装置,请参阅图 4,该图为本发明所述网络设备攻击防范装置的结构框图,其主要包括报文计数模块,用于在检测周期开始后解析网络设备接收到的报文,分别计数网络设备各端口收到的每种报文的数目,同时分别计数来自不同主机的报文数目;所述检测周期为1秒。攻击行为确定模块,用于在检测周期结束后获取各项计数结果,若某个端口收到的某种报文的速率大于其对应的预设阈值,则确定该端口收到的该类报文存在攻击行为, 若来自某个主机的报文数目大于其对应的预设阈值,则确定来自该主机的报文存在攻击行为。攻击处理模块,用于丢弃存在攻击行为的报文。其中,若所述攻击行为确定模块判定本检测周期内未发生攻击行为,且之前的检测周期中也未发生过攻击行为,则通知报文计数模块清除所有端口及主机的报文计数值;若所述攻击行为确定模块判定本检测周期内未发生攻击行为,然而之前的检测周期中发生过攻击行为,则判断发生过攻击行为的端口或主机的未再发生攻击行为的周期是否达到预设的阈值,若达到,则通知攻击处理模块解除发生过攻击行为的端口或主机的报文丢弃措施,同时通知报文计数模块将发生过攻击行为的端口或主机的报文计数值清除, 否则,将发生过攻击行为的端口或主机对应的未再发生攻击行为的周期计数值加一。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种网络设备攻击防范方法,其特征在于,包括步骤A、检测周期开始,解析网络设备接收到的报文,分别计数网络设备各端口收到的每种报文的数目,同时分别计数来自不同主机的报文数目;B、检测周期结束,获取各项计数结果,若某个端口收到的某种报文的速率大于其对应的预设阈值,则确定该端口收到的该类报文存在攻击行为,若来自某个主机的报文速率大于其对应的预设阈值,则确定来自该主机的报文存在攻击行为;C、丢弃存在攻击行为的报文。
2.如权利要求1所述的方法,其特征在于,所述步骤B中,若本检测周期内未发生攻击行为,且之前的检测周期中也未发生过攻击行为,则清除所有端口及主机的报文计数值。
3.如权利要求1或2所述的方法,其特征在于,所述步骤B中,若本检测周期内未发生攻击行为,然而之前的检测周期中发生过攻击行为,则判断发生过攻击行为的端口或主机的未再发生攻击行为的周期是否达到预设的阈值,若达到,则解除发生过攻击行为的端口或主机的报文丢弃措施,同时将其报文计数值清除,否则,将发生过攻击行为的端口或主机对应的未再发生攻击行为的周期计数值加一。
4.如权利要求1所述的方法,其特征在于,所述步骤A中报文计数的具体过程为根据接收到的报文的端口号及报文类型信息,分别计数网络设备各端口收到的每种报文的数目,将结果存储到以设备端口为索引的全局数组中;同时根据接收到的报文中的主机信息,分别计数来自不同主机的报文数目,将结果存储到主机信息链表中。
5.如权利要求1所述的方法,其特征在于,在确定某个端口收到的某种报文存在攻击行为时,将该端口中该类报文的攻击行为标志位置位;在确定来自某个主机的报文存在攻击行为时,将该主机的攻击行为标志位置位。
6.如权利要求1所述的方法,其特征在于,所述检测周期为1秒。
7.—种网络设备攻击防范装置,其特征在于,包括报文计数模块,用于在检测周期开始后解析网络设备接收到的报文,分别计数网络设备各端口收到的每种报文的数目,同时分别计数来自不同主机的报文数目;攻击行为确定模块,用于在检测周期结束后获取各项计数结果,若某个端口收到的某种报文的速率大于其对应的预设阈值,则确定该端口收到的该类报文存在攻击行为,若来自某个主机的报文速率大于其对应的预设阈值,则确定来自该主机的报文存在攻击行为;攻击处理模块,用于丢弃存在攻击行为的报文。
8.如权利要求7所述的装置,其特征在于,若所述攻击行为确定模块判定本检测周期内未发生攻击行为,且之前的检测周期中也未发生过攻击行为,则通知报文计数模块清除所有端口及主机的报文计数值。
9.如权利要求7或8所述的装置,其特征在于,若所述攻击行为确定模块判定本检测周期内未发生攻击行为,然而之前的检测周期中发生过攻击行为,则判断发生过攻击行为的端口或主机的未再发生攻击行为的周期是否达到预设的阈值,若达到,则通知攻击处理模块解除发生过攻击行为的端口或主机的报文丢弃措施,同时通知报文计数模块将发生过攻击行为的端口或主机的报文计数值清除,否则,将发生过攻击行为的端口或主机对应的未再发生攻击行为的周期计数值加一。
10.如权利要求7所述的装置,其特征在于,所述检测周期为1秒。
全文摘要
本发明公开了一种网络设备攻击防范方法及装置,所述方法包括检测周期开始,解析网络设备接收到的报文,分别计数网络设备各端口收到的每种报文的数目,同时分别计数来自不同主机的报文数目;检测周期结束,获取各项计数结果,若某个端口收到的某种报文的速率大于其对应的预设阈值,则确定该端口收到的该类报文存在攻击行为,若来自某个主机的报文速率大于其对应的预设阈值,则确定来自该主机的报文存在攻击行为;丢弃存在攻击行为的报文。所述装置包括报文计数模块、攻击行为确定模块和攻击处理模块。本发明可以具体针对协议报文的类型和特定主机进行防范,从而达到了防范网络设备攻击的目的。
文档编号H04L12/26GK102487339SQ20101056790
公开日2012年6月6日 申请日期2010年12月1日 优先权日2010年12月1日
发明者吴军, 胡扶同 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1