一种防止nat-pt设备受到攻击的方法

文档序号:7956155阅读:301来源:国知局
专利名称:一种防止nat-pt设备受到攻击的方法
技术领域
本发明涉及计算机网络安全的技术领域,特别是一种防止IPv4和IPv6网络地址转换和协议翻译(NAT-PT)设备受到攻击的方法。
背景技术
IPv6(Internet Protocol Version 6)协议是替代IPv4(Internet ProtocolVersion 4)协议的下一代互联网协议,它具有许多新的特性与功能。网络过渡时期中IPv4和IPv6技术将保持长时间共存,并最终过渡到IPv6。目前,如何实现IPv4协议向IPv6协议平滑过渡是人们面临的问题。IETF工作组提出了几种实现IPv4和IPv6互通的机制,如双协议栈(RFC2893中说明),隧道技术(RFC2893中说明),NAT-PT(Network Address Translation-Protocol Translation,网络地址转换和协议翻译机制,RFC2766中说明)等。NAT-PT是一种协议转换技术,用来解决纯IPv6网络和纯IPv4网络互通的问题。其主要思想是在IPv6节点与IPv4节点的通信时,借助于中间的NAT-PT系统,把网络层协议进行IPv6/IPv4间的转换,以适应对端的协议类型。
由于NAT-PT这种过渡方式,只需要在中间设置转换系统即可完成IPv6网络和IPv4网络的互通,应用较为简便,适用于常用的网络互通需求。但是在NAT-PT设备中,需要使用一张NAPT(Network Address Port Translation)表来记录NAT-PT包的转换信息,这张表包含了主机的IPv4地址、IPv6地址、IPv4端口、IPv6端口、协议类型等字段;由于NAT-PT设备中,使用的用于协议转换的IPv4地址和端口都是有限的,而且设备中用于存放NAPT表的内存大小也是有限度的;因此存在这样一种情况当网络中一台或多台主机感染病毒,发出大量的拒绝攻击和端口扫描的数据包,这时会导致NAPT表中充满了大量的垃圾条目,而正常的网络访问却不能通过NAT-PT设备,导致了NAT-PT设备功能失常。目前,在NAT设备中存在相似的被攻击问题,解决技术的实现如下统计网络内IPv4主机链接信息,形成统计表,然后根据统计表中的内容,决定该IPv4主机产生的链接是否能通过NAT设备。但是此解决技术只是应用于IPv4的NAT网络环境中,不能防止IPv4/IPv6网络环境中的NAT-PT设备受到攻击。
因此,人们希望一种防止NAT-PT设备受到攻击的方法。

发明内容
本发明的目的是克服现有技术的不足,解决主机受到病毒攻击,大量占用NAPT表的条目,而导致其他主机不能正常通过NAT-PT设备转发包的问题,提供一种用于防止NAT-PT设备受到攻击的方法。
本发明的目的是这样实现的一种防止IPv4和IPv6网络地址转换和协议翻译(NAT-PT)设备受到攻击的方法,包括如下步骤(1)设置NAPT表和限制表的内容字段,并且初始化;(2)设置NAT-PT设备允许某个主机建立链接条目的最大值为Max;(3)设置NAT-PT设备允许所述主机建立链接条目的最小值为Min;(4)对NAPT表中的条目进行统计,统计所述主机的链接数目,根据统计结果决定是否将此主机放入到限制表中;(5)数据包的处理流程依据限制表中的链接总数来确定;(6)定时调用NAPT表和限制表的刷新操作,更新链接总数。
在上述技术方案中,步骤(1)中所述设置NAPT表和限制表的内容字段,包括(21)NAPT表的内容字段包括IPv4地址、IPv6地址、IPv4端口、IPv6端口、协议类型;(22)限制表的内容字段包括IPv6地址、链接数目和时间标记。
在上述技术方案中,所述的链接条目的最大值Max和最小值Min的设置要根据具体的网络流量的大小、网络的带宽、NAT-PT设备的处理能力以及NAPT表的大小等具体情况来确定。
在上述技术方案中,所述的步骤(4)对NAPT表中的条目进行统计,统计某个主机的链接数目,根据统计结果决定是否将此主机放入到限制表中,具体包括(51)采用HASH算法,通过源IP地址查询NAPT表,统计此IP地址的当前的链接数目Cur;(52)如果Cur的值大于等于Min的值,则此IP地址的主机为受限制的用户,将此IP地址放入到限制表中;在上述技术方案中,所述的步骤(5),数据包的处理流程依据限制表中的链接数目来确定,具体包括
(61)数据包到达NAT-PT设备,系统采用HASH算法,通过源IP地址查询限制表,如果能够查询到,取出此IP地址的当前链接Cur值;(62)如果Cur值大于Max值,对此数据包不做处理,直接丢弃该数据包;(63)如果Cur值大于Min,而小于Max值,对该IP地址过来的数据包以Pa的概率丢包,以(1-Pa)的概率建立链接,其中Pa=(Cur-Min)/(Max-Min);(64)如果步骤(61)中的HASH查询没有查询到,说明此IP地址不在限制表中,不是受限制的用户,则正常处理此数据包,进行此数据包的地址转换和协议翻译处理。
在上述技术方案中,所述步骤(6),定时调用NAPT表和限制表的刷新操作,更新链接条目,具体包括(71)NAPT表刷新操作后,由标记字段决定NAPT的条目是否被删除;(72)由于NAPT链接条目发生了变化,此时要重新统计主机IP地址的链接数目,形成新的限制表。
在上述技术方案中,所述步骤(6)中,定时刷新时间不大于5分钟。
与现有技术相比,本发明的有益效是利用本发明,NAT-PT设备可以对发起攻击的主机进行识别,防止用户建立大量的NAPT无用链接,保证了正常数据包的通过,提高了网络的安全性。


图1表示本发明中NAPT表的字段内容及结构;图2表示本发明中限制表的字段内容及结构;图3表示本发明中形成用户限制表的流程图;防止NAT-PT设备受到攻击的实现方法的数据包处理流程中的对NAPT表中的条目进行统计,统计某个主机IP地址的链接数目,根据链接数目形成用户限制表的流程。
图4表示本发明中防止NAT-PT设备受到攻击的实现方法的数据包处理流程图;具体实施方式
下面结合附图和具体实施方式
对本发明作进一步详细描述首先定义以下一些参数Cur某个主机Host A的当前链接总数;Min某个主机Host A链接总数受到限制的最小阀值;Max某个主机Host A链接总数受到限制的最大阀值;
Pa某个主机Host A的数据包被丢弃的概率。
防止IPv4和IPv6网络地址转换和协议翻译(NAT-PT)设备受到攻击的方法,具体包括如下内容步骤(1),设置NAPT表和限制表的内容字段,并且初始化;参照图1,详细描述了本发明的实施例中所述的NAPT表的字段内容及结构第一个字段IPv6地址11表示IPv6主机Host A的IP地址;第二个字段IPv4地址12表示IPv6主机Host A建立的链接对应的IPv4地址;第三个字段IPv6端口13表示IPv6主机Host A的端口;第四个字段IPv4端口14表示IPv6主机Host A建立的链接对应的端口;第五个字段协议类型15表示IPv6主机Host A发出的数据包的类型。
第六个字段标记16表示NAPT表刷新时,删除NAPT条目所使用的标记字段。
本领域技术人员应该知道,所述NAPT表的字段内容和结构不只限于上述形式,几个字段的顺序和多少不是固定的。
参照图2,详细描述了本发明的实施例中所述的限制表的字段内容及结构第一个字段IPv6地址21表示IPv6主机Host A的IP地址;第二个字段链接数目22表示IPv6主机Host A建立的链接总数Cur;本领域技术人员应该知道,所述限制表的字段内容和结构不只限于上述形式,几个字段顺序和多少是不固定的。限制表中下面的三个条目为限制表中主机用户的信息。
步骤(2),设置NAT-PT设备允许某个主机建立链接条目的最大值为Max;步骤(3),设置NAT-PT设备允许某个主机建立链接条目的最小值为Min;根据具体的网络流量的大小、网络的带宽、NAT-PT设备的处理能力以及NAPT表的大小等具体情况来确定以下参数的数值Min某个主机Host A链接总数受到限制的最小阀值;Max某个主机Host A链接总数受到限制的最大阀值;步骤(4),对NAPT表中的条目进行统计,统计某个主机的链接数目,根据统计结果决定是否将此主机放入到限制表中参照图3,详细描述了本实施例中,形成用户限制表的处理流程采用HASH算法,通过IPv6地址查找NAPT表中此IPv6地址总的链接数目Cur(步骤31),判断Cur>=Min是否成立(步骤32),如果成立,则此IP的主机为受限制的用户,将此IP放入到限制表中(步骤33)。
步骤(5),数据包的处理流程依据限制表中的链接总数来确定参照图4,详细描述了本实施例中,防止NAT-PT设备受到攻击的数据包处理流程首先NAT-PT设备收到IP数据包(步骤41),判断数据包的类型(步骤42),如果类型为IPv6数据包,做如下处理采用HASH算法,根据源IP地址查找限制表(步骤43),判断是否有条目存在(步骤44),如果有条目存在,则比较链接数目字段值是否大于Max(步骤45),如果大于,则丢弃该数据包,否则,进行流量控制,计算Pa,以Pa的概率丢弃该主机IP发过来的数据包(步骤47),没有丢弃的数据包进行网络地址翻译与协议转换处理(步骤414)。
参照图4,判断是否有条目存在(步骤44),如果没有条目存在,则说明该主机IP地址不是受限制的主机,进行正常处理该数据包,查NAPT表(步骤48),判断是否存在条目(步骤49),如果不存在,则建立NAPT条目,然后进行网络地址翻译与协议转换处理(步骤414),如果条目存在,则直接进行网络地址翻译与协议转换处理(步骤414)。
再参照图4,NAT-PT设备收到IP数据包(步骤41),判断数据包的类型(步骤42),如果类型为IPv4数据包,做如下处理查NAPT表(步骤411),判断是否存在条目(步骤412),如果不存在,则丢弃该数据包(步骤413),如果存在条目,则进行网络地址翻译与协议转换处理(步骤414)。
步骤(6),定时调用NAPT表和限制表的刷新操作,更新链接总数具体做如下处理设置定时刷新时间为3分钟;执行NAPT表刷新操作,标记字段值为0时,删除该NAPT条目,当标记字段值为1时,更改标记字段值为0。由于NAPT链接条目发生了变化,此时要重新统计主机IP地址链接数目,形成新的用户限制表。
下面结合具体的数据,以几个应用例子来说明本发明的方法例1设定Min=200,Max=500,当主机地址为2001:250:f007:1::10a的数据包进入NAT-PT设备,查询限制表(图2),存在此IP地址的条目,说明此主机是受限制的,当前链接数目为255,则执行以下步骤因为Max>255>Min,Pa=(Cur-Min)/(Max-Min)=(255-200)/(500-200)=0.183所以,NAT-PT设备对第255个链接以概率0.183丢弃该数据包;也就是,以概率1-0.183允许该数据包建立链接。
例2设定Min=200,Max=500,当主机地址为2001:250:f007:1::10b的数据包进入NAT-PT设备,查询限制表(图2),存在此IP地址的条目,说明此主机是受限制的,当前链接数目为400,则执行以下步骤因为Max>400>Min,Pa=(Cur-Min)/(Max-Min)=(400-200)/(500-200)=0.667所以,NAT-PT设备对第400个链接以概率0.667丢弃该数据包;也就是,以概率1-0.667允许该数据包建立链接。
例3设定Min=200,Max=500,当主机地址为2001:250:f007:1::10c的数据包进入NAT-PT设备,查询限制表(图2),存在此IP地址的条目,说明此主机是受限制的,当前链接数目为501,则执行以下步骤因为501>Max,所以,NAT-PT设备对第501个链接直接丢弃该数据包,不建立该数据包的链接。
从上面的实例可见如果当前链接总数处于Min和Max之间,那么来自该主机的数据包被NAT-PT设备处理的行为处于一个概率之间,这个概率值由Pa决定。当前链接总数离Min越近,被NAT-PT处理的概率越高,离Max越近,被NAT-PT处理的概率越低。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,包括如下步骤(1)设置NAPT表和限制表的内容字段,并且初始化;(2)设置NAT-PT设备允许某个主机建立链接条目的最大值为Max;(3)设置NAT-PT设备允许所述主机建立链接条目的最小值为Min;(4)对NAPT表中的条目进行统计,统计所述主机的链接数目,根据统计结果决定是否将此主机放入到限制表中;(5)数据包的处理流程依据限制表中的链接总数来确定;(6)定时调用NAPT表和限制表的刷新操作,更新链接总数。
2.根据权利要求1所述防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,其特征在于,所述步骤(1)中所述NAPT表的内容字段包括IPv4地址、IPv6地址、IPv4端口、IPv6端口、协议类型;所述限制表的内容字段包括IPv6地址、链接数目和时间标记。
3.根据权利要求1所述防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,其特征在于,所述步骤(2)和步骤(3)中所述的链接条目的最大值Max和最小值Min的设置是根据具体的网络流量的大小、网络的带宽、NAT-PT设备的处理能力以及NAPT表的大小来确定。
4.根据权利要求1所述防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,其特征在于,所述的步骤(4)具体步骤包括(51)采用HASH算法,通过源IP地址查询NAPT表,统计此IP地址的当前的链接数目Cur;(52)如果Cur的值大于等于Min的值,则此IP地址的主机为受限制的用户,将此IP地址放入到限制表中。
5.根据权利要求1所述防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,其特征在于,所述的步骤(5)具体包括步骤(61)数据包到达NAT-PT设备,系统采用HASH算法,通过源IP地址查询限制表,如果能够查询到,取出此IP地址的当前链接Cur值;(62)如果Cur值大于Max值,对此数据包不做处理,直接丢弃该数据包;(63)如果Cur值大于Min,而小于Max值,对该IP过来的数据包以Pa的概率丢包,以(1-Pa)的概率建立链接,其中Pa=(Cur-Min)/(Max-Min);(64)如果步骤(61)中的HASH查询没有查询到,说明此IP地址不在限制表中,不是受限制的用户,则正常处理此数据包,进行此数据包的地址转换和协议翻译处理。
6.根据权利要求1所述防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,其特征在于,所述步骤(6)具体步骤包括(71)NAPT表刷新操作后,由标记字段决定NAPT的条目是否被删除;(72)NAPT链接条目发生变化,重新统计主机IP链接数目,形成新的限制表。
7.根据权利要求1或6所述防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法,其特征在于,所述步骤(6)中,定时刷新的时间不大于5分钟。
全文摘要
本发明公开了一种防止IPv4和IPv6网络地址转换和协议翻译设备受到攻击的方法。包括如下步骤设置NAPT表和限制表的内容字段,并且初始化;设置NAT-PT设备允许某个主机建立链接条目的最大值为Max;设置NAT-PT设备允许某个主机建立链接条目的最小值为Min;对NAPT表中的条目进行统计,统计某个主机的链接数目,根据统计结果决定是否将此主机放入到限制表中;数据包的处理流程依据限制表中的链接总数来确定;定时调用NAPT表和限制表的刷新操作,更新链接总数。本发明可以对发起攻击的主机进行识别,防止用户建立大量的NAPT无用链接,保证了正常数据包的通过,提高了网络的安全性。
文档编号H04L12/24GK1812420SQ20061005737
公开日2006年8月2日 申请日期2006年3月10日 优先权日2006年3月10日
发明者李丹, 陈沫, 毕经平 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1