一种dhcp防攻击方法及装置的制作方法

文档序号:7857210阅读:289来源:国知局
专利名称:一种dhcp防攻击方法及装置的制作方法
技术领域
本发明 涉及网络安全技术,尤其涉及一种DHCP防攻击方法及装置。
背景技术
IP网络是目前也是未来相当长一段时间内最为流行的网络组织方式。IP网络中的所有设备如果要同其它设备通信,就必须有唯一的身份,即IP地址。目前给设备配置IP地址的方法有PPP协议的自协商方式、用户自己配置、管理员统一分配配置方式,但是这些配置方式存在着共同缺陷,即需要管理员针对每个设备进行配置。当网络规模较大及拓扑结构复杂或者网络拓扑结构动态变化频繁时,或者许多终端设备需要更多的启动配置信息时,管理员的配置工作将力不从心,于是新的终端设备配置方式应运而生,即DHCP(DynamicHost Configuration Protocol)动态主机配置协议。该协议采用CS模式(客户端-服务器模式),DHCP服务器集中管理IP地址等网络配置信息,DHCP客户端从DHCP服务器请求各自配置信息,从而实现网络设备的自动配置。然而如果网络中存在非法DHCP服务器,其可能会提供虚假配置信息,由于DHCP客户端没有采取任何安全措施,很可能绑定到错误的配置信息,导致设备不能正常访问网络;甚至可能引发泄密等风险。

发明内容
有鉴于此,本发明提供一种DHCP防攻击装置,应用于作为DHCP客户端的网络设备上,该装置包括信息缓存单元以及比较分析单元,其中信息缓存单元,用于保存DHCP客户端接收到的DHCP Offer报文和/或DHCP ACK报文携带的信息,其中该信息至少包括报文的源IP地址以及服务器标识;比较分析单元,用于比较同一个报文的源IP地址与服务器标识是否一致,如果不一致则确定该报文是攻击者发送的。本发明还提供一种DHCP防攻击方法,应用于作为DHCP客户端的网络设备上,该方法包括以下步骤A、保存DHCP客户端接收到的DHCP Offer报文和/或DHCP ACK报文携带的信息,其中该信息至少包括报文的源IP地址以及服务器标识;B、比较同一个报文的源IP地址与服务器标识是否一致,如果不一致则确定该报文是攻击者发送的。本发明充分利用DHCP交互过程的特点来防范DHCP攻击,通过各种手段大幅度降低了 DHCP客户端被攻击的可能性。即便攻击者的DHCP ACK报文被DHCP客户端所接受,本发明仍然有一种或多种的辅助手段来帮助用户识别出攻击行为。


图I是一个典型的DHCP的交互过程示意图。
图2是本发明一种实施方式中DHCP防攻击装置的逻辑结构图。
具体实施例方式请参考图1,一般情况下,需要进行配置的网络设备可以通过与DHCP服务器进行两次报文交互实现自身配置。本发明所说的网络设备并非狭义的交换机及路由器等设备,而是涵盖一切网络中所有需要获取IP地址以及相关网络配置的节点。在与DHCP服务器交互的过程中,首先作为DHCP客户端的网络设备向网络中发送广播的DHCP Discover报文,携带DHCP客户端关心的配置信息列表,DHCP服务器根据DHCP客户端请求的配置信息列表,在DHCP Offer报文填充自身管理的IP地址资源及其它配置信息,以广播(多数情况)或者单播(少数情况)的方式回送给DHCP客户端。由于网络中可能存在多个DHCP服务器,因此DHCP客户端可能会收到多个DHCPOffer报文。DHCP客户端可以从中选取某个DHCP服务器发送DHCP Offer报文(通常是第一个到达的DHCP Offer报文)。接下来DHCP客户端构建DHCP Request报文,指定服务器 标识(一般是DHCP服务器的IP地址),向网络中广播此报文,这样网络中多个DHCP服务器都可能会受到只有匹配上服务器标识的DHCP服务器才会回应一个DHCP ACK报文(报文内容基本等同于DHCP Offer报文),DHCP客户端以此报文内容绑定配置信息,完成自身配置。本发明利用DHCP交互过程的特点来协助网络设备检测出DHCP攻击。请参考图2,以计算机程序实现为例,本发明一种实施方式中的DHCP防攻击装置包括信息缓存单元以及分析比较单元;该装置运行于作为DHCP客户端的网络设备上,且在客户端一次DHCP过程中执行如下步骤步骤101,信息缓存单元在DHCP客户端收到DHCP Offer报文时将该DHCPOffer报文携带的各种信息进行缓存,缓存的信息至少包括Option字段中的服务器标识(ServerID)以及该DHCP Offer报文的源IP地址;步骤102,信息缓存单元在DHCP客户端收到DHCP ACK报文时将该DHCP ACK报文携带的各种信息进行缓存,缓存的信息至少包括Option字段中的服务器标识(ServerID)以及该DHCP ACK报文的源IP地址;在DHCP交互过程中,DHCP Offer报文以及DHCP ACK报文是由DHCP服务器发送的,本发明需要将这两个报文的相关信息保存下来(甚至可以整个报文都保存下来)进行后续的分析。通常情况下,除了报文源IP地址以及Option字段(通常为0ption54)的ServerID,还可以保存报文的源MAC地址、DHCP ACK报文携带的DNS服务器地址、DHCP ACK报文携带的网关IP地址等。步骤103,比较分析单元比较DHCP Offer报文中携带的服务器标识与DHCP Offer报文的源IP地址,如果两者不一致则确定网络中存在DHCP攻击,并将该DHCP Offer报文的源IP地址作为攻击源报告给用户;步骤104,比较分析单元比较DHCP ACK报文中的服务器标识与DHCPACK报文的源IP地址,如果两者不一致则确定网络中存在DHCP攻击,并将该DHCP ACK报文的源IP地址作为攻击源报告给用户;DHCP攻击者可能会采用构造DHCP Offer或DHCP ACK报文的方式,攻击者可能会大量发送其构造的DHCP Offer或DHCP ACK报文,很多时候其构造的报文载荷部分都是一样的,尤其是ServerID可能是随意填写的与攻击者的源IP地址并不一致。因此本发明可以通过比较DHCP Offer报文或DHCP ACK报文中源IP地址与ServerID的一致性来判断该报文是否为攻击者发送,如果不一致则可以确定为攻击者发送的DHCP Offer报文或DHCPACK报文。步骤105,在DHCP Offer报文中的服务器标识与DHCP Offer报文的源IP地址相同且DHCP ACK报文中的服务器标识与DHCP ACK报文的源IP地址相同时,比较分析单元进一步比较DHCP ACK报文与接受的DHCP Offer报文携带的服务器标识和/或源MAC地址是否一致,如果任意一个不一致则确定该DHCP ACK报文是攻击者发送的,并将比较结果报告
给用户。步骤106,比较分析单元向DHCP ACK报文携带的网关IP地址发送ARP请求报文,如果预定时间内没有收到相应的ARP应答,则确定该DHCP ACK报文是攻击者发送的;步骤107,比较分析单元向DHCP ACK报文中携带的DNS服务器IP地址发送针对预 定域名的解析请求,如果在预定时间内没有收到解析结果或者收到的解析结果与预先保存的该预定域名的解析结果不一致,则确定该DHCP ACK报文是攻击者发送的。步骤108,比较分析单元进一步判断DHCP ACK报文中分配给DHCP客户端的IP地址与该DHCP ACK报文的源IP地址是否在同一网段,如果是且网络中存在DHCP中继时确定该DHCP ACK报文是攻击者发送的;如果否且网络中不存在DHCP中继时确定该DHCP ACK报文是攻击者发送的。高明的攻击者可能会在构造报文的过程中确保报文的源IP地址与Server ID保持一致,以期望骗过防攻击机制。本发明对此有进一步的防范措施,攻击者的特点往往是大量构造相同或者相近的报文以企图插入到正常的DHCP交互过程中来。假设攻击者发送的DHCP ACK报文先于合法DHCP服务器到达DHCP客户端,那么DHCP客户端可能被欺骗。考虑到这种情形,本发明可以进一步做验证。如前所述,DHCP客户端可能会接收到多个DHCPOffer报文,但通常只有一个(一般是第一个到达的)DHCP Offer报文会被DHCP客户端接受,而本次DHCP过程中后续到来的DHCP ACK报文通常也是发送这个被接受的DHCP Offer报文的DHCP服务器发出的,也就是说DHCPACK报文以及DHCP Offer报文是同一个DHCP服务器发出的。由于信息缓存单元缓存了被接受的DHCP Offer报文的ServerID以及源MAC地址,此时可以将DHCP ACK报文的ServerID和/或源MAC地址拿出来与DHCP Offer报文的做对比。假设同时对比ServerID以及源MAC地址,如果ServerID或源MAC地址有任何一个不相同,说明DHCP Offer报文与DHCP ACK报文是不同的DHCP服务器发出的,不符合正常的DHCP交互流程,因此可以判定存在网络攻击。值得注意的是,由于攻击者并不知道到底哪个DHCP Offer报文会被DHCP客户端所接受,因为哪个DHCP服务器发送的DHCP Offer报文会第一个到达DHCP客户端是无法预计的,其受制于DHCP服务器负荷以及中间网络状况等多种未知因素,因此即便攻击者知晓所有DHCP服务器的IP地址,也无法进行有针对性的攻击来规避上述比较DHCP Offer报文与DHCP ACK报文的机制。进一步来说,考虑到DHCP服务器的数量是有限的,攻击者虽然难度大大加大,且效果大打折扣,但理论上仍然有少数攻击行为会成功的可能性。为了进一步规避攻击成功所带来的危害,本发明的分析比较单元进一步向DHCP ACK报文中的网关IP地址发起ARP请求,看看是否能够正常收到ARP应答,也就是说确定一下对方的MAC地址是不是像正常的节点那样是一个可达的MAC地址。由于攻击者构造的网关IP地址通常是虚构的,不会有完整的协议栈(否则将大量消耗攻击者的资源),因此不会对ARP请求进行应答。因此针对DHCPACK报文携带的网关IP地址进行ARP验证,可以进一步规避攻击者成功的可能性。基于同样的构思,本发明的分析比较单元,还可以根据向DHCP ACK报文中携带的DNS服务器IP地址发起DNS解析进行DNS服务器有效性的验证。网络设备上可以预先配置一个域名的解析结果,比如一个公共域名(如WWW. gov. cn)的解析结果,然后想这个预定的域名发起解析,如果解析结果不正确(即与预先保存的解析结果不同),则可以确定DNS服务器无效,相应地可以确定DHCP ACK报文是攻击者发送的。此外,如果DHCP服务器相对于DHCP客户端来说工作在另一个广播域中,此时需要DHCP中继中转DHCP Discover报文。因此采取比较报文源IP同分配给用户的IP地址是否在同一网段可以用来识别攻击报文。如果网络中存在中继,则上述两个IP地址不能在同一网段,否则必须为同一网段。这种识别攻击的手段通常应用在客户端所在广播域中不存在多台可做网关设备的三层设备的组网环境中。 本发明充分利用DHCP交互过程的特点来防范DHCP攻击,通过各种手段大幅度降低了 DHCP客户端被攻击的可能性。即便攻击者的DHCP ACK报文被DHCP客户端所接受,本发明仍然有一种或多种的辅助手段来帮助用户识别出攻击行为。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.ー种DHCP防攻击装置,应用于作为DHCP客户端的网络设备上,该装置包括信息缓存单元以及比较分析単元,其特征在于 信息缓存单元,用于保存DHCP客户端接收到的DHCP Offer报文和/或DHCP ACK报文携帯的信息,其中该信息至少包括报文的源IP地址以及服务器标识; 比较分析単元,用于比较同一个报文的源IP地址与服务器标识是否一致,如果不一致则确定该报文是攻击者发送的。
2.如权利要求I所述的装置,其特征在于,所述比较分析単元,进ー步用于比较被DHCP客户端接受的DHCP Offer报文与本次DHCP过程中收到的DHCP ACK报文的服务器标识是否一致;如果不一致则确定该DHCP ACK报文是攻击者发送的;和/或 进ー步用于比较被DHCP客户端接受的DHCP Offer报文与DHCP ACK报文的源MAC地址是否一致,如果不一致则确定该DHCP ACK报文是攻击者发送的。
3.如权利要求I所述的装置,其特征在于,所述比较分析单元进一步用于向DHCPACK报文中携帯的网关IP地址发送ARP请求,如果在预定的时间内没有收到相应的ARP应答,则确定该DHCP ACK报文是攻击者发送的。
4.如权利要求I所述的装置,其特征在于,所述比较分析单元进一步用于向DHCPACK报文中携帯的DNS服务器IP地址发送针对预定域名的域名解析请求,如果在预定时间内没有收到解析结果或者收到的解析结果与预先保存的该预定域名的解析结果不一致,则确定该DHCP ACK报文是攻击者发送的。
5.如权利要求I所述的装置,其特征在于,所述比较分析单元进一步用于判断DHCPACK报文中分配给DHCP客户端的IP地址与该DHCP ACK报文的源IP地址是否在同一网段,如果是且网络中存在DHCP中继时确定该DHCP ACK报文是攻击者发送的;如果否且网络中不存在DHCP中继时确定该DHCP ACK报文是攻击者发送的。
6.ー种DHCP防攻击方法,应用于作为DHCP客户端的网络设备上,其特征在于,该方法包括以下步骤 A、保存DHCP客户端接收到的DHCPOffer报文和/或DHCP ACK报文携带的信息,其中该信息至少包括报文的源IP地址以及服务器标识; B、比较同一个报文的源IP地址与服务器标识是否一致,如果不一致则确定该报文是攻击者发送的。
7.如权利要求6所述的方法,其特征在于,所述步骤B进ー步包括比较被DHCP客户端接受的DHCP Offer报文与本次DHCP过程中收到的DHCPACK报文的服务器标识是否一致;如果不一致则确定该DHCP ACK报文是攻击者发送的;和/或 进ー步用于比较被DHCP客户端接受的DHCP Offer报文与DHCP ACK报文的源MAC地址是否一致,如果不一致则确定该DHCP ACK报文是攻击者发送的。
8.如权利要求6所述的方法,其特征在于,所述步骤B进ー步包括向DHCPACK报文中携帯的网关IP地址发送ARP请求,如果在预定的时间内没有收到相应的ARP应答,则确定该DHCP ACK报文是攻击者发送的。
9.如权利要求6所述的方法,其特征在于,所述步骤B进ー步包括向DHCPACK报文中携帯的DNS服务器IP地址发送针对预定域名的域名解析请求,如果在预定时间内没有收到解析结果或者收到的解析结果与预先保存的该预定域名的解析结果不一致,则确定该DHCPACK报文是攻击者发送的。
10.如权利要求6所述的方法,其特征在于,所述步骤B进ー步包括判断DHCP ACK报文中分配给DHCP客户端的IP地址与该DHCP ACK报文的源IP地址是否在同一网段,如果是且网络中存在DHCP中继时确定该DHCP ACK报文是攻击者发送的;如果否且网络中不存在DHCP中继时确定该DHCP ACK报文是攻击者发送的。
全文摘要
本发明提供一种DHCP防攻击方法,应用于作为DHCP客户端的网络设备上,该方法包括A、保存DHCP客户端接收到的DHCP Offer报文和/或DHCP ACK报文携带的信息,其中该信息至少包括报文的源IP地址以及服务器标识;B、比较同一个报文的源IP地址与服务器标识是否一致,如果不一致则确定该报文是攻击者发送的。本发明充分利用DHCP交互过程的特点来防范DHCP攻击,通过各种手段大幅度降低了DHCP客户端被攻击的可能性。
文档编号H04L29/12GK102801716SQ20121027195
公开日2012年11月28日 申请日期2012年8月1日 优先权日2012年8月1日
发明者余刚 申请人:杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1