CN101577723B - 一种防止邻居发现协议报文攻击的方法及装置 - Google Patents
一种防止邻居发现协议报文攻击的方法及装置 Download PDFInfo
- Publication number
- CN101577723B CN101577723B CN200910143921A CN200910143921A CN101577723B CN 101577723 B CN101577723 B CN 101577723B CN 200910143921 A CN200910143921 A CN 200910143921A CN 200910143921 A CN200910143921 A CN 200910143921A CN 101577723 B CN101577723 B CN 101577723B
- Authority
- CN
- China
- Prior art keywords
- client
- list item
- legal
- gateway device
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种防止邻居发现协议报文攻击的方法,应用于包括客户端和网关设备的系统中,所述方法包括:所述网关设备获取所述客户端对应的合法邻居发现ND表项;所述网关设备存储所述合法ND表项,并将所述合法ND表项设置为半静态表项;当接收到来自其它客户端的动态配置请求时,所述网关设备不根据所述动态配置请求更新所述合法ND表项;当接收到来自所述客户端的静态配置请求时,所述网关设备根据所述静态配置请求更新所述合法ND表项。本发明中,提高了DHCPv6网络设备的可靠性,保证邻居表项的安全性,并减少了无效的资源占用。本发明同样提供了一种对应本发明方法的装置。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种防止邻居发现协议报文攻击的方法及装置。
背景技术
随着网络规模的不断扩大、网络复杂度的不断提高,网络配置也变得越来越复杂,在终端经常移动(如便携机或无线网络)和终端数量超过可分配的IP(Internet Protocol,因特网协议)地址等情况下,原有针对静态主机配置的BOOTP(BOOTstrap Protocol,自举协议)协议已经越来越不能满足实际需求,为了方便用户快速地接入和退出网络、提高IP地址资源的利用率,在BOOTP基础上制定了一种自动机制来进行IP地址的分配,即DHCP(DynamicHost Configuration Protocol,动态主机配置协议)。
DHCP是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议,在IP网络中,每个连接Internet的设备均需要分配唯一的IP地址。DHCP使网络管理员在中心结点监控和分配IP地址。其中,DHCPv6(DHCP for IPv6,支持IPv6的动态主机配置协议)是针对IPv6(IP version 6,IP协议版本6)设计的,通过使用DHCPv6实现了客户端IP地址的自动配置,客户端在需要获取IP地址时,通过寻找DHCP v6服务器,接收DHCP v6服务器为客户端配置的IP地址、网关、DNS(Domain Name System,域名系统)、以及其他网络配置参数等信息。与其他IPv6地址的分配方式(例如,手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,通过使用DHCPv6为客户端配置IP地址的优势在于:DHCPv6可以更好地控制IPv6地址的分配,即DHCPv6在为终端分配IPv6地址时,可以为特定的终端分配特定的IPv6地址,以便网络的管理;而且DHCPv6除了为终端分配IPv6地址外,还可以为终端提供DNS、网关、域名等网络配置参数。
ND(Neighbor Discovery,邻居发现)协议是IPv6协议的一个基本组成部分,实现了在IPv4中的ARP(Address Resolution Protocol,地址解析协议)、ICMP(Internet Control Message Protocol,控制报文协议)中的路由器发现部分、重定向协议的所有功能,并具有邻居不可达检测机制。
随着IPv6技术的广泛应用,ND协议也成为了主要攻击对象,欺骗网关攻击和针对网关设备ND表项容量的攻击日益严重,如图1所示,欺骗网关的攻击具体为攻击者通过伪造ND报文,欺骗网关相同网段内的某一合法用户的MAC(Media Access Control,介质访问控制子层协议)地址已经更新,导致网关将所有报文发往攻击者,该过程具体包括:(1)攻击者A通过接入设备向网关发送NS(Neighbor Request,邻居请求)报文,该NS报文中携带的源IP为合法用户B的IP地址,该NS报文中携带的MAC地址为攻击者A的MAC地址;(2)网关在接收到该NS报文之后,更新该网关的ND表项,即将NS报文所对应的ND表项更新为源IP为合法用户B的IP地址,MAC为攻击者A的MAC地址;当网关需要向合法用户B发送报文时,该报文被攻击者A截获,即攻击者A通过利用NS报文进行欺骗网关攻击。针对网关设备ND表项容量的攻击具体为:攻击者向网关不断发送不同MAC地址的NS报文(各NS报文的IP地址可以相同,也可以不同),对于每一个MAC地址,网关均需要存储相应的ND表项,而网关设备对ND表项的规格均有一定的限制(即网关设备的存储容量),在攻击者的恶意攻击下,ND表项很容易达到规格,网关无法学习到最新的合法用户的信息,从而导致合法用户无法和网关正常通信。
现有技术中,为了避免ND表项被攻击,需要网关设备对接收到的ND协议相关报文(例如,NS报文)的合法性进行确认,即当网关接收到NS报文时,判断该NS报文中携带的MAC地址和ND表项中存储的MAC地址是否相同,当不相同时,并不立即更新ND表项;而是通过组播报文进行邻居不可达检测,若网关设备在预设的时间内收到2个NA(Neighbor Advertisement,邻居公告)报文,即同一IP地址被对应了2个不同的MAC地址,则认为存在恶意攻击,不需要更新ND表项,若只能收到对应于新MAC地址的一个NA报文,则更新ND表项,将该新MAC地址信息存储到ND表项中。
为了避免ND表项被攻击,还可以对接收到的数据包进行有效性、合法性的确认,例如,通过使用IPsec(IP Security Protocol,IP安全协议)对ND报文的数据包进行认证,在使用IPsec进行认证时,一个通信节点需要一个IP地址运行IKE(Internet key Exchange,因特网密钥交换),通过使用IKE来建立IPsec中的安全关联。其中,IPsec在IP层提供安全服务,使得系统能根据需要选择安全协议,并决定服务所使用的算法及放置需求服务所需密钥到相应位置。其中,该IPsec可以用来保护一条或多条终端与终端间、安全网关与安全网关间、安全网关与终端间的路径。
为了避免ND表项被攻击,还可以在网关中静态配置接入者(安全用户)的ND表项。
基于上面的分析,目前在防止ND表项被攻击时存在如下缺点:
采用上述通过组播报文进行邻居不可达检测防止ND表项被攻击时,攻击者也可利用邻居不可达检测进行攻击,例如,当攻击者接收到组播报文后,可以向网关设备发送不同源MAC地址的NA报文,网关设备需要对每个源MAC地址的NA报文均发送组播报文,造成了资源的浪费。
采用上述通过Ipsec进行安全认证来防止ND表项被攻击时,当网络中存在大量的用户时,需要对每个用户建立安全关联,即需要建立很多安全关联,给管理员带来很大的负担,同时需要相关设备和终端升级,部署复杂,应用难度较高。
采用上述静态配置的方式来防止ND表项被攻击时,配置复杂,对于大规模的IPv6部署,部署和管理成本较高。
发明内容
本发明提供一种防止邻居发现协议报文攻击的方法及装置,以在DHCPv6Server为客户端配置IP地址时,生成并存储该客户端的合法ND表项,从而实现邻居表项的安全性。
为了达到上述目的,本发明提出了一种防止邻居发现协议报文攻击的方法,应用于至少包括客户端和网关设备的系统中,所述方法包括以下步骤:
所述网关设备获取所述客户端对应的合法邻居发现ND表项;
所述网关设备存储所述合法ND表项,并将所述合法ND表项设置为半静态表项;
当接收到来自其它客户端的动态配置请求时,所述网关设备不根据所述动态配置请求更新所述合法ND表项;
当接收到来自所述客户端的静态配置请求时,所述网关设备根据所述静态配置请求更新所述合法ND表项。
优选的,
所述方法应用的系统中还包括DHCP服务器,所述DHCP服务器根据需要配置在所述网关设备上,或独立于所述网关设备而单独存在,所述网关设备获取所述客户端对应的合法邻居发现ND表项之前,还包括:
所述DHCP服务器接收来自所述客户端的请求报文,从所述请求报文中获取所述客户端的合法MAC地址信息;
所述DHCP服务器根据所述请求报文为所述客户端分配IP地址,并将所述IP地址添加到应答报文中,所述IP地址为所述客户端的合法IP地址;
所述DHCP服务器向所述客户端发送所述应答报文。
优选的,
所述网关设备获取所述客户端对应的合法邻居发现ND表项具体包括:
当所述DHCP服务器配置在所述网关设备上时,所述网关设备根据所述合法MAC地址信息和合法IP地址生成所述客户端对应的合法ND表项;或
当所述DHCP服务器独立于所述网关设备上而单独存在时,所述DHCP服务器将ND表项信息送给网关设备,由网关设备根据所述ND表项信息生成所述客户端对应的合法ND表项;所述ND表项信息包括所述客户端的合法MAC地址信息和合法IP地址。
优选的,
所述设置半静态表项具体为禁止所述网关设备动态学习其它客户端的动态配置请求。
优选的,
所述网关设备将所述合法ND表项设置为半静态表项之后,还包括:
当所述客户端释放所述IP地址时,所述网关设备删除所述合法ND表项。
优选的,
所述网关设备根据预设的周期向所述客户端发送探测报文,当在预设的次数内均没有接收到来自所述客户端的响应报文时,所述客户端异常下线,所述网关设备删除所述合法ND表项。
本发明还提出了一种防止邻居发现协议报文攻击的装置,应用于至少包括客户端和网关设备的系统中,所述邻居发现协议报文攻击的装置为所述网关设备,所述装置包括:
获取模块,用于获取所述客户端对应的合法ND表项;
存储模块,与所述获取模块电性连接,用于存储所述获取模块获取的合法ND表项;
配置模块,与所述存储模块电性连接,用于将所述存储模块存储的合法ND表项设置为半静态表项;
处理模块,与所述获取模块和所述存储模块分别电性连接,用于处理所述合法ND表项,以更新或删除所述合法ND表项。
优选的,所述装置应用的系统中还包括DHCP服务器,所述DHCP服务器根据需要配置在所述网关设备上,或独立于所述网关设备而单独存在,所述装置进一步包括收发模块,
用于当所述DHCP服务器配置在所述网关设备上时,接收来自所述客户端的请求报文,所述请求报文中携带所述客户端的合法MAC地址信息;并向所述客户端发送应答报文,所述应答报文中携带为所述客户端分配的合法IP地址信息;或
当所述DHCP服务器独立于所述网关设备而单独存在时,接收来自所述DHCP服务器的ND表项信息,所述ND表项信息中携带所述客户端的合法MAC地址信息和合法IP地址信息。
优选的,
所述获取模块包括:
获取子模块,用于获取所述合法MAC地址信息和合法IP地址信息;
生成子模块,与所述获取子模块电性连接,用于根据所述获取子模块获取的合法MAC地址信息和合法IP地址信息生成所述客户端对应的合法ND表项。
优选的,还包括:
所述处理模块包括:
更新子模块,用于当接收到来自其它客户端的动态配置请求时,不根据所述动态配置请求更新所述合法ND表项;或当接收到来自所述客户端的静态配置请求时,根据所述静态配置请求更新所述合法ND表项;
删除子模块,用于当所述客户端释放所述IP地址时,删除所述合法ND表项。
优选的,
所述删除子模块还用于:
根据预设的周期向所述客户端发送探测报文,当在预设的次数内均没有接收到来自所述客户端的响应报文时,判定所述客户端异常下线,删除所述合法ND表项。
与现有技术相比,本发明具有以下优点:网关设备根据DHCP Server为客户端分配IP地址成功后的用户信息生成ND安全表项,从而保证客户端的网络安全性;通过使用本发明,提高了DHCPv6网络设备的整体健壮性,在出现网络攻击的情况下,能够保证邻居表项的安全性,客户端仍然能够正常工作进而保证整个网络的安全性,同时减少了无效的资源占用。
附图说明
图1为现有技术中欺骗网关攻击示意图;
图2为本发明提出的一种防止邻居发现协议报文攻击的方法流程图;
图3为本发明一种应用场景下提出的防止邻居发现协议报文攻击的方法流程图;
图4为本发明一种应用场景下防止欺骗网关攻击示意图;
图5为本发明提出的一种防止邻居发现协议报文攻击的装置结构图。
具体实施方式
本发明的核心思想是通过在具有网关设备的网络中配置DHCPv6服务器,在DHCPv6服务器为客户端配置IP地址成功后,在该网关设备中存储该客户端的合法ND表项(至少包括合法IP地址和合法MAC地址的对应关系),并将该合法ND表项设置为半静态表项,当接收到用户(或攻击者)的NS报文需要动态更新ND表项时,并不对该ND表项进行更新,只有当用户通知管理员静态更新该ND表项时,才对该ND表项进行更新,从而防止攻击者的NS报文的攻击,增强网络的安全性。
本发明提出的一种防止邻居发现协议报文攻击的方法,应用于至少包括客户端、DHCP服务器和网关设备的系统中,其中所述DHCP服务器可以根据需要配置在网关设备上,也可以独立于网关设备而单独存在。如图2所示,所述方法包括以下步骤:
步骤S201,所述网关设备获取所述客户端对应的合法邻居发现ND表项。
其中,该ND表项中携带该客户端合法的MAC地址信息和该客户端的IP地址信息,具体的,在客户端向该DHCP服务器发送请求报文时,DHCP服务器从所述请求报文中获取所述客户端的合法MAC地址信息;在DHCP服务器根据所述请求报文为所述客户端分配IP地址时,DHCP服务器获取所述客户端的合法IP地址。
当DHCP服务器配置在网关设备上时,网关设备直接根据上述DHCP服务器获取的合法MAC地址信息和合法IP地址生成该客户端对应的合法ND表项;而当DHCP服务器独立于该网关设备而单独存在时,DHCP服务器则通过约定的协议直接将ND表项信息(例如,该客户端的合法MAC地址信息和合法IP地址)发送给网关设备,网关设备根据该ND表项信息生成该客户端对应的合法ND表项。
步骤S202,所述网关设备存储所述合法ND表项,并将所述合法ND表项设置为半静态表项,亦即使所述网关设备默认禁止学习动态ND表项。
步骤S203,当接收到来自其它客户端的动态配置请求时,所述网关设备不根据所述动态配置请求更新所述合法ND表项;当接收到来自所述客户端的静态配置请求时,所述网关设备根据所述静态配置请求更新所述合法ND表项。
本发明中,所述网关设备进一步根据预设的周期向所述客户端发送探测报文,当在预设的次数内均没有接收到来自所述客户端的响应报文时,所述客户端异常下线,所述网关设备删除所述合法ND表项;
若客户端没有异常下线,当所述客户端释放所述IP地址时,所述网关设备清除为所述客户端配置的IP地址,并删除所述合法ND表项。
可见,本发明中,网关设备根据DHCP Server为客户端分配IP地址成功后的用户信息生成ND安全表项,从而保证客户端的网络安全性;通过使用本发明,提高了DHCPv6网络设备的整体健壮性,在出现网络攻击的情况下,能够保证邻居表项的安全性,客户端仍然能够正常工作进而保证整个网络的安全性,同时减少了无效的资源占用。
如图3所示,为本发明一种应用场景下提出的防止邻居发现协议报文攻击的方法,通过使用该防止邻居发现协议报文攻击的方法,在网关设备上存储客户端邻居发现协议所需要的合法MAC地址和IP地址信息,从而确保ND协议的安全性,防止攻击者通过ND报文进行欺骗网关的攻击和针对网关设备ND表项的容量攻击。
为了更好地理解本发明应用场景,在介绍本发明应用场景之前,先简要介绍一下邻居发现协议能够实现的主要功能。a.路由器的前缀发现,即路由器必须无条件丢弃不满足有效性检查的路由器请求消息和路由器通告消息;b.地址解析,即IPv6节点通过邻居请求消息和邻居通告消息将IPv6地址解析成链路层地址,而对组播地址不执行地址解析;c.重定向,即当数据包需要发送到一个非连接的目的地址时,需要选择转发数据包的路由器,当选择的路由器为数据包发送的下一跳但不是最好的下一跳时,由路由器产生重定向消息,通知源节点到达目的地存在更佳的下一跳路由器;d.邻居不可达检测,即邻居通信或到达邻居的通信会因各种原因产生中断,例如,硬件故障、接口卡的热插入等;当目的地失效时,不可能恢复,通信失败;当路径失效时,可能恢复,即节点应该主动跟踪数据包发向邻居的可达性状态;e.重复地址检测,即一个终端通过自己配置链路本地地址来开始自动配置,一旦生成链路本地地址,终端就发送邻节点请求到该本地地址,以确保该本地地址是唯一的,若没有回应,则该本地地址是唯一的,一旦链路本地地址确定,终端将该本地地址作为源地址,发送路由器请求等功能。
具体地,图3所示的防止邻居发现协议报文攻击的方法,包括以下步骤:
步骤S301,Client(客户端)向子网段内的所有DHCPv6服务器发送Solicit(请求)报文,其中,该Solicit报文中携带了该客户端的合法MAC地址信息和端口号信息。
本发明中,为了确保ND协议的安全性,可以将该DHCPv6服务器配置在网关设备上,即DHCPv6服务器和网关设备为同一个设备;当然,也可以不将该DHCPv6服务器配置在网关设备上,而是通过双方预先约定的协议完成信息的交互,从而确保ND协议的安全性。为描述方便,以下仅以DHCPv6服务器配置在网关设备上,并以该设备为DHCPv6服务器为例进行描述。本发明中,Client通过使用DHCP分配方式申请IPv6地址,即通过使用DHCPv6服务器为该Client分配IPv6地址。
本步骤中,当客户端在第一次登陆网络时,该客户端上没有相应的IP地址信息,该客户端需要申请IPv6地址,即客户端需要向网络中的DHCPv6服务器发送Solicit报文,此时,该客户端上还没有IP地址信息,该Solicit报文为源地址是客户端链路本地地址,目的地址是FF02::1:2或FF05::1:3的多播报文。
步骤S302,DHCPv6服务器向客户端发送Advertise(广播)消息,在该Advertise消息中携带了该DHCPv6服务器的ID和优先权信息。
当该子网段内存在可以配置IPv6地址的DHCPv6服务器时,该接收到客户端的Solicit报文的所有DHCPv6服务器均会向该客户端返回Advertise消息,以通知客户端该子网段内存在DHCPv6服务器,并在返回的Advertise消息中携带该DHCPv6服务器的ID和优先权信息。
步骤S303,Client在指定时间内收集所有DHCPv6服务器返回的Advertise消息,并选择一个DHCPv6服务器,通过使用该选择的DHCPv6服务器为该客户端配置IP地址,记录该DHCPv6服务器的优先级、该DHCPv6服务器的地址。
该指定时间为根据客户端的策略预先设定的时间,可以根据实际的需要任意设置,上述的选择一个DHCPv6服务器作为为该客户端配置IP地址的DHCPv6服务器的方法包括但不限于:根据DHCPv6服务器的优先级选取一个DHCPv6服务器作为为该客户端配置IP地址的DHCPv6服务器;或根据接收到DHCPv6服务器返回的Advertise消息的先后顺序选取一个DHCPv6服务器作为为该客户端配置IP地址的DHCPv6服务器。当该选择的DHCPv6服务器在后续的步骤中没有回应时,该客户端可以选择另外一个DHCPv6服务器,通过使用选择的DHCPv6服务器为该客户端配置IP地址,该选择方法与上述选择的方法相同,在此不再赘述。
步骤S304,Client在选出DHCPv6服务器后,向该子网段内的被选择的DHCPv6服务器发送Request(请求)报文,并在该报文中携带选定的DHCPv6服务器的标识。
步骤S305,DHCPv6服务器在接收到Client的Request报文后,查看该Request报文中携带的DHCPv6服务器标识,当该DHCPv6服务器为Client所选择的DHCPv6服务器时,该DHCPv6服务器为该客户端配置IP信息,并在该DHCPv6服务器中存储客户端合法的MAC地址、端口号、IP地址的对应表项,其中,该IP信息包括但不限于IP地址、网关、DNS、以及其他网络配置参数等信息。该DHCPv6服务器为该客户端配置IP地址包括但不限于:从DHCPv6服务器直接将未使用的空置IP地址分配给客户端。
当DHCPv6服务器获取到Request报文中携带的DHCPv6服务器标识不是该DHCPv6服务器所对应的标识时,则该DHCPv6服务器不是Client所选择的DHCPv6服务器,该DHCPv6服务器将丢弃该Request报文,不对该客户端进行配置IP信息的操作。
需要说明的是,DHCPv6有快速申请IPv6地址的方式,当客户端在Solicit报文中增加了Rapid Commit(快速交互)选项时,DHCPv6服务器在接收到Solicit报文时,会向客户端直接回应配置Reply报文,在该配置Reply报文中携带了为客户端配置的IP信息,此时,客户端将使用先收到的配置Reply中携带的IP信息。
另外,在本发明中,DHCPv6服务器需要存储客户端的相应IP表项,该IP表项中的内容包括MAC地址、端口号、IP地址网关、DNS、以及其他网络配置参数等信息;而对于网关设备来说,则需要存储相应的合法ND表项,如表1所示,该合法ND表项中存储的内容包括但不限于客户端标识、MAC地址、IP地址。
表1
客户端标识 | MAC地址 | IP地址 |
客户端1 | 00:00:20:0A:8C:6D | 2000::1 |
客户端2 | 00:00:20:0A:8C:6C | 3000::1 |
本步骤中,DHCPv6服务器需要进一步将合法ND表项(上述的表1,即网关设备中存储的合法ND表项)设置为半静态的合法ND表项(允许用户配置的静态ND表项覆盖该表项,而不允许动态ND表项覆盖该表项,故称之为半静态表项),亦即,禁止网关设备在默认的情况下学习动态的ND表项。换言之,就是当接收到来自其它客户端的动态配置请求时,DHCPv6服务器不能根据该动态配置请求更新该半静态的ND表项;而当接收到来自客户端的静态配置请求时,DHCPv6服务器根据该静态配置请求更新该半静态的ND表项。
这样,当其它客户端(攻击者)发送动态配置请求(该动态配置请求中携带的是上述合法用户的IP地址与该攻击者的MAC的对应关系)时,由于该动态配置请求中携带的IP地址在ND表项中已经有相应的记录,而该相应的记录为半静态ND表项,即DHCPv6服务器不能根据该动态配置请求更新该半静态的ND表项,攻击者不能更新ND表项,从而防止了邻居发现协议报文攻击的方法。
步骤S306,DHCPv6服务器将配置Reply(应答)报文发送给客户端,该Reply报文中携带了DHCPv6服务器为客户端配置的IP信息和租约时间信息。该租约时间信息包括但不限于该客户端可以使用该IP地址的时间信息,该租约时间信息为DHCPv6服务器根据实际需要和该DHCPv6服务器的策略为该客户端所分配的租约时间。
步骤S307,客户端在接收到该配置Reply应答后,从该配置Reply报文中解析出DHCPv6服务器为该客户端配置的IP地址信息和租约时间信息并使用上述的IP信息接入网络。
步骤S308,当到达预设的第一时间时,该客户端向DHCPv6服务器发送Renew(更新)报文,以对该客户端的IP地址进行续约。其中,该预设的第一时间为租约时间的50%,根据实际的需要,该预设的第一时间也可以选取其他数值。当在预设的第一时间发送的Renew报文没有收到应答时,在预设的第二时间,客户端向DHCPv6服务器发送Rebind(重新绑定)报文。其中,该预设的第二时间为租约时间的80%,根据实际的需要,该预设的第二时间也可以选取其他值。
步骤S309,DHCPv6服务器在收到客户端的Renew报文或Rebind报文时,获取到该客户端的信息在DHCPv6服务器有相应的记录时,该DHCPv6服务器为该客户端续约,并向该客户端发送续约Reply应答报文。其中,该续约时间为该DHCPv6服务器根据实际需要任意选取。
本发明中,DHCPv6服务器在允许发送Reconfigure(重配)报文时,当DHCPv6服务器的选项(例如,DHCPv6服务器为客户端配置IP信息的配置参数)发生变化,DHCPv6服务器可以主动发送Reconfigure报文通知客户端,使客户端也更新配置参数。在客户端也允许接收Reconfigure报文时,客户端收到Reconfigure报文后,解析该报文的OPTION_RECONF_MSG。当msg-type为5时,则发送Renew报文到DHCPv6服务器,以通知DHCPv6服务器该客户端的IP地址发生变化,当msg-type为11时,则发送Information-request报文到DHCPv6服务器,以通知DHCPv6服务器该客户端的选项参数发生变化。
步骤S310,当客户端不再需要使用该IP地址时,则该客户端向DHCPv6服务器发送Release(释放)报文。
步骤S311,DHCPv6服务器在接收到Release报文后,解除该Release报文所对应客户端配置的IP信息,将相应的IP信息标记为空闲,可以继续为其他客户端配置该IP信息,并删除在DHCPv6服务器(网关设备)中存储的合法ND表项。
当该客户端为长时间使用该IP地址时,DHCPv6服务器在接收到Release报文后,也不会将该IP地址分配给其他客户端,在下次接收到该客户端(通过MAC地址和端口号标识)的Solici报文后,可以仍然将该IP地址分配给该客户端。当然,此时DHCPv6服务器也不需要删除对应的合法ND表项。
其中,当客户端由于重启或其他物理连接状态变化导致下线,并仍然需要使用该IP地址时,该Client向DHCPv6服务器发送Confirm(证实)报文,当该DHCPv6服务器在接收到Release报文之前,接收到该Confirm报文,则该客户端仍使用该IP地址;当该DHCPv6服务器已经收到Release报文,则需要重新为该客户端配置IP地址。
本发明中,DHCPv6服务器还需要根据预设的周期(例如,将该周期设置为1分钟)向客户端发送探测报文(例如,通过使用邻居不可达检测的探测报文),当在预设的次数内(例如,3次)均没有接收到来自客户端的响应报文时,判定客户端异常下线,此时,该DHCPv6服务器需要强制删除该合法ND表项。
以下结合图4进一步说明本发明应用场景,在网关设备G上配置DHCPv6server(服务器),合法用户B使用DHCP申请IPv6地址,合法用户B(MAC地址为0001-0002-0003)申请到IPv6地址2000::1,网关设备G为用户B生成半静态ND表项,该ND表项为上述IPv6地址与合法用户B的MAC地址的对应关系,其中,该ND表项不能被动态ND表项修改(亦即禁止网关设备G学习动态ND表项),此时合法用户B可以和网关G正常通信。
当攻击者A发送源IP为2000::1(合法用户B的IPv6地址),MAC地址为攻击者A自身的MAC地址的NS报文时,由于已关闭网关设备G对ND表项的动态学习,此时网关设备G不根据该NS报文更新已生成的2000::1的ND表项,保证了用户B和网关的正常通信。
当合法用户B下线,通知网关设备G释放已申请的IPv6地址时,网关设备G删除2000::1的半静态ND表项。
当合法用户B异常下线(由于断电和重启等原因),此时没有通知网关设备释放IPv6地址,网关设备每隔一定的时间探测用户是否在线,如果连续3次探测都没有收到应答,则认为此用户已经异常下线,此时网关设备G强制删除该合法用户B的ND表项。
可见,本发明中,网关设备根据DHCP Server为客户端分配IP地址成功后的用户信息生成合法ND安全表项,从而保证客户端的网络安全性;通过使用本发明,提高了DHCPv6网络设备的整体健壮性,在出现网络攻击的情况下,能够保证邻居表项的安全性,客户端仍然能够正常工作进而保证整个网络的安全性,同时减少了无效的资源占用。
通过使用本发明,解决了ND在运行DHCPv6 Server的网关上容易被伪造,资源容易被恶意侵占,导致网络故障的问题,利用DHCPv6Server的分配的地址信息生成合法的邻居安全表项,实现邻居表项的安全性。
其中,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明还提出了一种防止邻居发现协议报文攻击的装置,应用于至少包括客户端、网关设备和DHCP服务器的系统中,其中所述DHCP服务器可以根据需要配置在网关设备上,也可以独立于网关设备而单独存在。为描述方便,在本实施例中,所述邻居发现协议报文攻击的装置为所述网关设备,如图5所示,所述网关设备包括收发模块51、获取模块52、存储模块53、配置模块54和处理模块55,其中,
收发模块51,用于当所述DHCP服务器配置在所述网关设备上时,接收来自所述客户端的请求报文,所述请求报文中携带所述客户端的合法MAC地址信息;并向所述客户端发送应答报文,所述应答报文中携带为所述客户端分配的合法IP地址信息;或当所述DHCP服务器独立于所述网关设备而单独存在时,接收来自所述DHCP服务器的ND表项信息,所述ND表项信息中携带所述客户端的合法MAC地址信息和合法IP地址信息。
获取模块52,与所述收发模块51电性连接,用于获取所述客户端对应的合法ND表项。进一步地,该获取模块52包括:
获取子模块521,用于获取根据收发模块51收发的信息获取所述合法MAC地址信息和合法IP地址信息。例如,当DHCP服务器配置在所述网关设备上,在收发模块51接收来自所述客户端的请求报文时,所述获取子模块521从所述请求报文中获取合法MAC地址信息;在收发模块51向所述客户端发送应答报文时,所述获取子模块521从所述应答报文获取合法IP地址信息;同样的,当DHCP服务器独立于所述网关设备而单独存在时,所述收发模块51接收来自所述DHCP服务器的ND表项信息时,所述获取子模块521从所述ND表项信息中获取所述合法MAC地址信息和合法IP地址信息。
当然,所述获取子模块521获取合法MAC地址信息和合法IP地址信息的方式并不局限于此,例如,所述获取子模块521还可以在DHCP服务器为客户端分配IP地址时直接获取合法IP地址信息,而不需要从应答报文中获取,即获取子模块521的获取方式根据实际需要任意选择,在此不再赘述。
生成子模块522,与所述获取子模块521电性连接,用于根据所述获取子模块521获取的合法MAC地址信息和合法IP地址信息生成所述客户端对应的合法ND表项。
存储模块53,与所述获取模块52电性连接,用于存储所述获取模块52获取的合法ND表项。
配置模块54,与所述存储模块53电性连接,用于将所述存储模块53存储的合法ND表项设置为半静态表项。
处理模块55,与所述存储模块53和所述获取模块52分别电性连接,用于处理对所述存储模块53存储的合法ND表项进行处理,以更新或删除所述合法ND表项。当然,该处理模块55还可以直接对获取模块52获得的信息进行处理,例如,当获取模块52获得相应的动态配置请求时,并不需要将该动态配置请求所对应的记录存储到存储模块53中,而直接由处理模块对该动态配置请求进行处理,此时,处理模块55与获取模块52直接连接。
进一步地,该处理模块55包括:
更新子模块551,用于当接收到来自其它客户端的动态配置请求时,不根据所述动态配置请求更新所述合法ND表项;或当接收到来自所述客户端的静态配置请求时,根据所述静态配置请求更新所述合法ND表项;
需要说明的是,其它客户端(攻击者)发送动态配置请求(该动态配置请求中携带的是上述合法用户的IP地址与该攻击者的MAC的对应关系)时,由于该动态配置请求中携带的IP地址在ND表项中已经有相应的记录,而该相应的记录为半静态ND表项,即网关设备不能根据该动态配置请求更新该半静态的ND表项,攻击者不能更新ND表项,从而防止了邻居发现协议报文攻击的方法。
删除子模块552,用于当所述客户端释放所述IP地址时,删除所述合法ND表项。
进一步的,所述删除子模块552需要根据预设的周期向所述客户端发送探测报文,当在预设的次数内均没有接收到来自所述客户端的响应报文时,判定所述客户端异常下线,删除所述合法ND表项。其中,该预设的周期为根据实际的需要任意设置的时间,该探测报文可以为用于邻居不可达检测的探测报文。
可见,本发明中,网关设备根据DHCP Server为客户端分配IP地址成功后的用户信息生成ND安全表项,从而保证客户端的网络安全性;通过使用本发明,提高了DHCPv6网络设备的整体健壮性,在出现网络攻击的情况下,能够保证邻居表项的安全性,客户端仍然能够正常工作进而保证整个网络的安全性,同时减少了无效的资源占用。
通过使用本发明,解决了ND在运行DHCPv6 Server的网关上容易被伪造,资源容易被恶意侵占,导致网络故障的问题,利用DHCPv6 Server的分配的地址信息生成合法的邻居安全表项,实现邻居表项的安全性。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (11)
1.一种防止邻居发现协议报文攻击的方法,应用于至少包括客户端和网关设备的系统中,其特征在于,所述方法包括以下步骤:
所述网关设备获取所述客户端对应的合法邻居发现ND表项;
所述网关设备存储所述合法ND表项,并将所述合法ND表项设置为半静态表项;
当接收到来自其它客户端的动态配置请求时,所述网关设备不根据所述动态配置请求更新所述合法ND表项;
当接收到来自所述客户端的静态配置请求时,所述网关设备根据所述静态配置请求更新所述合法ND表项。
2.如权利要求1所述的方法,其特征在于,所述方法应用的系统中还包括DHCP服务器,所述DHCP服务器根据需要配置在所述网关设备上,或独立于所述网关设备而单独存在,所述网关设备获取所述客户端对应的合法邻居发现ND表项之前,还包括:
所述DHCP服务器接收来自所述客户端的请求报文,从所述请求报文中获取所述客户端的合法MAC地址信息;
所述DHCP服务器根据所述请求报文为所述客户端分配IP地址,并将所述IP地址添加到应答报文中,所述IP地址为所述客户端的合法IP地址;
所述DHCP服务器向所述客户端发送所述应答报文。
3.如权利要求2所述的方法,其特征在于,所述网关设备获取所述客户端对应的合法邻居发现ND表项具体包括:
当所述DHCP服务器配置在所述网关设备上时,所述网关设备根据所述合法MAC地址信息和合法IP地址生成所述客户端对应的合法ND表项;或
当所述DHCP服务器独立于所述网关设备而单独存在时,所述DHCP服务器将ND表项信息送给网关设备,由网关设备根据所述ND表项信息生成所述客户端对应的合法ND表项;所述ND表项信息包括所述客户端的合法MAC地址信息和合法IP地址。
4.如权利要求1所述的方法,其特征在于,所述设置半静态表项具体为禁止所述网关设备动态学习其它客户端的动态配置请求。
5.如权利要求2所述的方法,其特征在于,所述网关设备将所述合法ND表项设置为半静态表项之后,还包括:
当所述客户端释放所述IP地址时,所述网关设备删除所述合法ND表项。
6.如权利要求4所述的方法,其特征在于,所述网关设备根据预设的周期向所述客户端发送探测报文,当在预设的次数内均没有接收到来自所述客户端的响应报文时,所述客户端异常下线,所述网关设备删除所述合法ND表项。
7.一种防止邻居发现协议报文攻击的装置,应用于至少包括客户端和网关设备的系统中,所述防止邻居发现协议报文攻击的装置为所述网关设备,其特征在于,所述装置包括:
获取模块,用于获取所述客户端对应的合法ND表项;
存储模块,与所述获取模块电性连接,用于存储所述获取模块获取的合法ND表项;
配置模块,与所述存储模块电性连接,用于将所述存储模块存储的合法ND表项设置为半静态表项;
处理模块,与所述获取模块和所述存储模块分别电性连接,用于处理所述合法ND表项,以更新或删除所述合法ND表项;其中,所述处理模块包括:更新子模块,用于当接收到来自其它客户端的动态配置请求时,不根据所述动态配置请求更新所述合法ND表项;当接收到来自所述客户端的静态配置请求时,根据所述静态配置请求更新所述合法ND表项。
8.如权利要求7所述的装置,其特征在于,所述装置应用的系统中还包括DHCP服务器,所述DHCP服务器根据需要配置在所述网关设备上,或独立于所述网关设备而单独存在,所述装置进一步包括收发模块,
用于当所述DHCP服务器配置在所述网关设备上时,接收来自所述客户端的请求报文,所述请求报文中携带所述客户端的合法MAC地址信息;并向所述客户端发送应答报文,所述应答报文中携带为所述客户端分配的合法IP地址信息;或
当所述DHCP服务器独立于所述网关设备而单独存在时,接收来自所述DHCP服务器的ND表项信息,所述ND表项信息中携带所述客户端的合法MAC地址信息和合法IP地址信息。
9.如权利要求8所述的装置,其特征在于,所述获取模块包括:
获取子模块,用于获取所述合法MAC地址信息和合法IP地址信息;
生成子模块,与所述获取子模块电性连接,用于根据所述获取子模块获取的合法MAC地址信息和合法IP地址信息生成所述客户端对应的合法ND表项。
10.如权利要求8所述的装置,其特征在于,所述处理模块还包括:
删除子模块,用于当所述客户端释放所述IP地址时,删除所述合法ND表项。
11.如权利要求10所述的装置,其特征在于,
所述删除子模块还用于:
根据预设的周期向所述客户端发送探测报文,当在预设的次数内均没有接收到来自所述客户端的响应报文时,判定所述客户端异常下线,删除所述合法ND表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910143921A CN101577723B (zh) | 2009-06-03 | 2009-06-03 | 一种防止邻居发现协议报文攻击的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910143921A CN101577723B (zh) | 2009-06-03 | 2009-06-03 | 一种防止邻居发现协议报文攻击的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101577723A CN101577723A (zh) | 2009-11-11 |
CN101577723B true CN101577723B (zh) | 2012-09-26 |
Family
ID=41272510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910143921A Active CN101577723B (zh) | 2009-06-03 | 2009-06-03 | 一种防止邻居发现协议报文攻击的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101577723B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014174B (zh) * | 2010-11-16 | 2014-09-10 | 中兴通讯股份有限公司 | 网络接入方法及网络设备 |
CN102624937B (zh) * | 2011-01-28 | 2015-09-09 | 华为技术有限公司 | Ip地址配置方法、装置及系统 |
CN103297390A (zh) * | 2012-02-27 | 2013-09-11 | 成都谛听科技有限公司 | 服务器反向连接客户端的实现方法 |
CN105577464B (zh) * | 2014-10-17 | 2018-07-06 | 中国电信股份有限公司 | 双栈用户网络检测方法、装置和系统 |
CN107547496B (zh) * | 2017-05-08 | 2020-08-07 | 新华三技术有限公司 | 一种邻居表项的处理方法及装置 |
CN110677439B (zh) * | 2019-11-18 | 2022-03-01 | 杭州迪普科技股份有限公司 | Nd攻击的防护方法和装置 |
CN112333146B (zh) * | 2020-09-21 | 2023-04-18 | 南方电网海南数字电网研究院有限公司 | 变电智能网关arp安全防御方法及变电智能网关 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179554A (zh) * | 2006-11-07 | 2008-05-14 | 华为技术有限公司 | 一种告知移动用户终端自举模式的方法与网络侧 |
CN101222513A (zh) * | 2008-01-28 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种防止重复地址检测攻击的方法及网络设备 |
CN101426002A (zh) * | 2007-10-29 | 2009-05-06 | 华为技术有限公司 | 一种IPv6网络中的移动节点注册方法、系统及装置 |
-
2009
- 2009-06-03 CN CN200910143921A patent/CN101577723B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179554A (zh) * | 2006-11-07 | 2008-05-14 | 华为技术有限公司 | 一种告知移动用户终端自举模式的方法与网络侧 |
CN101426002A (zh) * | 2007-10-29 | 2009-05-06 | 华为技术有限公司 | 一种IPv6网络中的移动节点注册方法、系统及装置 |
CN101222513A (zh) * | 2008-01-28 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种防止重复地址检测攻击的方法及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101577723A (zh) | 2009-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101577723B (zh) | 一种防止邻居发现协议报文攻击的方法及装置 | |
CN101692674B (zh) | 双栈接入的方法和设备 | |
CN102647486B (zh) | 地址分配方法、设备和系统 | |
CN1985470B (zh) | 用于动态主机配置协议框架的配置管理的系统和网络实体 | |
US7962584B2 (en) | Usage of host generating interface identifiers in DHCPv6 | |
CN101635628B (zh) | 一种防止arp攻击的方法及装置 | |
CN101651696B (zh) | 一种防止nd攻击的方法及装置 | |
CN101827138B (zh) | 一种优化的ipv6过滤规则处理方法和设备 | |
US20100313265A1 (en) | Method and Apparatus for Preventing Spoofed Packet Attacks | |
US20040179539A1 (en) | Communication system, gateway equipment, communication method and authentication method | |
CN100583904C (zh) | 一种ipv6网络中主机地址的自动配置方法 | |
US8493910B2 (en) | Prefix delegation support for mobile networks | |
CN1901551A (zh) | 一种支持IPv6的二层接入网中重复地址检测方法及其装置 | |
CN101820432A (zh) | 无状态地址配置的安全控制方法及装置 | |
CN103108019A (zh) | 服务提供系统 | |
CN103384282A (zh) | 一种获取ipv6nd地址的方法及bars | |
CN109089263A (zh) | 一种报文处理方法及装置 | |
CN102238245B (zh) | 一种地址的分配方法和设备 | |
CN102624937A (zh) | Ip地址配置方法、装置及系统 | |
CN103561122A (zh) | IPv6地址配置方法、IPv6客户端及服务器 | |
CN103414641A (zh) | 邻居表项释放方法、装置和网络设备 | |
JP2004364109A (ja) | テンポラリアドレス通信装置、プログラム、記録媒体、および方法 | |
CN102752414B (zh) | 释放IPv6地址的实现方法及设备 | |
CN102523316B (zh) | 一种地址分配方法和设备 | |
CN102594808A (zh) | 一种防止DHCPv6服务器欺骗的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |