一种防止伪造释放报文进行攻击的方法和设备的制作方法

文档序号:7864140阅读:231来源:国知局
专利名称:一种防止伪造释放报文进行攻击的方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及了一种防止伪造释放报文进行攻击的方法和设备。
背景技术
DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)用于动态地址的分配过程,如图I所示,为DHCP动态地址申请以及释放过程的流程示意图,该过程具体包括
(I)发现阶段,即DHCP客户端(client)寻找DHCP服务器(server)的阶段;其中,DHCP客户端以广播方式发送DISCOVER (发现)报文。(2)提供阶段,即DHCP服务器提供IP地址的阶段;其中,DHCP服务器接收到·DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其它参数一起通过OFFER (提供)报文发送给DHCP客户端。(3)选择阶段,即DHCP客户端选择IP地址的阶段;其中,如果有多台DHCP服务器向DHCP客户端发送OFFER报文,则只接受第一个收到的OFFER报文,然后以广播方式发送REQUEST (请求)报文,该REQUEST报文中包含DHCP服务器在OFFER报文中分配的IP地址。(4)确认阶段,即DHCP服务器确认IP地址的阶段;其中,DHCP服务器收到REQUEST报文后,只有DHCP客户端选择的DHCP服务器会进行如下操作如果确认将地址分配给该DHCP客户端,则返回ACK (确认)报文;否则返回NAK (否认)报文,表明地址不能分配给该DHCP客户端。(5)释放阶段,DHCP客户端给DHCP服务器发送RELEASE (释放)报文,释放其分配的地址。在上述处理过程中,由于DHCP报文使用UDP (User Datagram Protocol,用户数据报协议)报文,且在DHCP报文中没有密码等安全机制,从而导致存在以下问题(I)虚假DHCP服务器的问题;(2)伪造DHCP客户端报文进行攻击的问题,例如,攻击者通过伪造RELEASE报文,从而导致地址实际被占用,但是DHCP服务器地址池中标记该地址为空闲地址。为了解决上述问题,可以采用DHCP snooping (探测)方式,如图2所示,为DHCPsnooping的组网示意图,通过在DHCP Snooping设备上指定trust (信任)端口来解决虚假DHCP服务器的问题;并通过DHCP snooping设备上记录的DHCP Snooping表项来解决伪造DHCP客户端报文进行攻击的问题。具体的,DHCP snooping设备在接收到来自DHCP客户端的报文时,检查本地是否存在与该报文相匹配的DHCP Snooping表项;若存在对应表项,则当该报文中信息与DHCPSnooping表项中信息一致时,认为该报文为合法DHCP客户端的报文;否则,认为该报文为伪造的DHCP客户端报文。但是,DHCP Snooping方式并不能完全防止DHCP客户端伪造报文攻击的问题;如图3所不,为WLAN (Wireless Local Area Networks,无线局域网)环境下的DHCP网络不意图,当报文在空中传播时,任何人都能窃听到报文,因此导致L2 switch (二层交换机)或者API (Access Point,接入点)/AP2上应用DHCP Snooping时,都不能有效防止DHCP客户端伪造报文攻击。

发明内容
本发明实施例提供一种防止伪造释放报文进行攻击的方法和设备,以有效防止DHCP客户端伪造报文进行攻击问题,提高网络的安全性。为了达到上述目的,本发明实施例提供一种防止伪造释放报文进行攻击的方法,应用于包括接入点AP设备、动态主机配置协议DHCP客户端和DHCP服务器的网络中,所述AP设备上维护有关联信息表,且所述关联信息表用于记录DHCP客户端对应的介质访问控制MAC地址和IP地址,该方法包括
所述AP设备在收到Release报文之后,通过所述Release报文的源MAC地址查询所述 关联信息表中记录的MAC地址;
如果所述关联信息表中没有所述源MAC地址对应的记录,则所述AP设备确定所述Release报文为伪造报文,并丢弃所述Release报文;
如果所述关联信息表中有所述源MAC地址对应的记录,则所述AP设备判断所述源MAC地址对应的记录在指定时间后是否被删除;
如果所述源MAC地址对应的记录被删除,则所述AP设备将所述Release报文转发给所述DHCP服务器;
如果所述源MAC地址对应的记录没有被删除,则所述AP设备发送地址解析协议ARP请求报文,并根据所述ARP请求报文的响应情况确定将所述Release报文转发给所述DHCP服务器或者丢弃所述Release报文。所述AP设备维护所述关联信息表的过程,具体包括
在DHCP客户端与所述AP设备建立关联的过程中,所述AP设备获得所述DHCP客户端对应的MAC地址;以及,在DHCP客户端通过所述AP设备在所述DHCP服务器上申请IP地址的过程中,所述AP设备获得所述DHCP客户端对应的IP地址;以及,所述AP设备在所述关联信息表中记录所述DHCP客户端对应的MAC地址和IP地址。所述ARP请求报文的目的MAC地址为所述Rel ease报文的源MAC地址,所述ARP请求报文的目的IP地址为所述Release报文的客户端IP地址ciaddr字段中指定的IP地址;
所述AP设备根据所述ARP请求报文的响应情况确定将所述Release报文转发给所述DHCP服务器或者丢弃所述Release报文,具体包括
如果所述AP设备没有收到所述ARP请求报文对应的确认ACK控制帧报文,则所述AP设备将所述Release报文转发给所述DHCP服务器;
如果所述AP设备收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息相匹配,则所述AP设备确定所述Release报文为伪造报文,并丢弃所述Release报文;
如果所述AP设备没有收到所述ARP请求报文对应的ARP应答报文;或者,收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配,则所述AP设备将所述Release报文转发给所述DHCP服务器。所述AP设备在没有收到所述ARP请求报文对应的ARP应答报文,或者,收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配时,所述AP设备将所述Release报文转发给所述DHCP服务器的过程,进一步包括
所述AP设备判断当前发送所述ARP请求报文的次数是否达到预设数值,如果未达到预设数值,所述AP设备拒绝将所述Release报文转发给所述DHCP服务器,并周期性发送所述ARP请求报文;如果达到预设数值,且每次收到的ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息均不匹配,或没有收到所述ARP请求报文对应的ARP应答 报文时,则所述AP设备将所述Release报文转发给所述DHCP服务器。所述方法进一步包括如果所述AP设备发现DHCP客户端去关联,则所述AP设备构造所述DHCP客户端对应的Release报文,并将所述Release报文发送给所述DHCP服务器,以及删除所述关联信息表中所述DHCP客户端对应的记录。本发明实施例提供一种接入点AP设备,应用于包括所述AP设备、动态主机配置协议DHCP客户端和DHCP服务器的网络中,所述AP设备包括
维护模块,用于维护关联信息表,且所述关联信息表用于记录DHCP客户端对应的介质访问控制MAC地址和IP地址;
查询模块,用于在收到释放Release报文之后,通过所述Release报文的源MAC地址查询所述关联信息表中记录的MAC地址;
丢弃模块,用于当所述关联信息表中没有所述源MAC地址对应的记录时,确定所述Release报文为伪造报文,并丢弃所述Release报文;
判断模块,用于当所述关联信息表中有所述源MAC地址对应的记录时,判断所述源MAC地址对应的记录在指定时间后是否被删除;
处理模块,用于当所述源MAC地址对应的记录被删除时,将所述Release报文转发给所述DHCP服务器;当所述源MAC地址对应的记录没有被删除时,发送地址解析协议ARP请求报文,并根据所述ARP请求报文的响应情况确定将所述Release报文转发给所述DHCP服务器或者丢弃所述Release报文。所述维护模块,具体用于在DHCP客户端与所述AP设备建立关联的过程中,获得所述DHCP客户端对应的MAC地址;以及,在DHCP客户端通过所述AP设备在所述DHCP服务器上申请IP地址的过程中,获得所述DHCP客户端对应的IP地址;以及,在所述关联信息表中记录所述DHCP客户端对应的MAC地址和IP地址。所述ARP请求报文的目的MAC地址为所述Rel ease报文的源MAC地址,所述ARP请求报文的目的IP地址为所述Release报文的客户端IP地址ciaddr字段中指定的IP地址;
所述处理模块,具体用于如果没有收到所述ARP请求报文对应的确认ACK控制帧报文,将所述Release报文转发给所述DHCP服务器;如果收到所述ARP请求报文对应的ARP应答报文,所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息相匹配,确定所述Release报文为伪造报文,并丢弃所述Release报文;如果没有收到所述ARP请求报文对应的ARP应答报文,或者,收到所述ARP请求报文对应的ARP应答报文,所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配,将所述Release报文转发给所述DHCP服务器。所述处理模块,进一步用于在没有收到所述ARP请求报文对应的ARP应答报文,或者,收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配时,判断当前发送ARP请求报文的次数是否达到预设数值,如果未达到预设数值,拒绝将所述Release报文转发给所述DHCP服务器,周期性发送所述ARP请求报文;如果达到预设数值,且每次收到的ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息均不匹配,或没有收到所述ARP请求报文对应的ARP应答报文时,则将所述Release报文转发给所述DHCP服务器。 所述处理模块,还用于如果发现DHCP客户端去关联,则构造所述DHCP客户端对应的Release报文,并将所述Release报文发送给所述DHCP服务器,以及删除所述关联信息 表中所述DHCP客户端对应的记录。与现有技术相比,本发明实施例至少具有以下优点本发明实施例中,在WLAN网络中,AP设备能够准确获知DHCP客户端伪造的Release报文,并确保伪造的Release报文不被转发到DHCP服务器,从而有效防止DHCP客户端伪造报文进行攻击的问题,提高网络的
安全性。


图I是现有技术中DHCP动态地址申请以及释放过程的流程示意 图2是现有技术中DHCP snooping的组网示意 图3是现有技术中WLAN环境下的DHCP网络示意 图4是本发明实施例提出的一种防止伪造释放报文进行攻击的方法流程 图5是本发明实施例提出的一种AP设备的结构示意图。
具体实施例方式下面结合附图对本发明实施例进行详细描述。针对现有技术中存在的问题,本发明实施例提出一种防止伪造释放报文进行攻击的方法,该方法可以应用于包括AP设备、DHCP客户端和DHCP服务器的网络(如WLAN网络)中,以在WLAN网络环境下解决伪造DHCP客户端Release报文进行攻击的问题,确保伪造的Release报文不被转发到DHCP服务器上。本发明实施例中,需要在AP设备上维护关联信息表,且该关联信息表具体用于记录DHCP客户端对应的MAC (Media Access Control,介质访问控制)地址以及IP地址之间的对应关系。具体的,由于DHCP客户端在上线的过程中,为了使用无线服务,需要与一个AP设备建立关联,且每个DHCP客户端只能与一个AP设备建立关联,继而在与AP设备建立关联之后才能通过该AP设备收发数据,因此在DHCP客户端与AP设备建立关联的过程中,AP设备可以获得DHCP客户端对应的MAC地址。此外,DHCP客户端在上线的过程中,还需要从DHCP服务器上申请IP地址,因此在DHCP客户端通过AP设备在DHCP服务器上申请IP地址的过程中,AP设备可以获得DHCP客户端对应的IP地址。综上所述,AP设备可以在建立关联过程中获得DHCP客户端对应的MAC地址,并在关联信息表中记录DHCP客户端对应的MAC地址;以及,在申请IP地址过程中获得DHCP客户端对应的IP地址,并在关联信息表中记录DHCP客户端对应的IP地址;从而在关联信息表中记录DHCP客户端对应的MAC地址和IP地址之间的对应关系。需要注意的是,DHCP客户端从DHCP服务器上申请IP地址的过程,可以为DHCP客户端在初始上线时,在与AP设备建立关联之后,所进行的从DHCP服务器上申请IP地址的过程;也可以为DHCP客户端释放自身的IP地址之后,所进行的从DHCP服务器上申请IP地址的过程。基于AP设备上维护的关联信息表,如图4所示,该防止伪造释放报文进行攻击的方法可以包括以下步骤
步骤401,AP设备在收到Release报文之后,通过该Release报文的源MAC地址查询关联信息表中记录的MAC地址;如果关联信息表中没有该源MAC地址对应的记录,则执行步骤402 ;如果关联信息表中有该源MAC地址对应的记录,则执行步骤403。本发明实施例中,AP设备在收到Release报文之后,不是立即将该Release报文转发给DHCP服务器,而是需要先判断该Release报文是否为伪造报文(即伪造DHCP客户端所发送的Release报文),如果确定该Release报文不是伪造报文,则AP设备将该Release报文转发给DHCP服务器;如果确定该Release报文是伪造报文,则AP设备直接丢弃该Release 报文。如表I所示,为一种关联信息表的示例情况,当Release报文的源MAC地址为MACl时,则说明关联信息表中有该源MAC地址对应的记录,执行步骤403 ;当Release报文的源MAC地址为MAC3时,则说明关联信息表中没有该源MAC地址对应的记录,执行步骤402。表I
权利要求
1.一种防止伪造释放报文进行攻击的方法,应用于包括接入点AP设备、动态主机配置协议DHCP客户端和DHCP服务器的网络中,其特征在于,所述AP设备上维护有关联信息表,且所述关联信息表用于记录DHCP客户端对应的介质访问控制MAC地址和IP地址,该方法包括以下步骤 所述AP设备在收到释放Release报文之后,通过所述Release报文的源MAC地址查询所述关联信息表中记录的MAC地址; 如果所述关联信息表中没有所述源MAC地址对应的记录,则所述AP设备确定所述Release报文为伪造报文,并丢弃所述Release报文; 如果所述关联信息表中有所述源MAC地址对应的记录,则所述AP设备判断所述源MAC地址对应的记录在指定时间后是否被删除; 如果所述源MAC地址对应的记录被删除,则所述AP设备将所述Release报文转发给所述DHCP服务器; 如果所述源MAC地址对应的记录没有被删除,则所述AP设备发送地址解析协议ARP请求报文,并根据所述ARP请求报文的响应情况确定将所述Release报文转发给所述DHCP服务器或者丢弃所述Release报文。
2.如权利要求I所述的方法,其特征在于,所述AP设备维护所述关联信息表的过程,具体包括 在DHCP客户端与所述AP设备建立关联的过程中,所述AP设备获得所述DHCP客户端对应的MAC地址;以及,在DHCP客户端通过所述AP设备在所述DHCP服务器上申请IP地址的过程中,所述AP设备获得所述DHCP客户端对应的IP地址;以及,所述AP设备在所述关联信息表中记录所述DHCP客户端对应的MAC地址和IP地址。
3.如权利要求I所述的方法,其特征在于,所述ARP请求报文的目的MAC地址为所述Release报文的源MAC地址,所述ARP请求报文的目的IP地址为所述Release报文的客户端IP地址ciaddr字段中指定的IP地址; 所述AP设备根据所述ARP请求报文的响应情况确定将所述Release报文转发给所述DHCP服务器或者丢弃所述Release报文,具体包括 如果所述AP设备没有收到所述ARP请求报文对应的确认ACK控制帧报文,则所述AP设备将所述Release报文转发给所述DHCP服务器; 如果所述AP设备收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息相匹配,则所述AP设备确定所述Release报文为伪造报文,并丢弃所述Release报文; 如果所述AP设备没有收到所述ARP请求报文对应的ARP应答报文;或者,收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配,则所述AP设备将所述Release报文转发给所述DHCP服务器。
4.如权利要求3所述的方法,其特征在于,所述AP设备在没有收到所述ARP请求报文对应的ARP应答报文,或者,收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配时,所述AP设备将所述Release报文转发给所述DHCP服务器的过程,进一步包括所述AP设备判断当前发送所述ARP请求报文的次数是否达到预设数值,如果未达到预设数值,所述AP设备拒绝将所述Release报文转发给所述DHCP服务器,并周期性发送所述ARP请求报文;如果达到预设数值,且每次收到的ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息均不匹配,或没有收到所述ARP请求报文对应的ARP应答报文时,则所述AP设备将所述Release报文转发给所述DHCP服务器。
5.如权利要求I所述的方法,其特征在于,所述方法进一步包括 如果所述AP设备发现DHCP客户端去关联,则所述AP设备构造所述DHCP客户端对应的Release报文,并将所述Release报文发送给所述DHCP服务器,以及删除所述关联信息表中所述DHCP客户端对应的记录。
6.一种接入点AP设备,应用于包括所述AP设备、动态主机配置协议DHCP客户端和DHCP服务器的网络中,其特征在于,所述AP设备包括 维护模块,用于维护关联信息表,且所述关联信息表用于记录DHCP客户端对应的介质访问控制MAC地址和IP地址; 查询模块,用于在收到释放Release报文之后,通过所述Release报文的源MAC地址查询所述关联信息表中记录的MAC地址; 丢弃模块,用于当所述关联信息表中没有所述源MAC地址对应的记录时,确定所述Release报文为伪造报文,并丢弃所述Release报文; 判断模块,用于当所述关联信息表中有所述源MAC地址对应的记录时,判断所述源MAC地址对应的记录在指定时间后是否被删除; 处理模块,用于当所述源MAC地址对应的记录被删除时,将所述Release报文转发给所述DHCP服务器;当所述源MAC地址对应的记录没有被删除时,发送地址解析协议ARP请求报文,并根据所述ARP请求报文的响应情况确定将所述Release报文转发给所述DHCP服务器或者丢弃所述Release报文。
7.如权利要求6所述的AP设备,其特征在于, 所述维护模块,具体用于在DHCP客户端与所述AP设备建立关联的过程中,获得所述DHCP客户端对应的MAC地址;以及,在DHCP客户端通过所述AP设备在所述DHCP服务器上申请IP地址的过程中,获得所述DHCP客户端对应的IP地址;以及,在所述关联信息表中记录所述DHCP客户端对应的MAC地址和IP地址。
8.如权利要求6所述的AP设备,其特征在于,所述ARP请求报文的目的MAC地址为所述Release报文的源MAC地址,所述ARP请求报文的目的IP地址为所述Release报文的客户端IP地址ciaddr字段中指定的IP地址; 所述处理模块,具体用于如果没有收到所述ARP请求报文对应的确认ACK控制帧报文,将所述Release报文转发给所述DHCP服务器;如果收到所述ARP请求报文对应的ARP应答报文,所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息相匹配,确定所述Release报文为伪造报文,并丢弃所述Release报文;如果没有收到所述ARP请求报文对应的ARP应答报文,或者,收到所述ARP请求报文对应的ARP应答报文,所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配,将所述Release报文转发给所述DHCP服务器。
9.如权利要求8所述的AP设备,其特征在于,所述处理模块,进一步用于在没有收到所述ARP请求报文对应的ARP应答报文,或者,收到所述ARP请求报文对应的ARP应答报文,且所述ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息不匹配时,判断当前发送ARP请求报文的次数是否达到预设数值,如果未达到预设数值,拒绝将所述Release报文转发给所述DHCP服务器,周期性发送所述ARP请求报文;如果达到预设数值,且每次收到的ARP应答报文中携带的源地址信息与所述Release报文中携带的源地址信息均不匹配,或没有收到所述ARP请求报文对应的ARP应答报文时,则将所述Release报文转发给所述DHCP服务器。
10.如权利要求6所述的AP设备,其特征在于, 所述处理模块,还用于如果发现DHCP客户端去关联,则构造所述DHCP客户端对应的Release报文,并将所述Release报文发送给所述DHCP服务器,以及删除所述关联信息表中所述DHCP客户端对应的记录。
全文摘要
本发明公开了一种防止伪造释放报文进行攻击的方法和设备,该方法包括AP设备在收到Release报文之后,通过所述Release报文的源MAC地址查询关联信息表中记录的MAC地址;如果所述关联信息表中没有所述源MAC地址对应的记录,则所述AP设备丢弃所述Release报文;如果所述关联信息表中有所述源MAC地址对应的记录,则所述AP设备判断所述源MAC地址对应的记录是否被删除;如果所述源MAC地址对应的记录被删除,则所述AP设备将所述Release报文转发给DHCP服务器。本发明中,可以提高网络的安全性。
文档编号H04L29/06GK102946385SQ20121042359
公开日2013年2月27日 申请日期2012年10月30日 优先权日2012年10月30日
发明者雷鸣春 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1