DHCP攻击防护方法和客户端设备转让专利

申请号 : CN200910119912.X

文献号 : CN101483515B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张红霞

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种DHCP攻击防护方法和客户端设备。在本发明提供的方法和客户端设备中,客户端能够在不需要服务器端设备配合的情况下防止DHCP攻击,其从内网的每个客户端出发,确保每个内网客户端不会作为攻击源攻击DHCP服务器。同时也可以与管理服务器端配合,对可疑攻击源进行查询及根据相应的安全处理策略对攻击源进行处理,可以对用户提供报警,提醒用户进行杀毒等操作,有效地防止DHCP泛洪攻击和拒绝IP地址攻击。

权利要求 :

1.一种DHCP攻击防护方法,其特征在于,包括:

客户端检测到向网络侧发送的DHCP请求报文时,获取所述DHCP请求报文中携带的客户端MAC地址;

所述客户端判断获取到的所述客户端MAC地址与本设备真实的MAC地址是否一致,若不一致则判断所述DHCP请求报文为DHCP攻击报文,过滤所述DHCP请求报文并报警;所述判断结果为一致时,所述客户端向网络侧发送所述DHCP请求报文。

2.如权利要求1所述的方法,其特征在于,还包括:所述客户端对检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。

3.如权利要求1或2所述的方法,其特征在于,所述DHCP请求报文包括DHCP Discover报文和DHCP Request报文,所述报文中携带的客户端MAC地址位于所述DHCP请求报文的chaddr字段中。

4.一种DHCP攻击防护方法,其特征在于,包括:

客户端检测到向网络侧发送的DHCP拒绝报文时,获取所述DHCP拒绝报文中携带的被拒绝IP地址和DHCP服务器地址;

所述客户端判断所述拒绝IP地址是否在网络中已经被使用;

所述判断结果为未被使用时,所述客户端判断所述DHCP拒绝报文为DHCP攻击报文,向所述DHCP服务器地址发送释放所述被拒绝IP地址的请求并报警。

5.如权利要求4所述的方法,其特征在于,所述客户端判断所述拒绝IP地址是否在网络中已经被使用包括:所述客户端以所述被拒绝IP地址作为目的地址向网络侧发送ARP请求报文;

所述客户端根据网络侧对所述ARP请求报文的响应判断所述拒绝IP地址是否在网络中已经被使用。

6.如权利要求4所述的方法,其特征在于,还包括:所述客户端对检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。

7.如权利要求4至6中任一项所述的方法,其特征在于,所述报文中携带的被拒绝IP地址位于所述DHCP拒绝报文的Request IP Address字段中,所述DHCP服务器地址位于所述DHCP拒绝报文的Server Identifier字段中。

8.一种客户端设备,其特征在于,包括:

MAC地址获取单元,用于检测到向网络侧发送的DHCP请求报文时,获取所述DHCP请求报文中携带的客户端MAC地址;

MAC地址比较单元,用于判断所述MAC地址获取单元获取到的所述客户端MAC地址与本设备真实的MAC地址是否一致;

攻击报文处理单元,用于当所述MAC地址比较单元的判断结果为不一致时,判断所述DHCP请求报文为DHCP攻击报文,过滤所述DHCP请求报文并报警;

报文转发单元,用于当所述MAC地址比较单元的判断结果为一致时,向网络侧发送所述DHCP请求报文。

9.如权利要求8所述的客户端设备,其特征在于,还包括:

攻击报文统计单元,用于对所述攻击报文处理单元检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。

10.一种客户端设备,其特征在于,包括:

地址获取单元,用于检测到向网络侧发送的DHCP拒绝报文时,获取所述DHCP拒绝报文中携带的被拒绝IP地址和DHCP服务器地址;

地址判断单元,用于判断所述地址获取单元获取的被拒绝IP地址是否在网络中已经被使用;

攻击处理单元,用于当所述地址判断单元的判断结果为未被使用时,判断所述DHCP拒绝报文为DHCP攻击报文,向所述DHCP服务器地址发送释放所述被拒绝IP地址的请求并报警。

11.如权利要求10所述的客户端设备,其特征在于,所述地址判断单元包括:ARP请求发送子单元,用于以所述被拒绝IP地址作为目的地址向网络侧发送ARP请求报文;

ARP响应接收子单元,用于接收网络侧对所述ARP请求报文的响应;

判断子单元,用于根据网络侧对所述ARP请求报文的响应判断所述拒绝IP地址是否在网络中已经被使用。

12.如权利要求10所述的客户端设备,其特征在于,还包括:攻击报文统计单元,用于对所述攻击处理单元检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。

说明书 :

DHCP攻击防护方法和客户端设备

技术领域

[0001] 本发明涉及网络技术领域,尤其涉及一种DHCP攻击防护方法和客户端设备。 背景技术
[0002] 当前,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)协议的作用在TCP(Transmission Control Protocol,传输控制协议)/IP(InternetProtocol,因特网协议)网络中向Internet主机提供配置信息。DHCP采用Client/Server(客户端/服务器)模式,由客户端向服务器提出配置申请(包括分配的IP地址、子网掩码、缺省网关等参数),服务器根据策略返回相应配置信息,
[0003] DHCP协议一般采用终端的硬件地址来唯一标识一个终端设备,硬件地址对于以太网即为终端设备的MAC(Medium Access Control,媒体接入控制)地址。DHCP协议是基于UDP(User Datagram Protocol,用户数据报协议)层之上的应用,DHCP Client将采用知名端口号68,DHCP Server采用知名端口号67进行交互。DHCP协议基本上是一个单向驱动协议,DHCP Server完全是被动的,其动作行为基本由DHCP Client的请求行为而触发,即DHCP Server无法主动控制DHCP Client,因此交互性和安全性不是很完善。 [0004] 采用DHCP Server可以自动为用户设置网络IP地址、掩码、网关、DNS(Domain Name System,域名系统)、WINS等网络参数,简化了用户网络设置,提高了管理效率。但在DHCP管理使用上也存在着一些问题,常见的就是DHCP Server常常受到攻击,使得正常用户无法分配到IP地址,甚至威胁到用户的信息安全。
[0005] 以常见的DHCP泛洪攻击为例,攻击者向DHCP Server发出大量带有不同源MAC地址的DHCP请求,直到DHCP Server对应网段的所有可分配IP地址被占用,其既可以造成DOS(Denial Of Service,拒绝服务)的破坏,也 可和DHCP服务器欺诈结合向用户提供错误的IP地址、DNS服务器信息或默认网关信息,以此将流量重指到意图进行流量截取的恶意节点,实现流量的截取。
[0006] 除了常见的DHCP泛洪攻击以外,目前还存在一种新型的IP地址拒绝攻击,其攻击流程如下:攻击者向DHCP Server发送DHCP请求,DHCP Server针对该请求分配一个IP地址;攻击机马上向DHCP Server回复一个DHCPDecline(拒绝)报文消息,声明该IP地址已经被占用;DHCP Server收到此消息后,再分配一个新的IP,攻击机再次回复DHCP Server该IP已经被占用,该流程不断重复直到DHCP Server中IP地址池的IP地址被耗尽,达到对DHCPServer的攻击目的。
[0007] 现在技术中为了防止DHCP泛洪攻击,大多采用通过限制交换机端口的MAC地址的数目、防止CAM(Content Addressable Memory,内容可寻址存储器)表淹没的技术,以防止DHCP泛洪攻击,或者是采用限制单个PVC(Permanent Virtual Circuit,永久虚电路)/VLAN(Virtual Local Area Network,虚拟局域网)上的用户数目的方法。经过限制PVC/VLAN上的接入用户数目,使得攻击者无法获得很多IP地址。
[0008] 现有技术存在的问题在于,该方法是通过交换机来被动防御攻击者对DHCP服务器的泛洪攻击,对于网络中存在的DHCP病毒源无法跟踪发现,并且如果攻击源不停攻击还是会对网络产生一定影响,而无法彻底防止DHCP攻击。对于后一种新型的IP地址拒绝攻击,该方法无法防止DHCP Server被攻击。

发明内容

[0009] 本发明提供一种DHCP攻击防护方法和客户端设备,用于在客户端中实现对DHCP泛洪攻击和IP地址拒绝攻击的防护。
[0010] 为达到上述目的,本发明提供一种DHCP攻击防护方法,包括: [0011] 客户端检测到向网络侧发送的DHCP请求报文时,获取所述DHCP请求报文中携带的客户端MAC地址;
[0012] 所述客户端判断获取到的所述客户端MAC地址与本设备真实的MAC地址是否一致,若不一致则判断所述DHCP请求报文为DHCP攻击报文,过滤所述DHCP请求报文并报警;所述判断结果为一致时,所述客户端向网络侧发送所述DHCP请求报文。 [0013] 其中,还包括:所述客户端对检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。
[0014] 其中,所述DHCP请求报文包括DHCP Discover报文和DHCP Request报文,所述报文中携带的客户端MAC地址位于所述DHCP请求报文的chaddr字段中。
[0015] 本发明还提供一种DHCP攻击防护方法,包括:
[0016] 客户端检测到向网络侧发送的DHCP拒绝报文时,获取所述DHCP拒绝报文中携带的被拒绝IP地址和DHCP服务器地址;
[0017] 所述客户端判断所述拒绝IP地址是否在网络中已经被使用;
[0018] 所述判断结果为未被使用时,所述客户端判断所述DHCP拒绝报文为DHCP攻击报文,向所述DHCP服务器地址发送释放所述被拒绝IP地址的请求并报警。 [0019] 其中,所述客户端判断所述拒绝IP地址是否在网络中已经被使用包括: [0020] 所述客户端以所述被拒绝IP地址作为目的地址向网络侧发送ARP请求报文; [0021] 所述客户端根据网络侧对所述ARP请求报文的响应判断所述拒绝IP地址是否在网络中已经被使用。
[0022] 其中,还包括:所述客户端对检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。
[0023] 其中,所述报文中携带的被拒绝IP地址位于所述DHCP拒绝报文的Request IP Address字段中,所述DHCP服务器地址位于所述DHCP拒绝报文的Server Identifier字段中。
[0024] 本发明还提供一种客户端设备,包括:
[0025] MAC地址获取单元,用于检测到向网络侧发送的DHCP请求报文时,获取所述DHCP请求报文中携带的客户端MAC地址;
[0026] MAC地址比较单元,用于判断所述MAC地址获取单元获取到的所述客户端MAC地址与本设备真实的MAC地址是否一致;
[0027] 攻击报文处理单元,用于当所述MAC地址比较单元的判断结果为不一致时,判断所述DHCP请求报文为DHCP攻击报文,过滤所述DHCP请求报文并报警;
[0028] 报文转发单元,用于当所述MAC地址比较单元的判断结果为一致时,向网络侧发送所述DHCP请求报文。
[0029] 其中,还包括:
[0030] 攻击报文统计单元,用于对所述攻击报文处理单元检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。
[0031] 本发明还提供一种客户端设备包括:
[0032] 地址获取单元,用于检测到向网络侧发送的DHCP拒绝报文时,获取所述DHCP拒绝报文中携带的被拒绝IP地址和DHCP服务器地址;
[0033] 地址判断单元,用于判断所述地址获取单元获取的被拒绝IP地址是否在网络中已经被使用;
[0034] 攻击处理单元,用于当所述地址判断单元的判断结果为未被使用时,判断所述DHCP拒绝报文为DHCP攻击报文,向所述DHCP服务器地址发送释放所述被拒绝IP地址的请求并报警。
[0035] 其中,所述地址判断单元包括:
[0036] ARP请求发送子单元,用于以所述被拒绝IP地址作为目的地址向网络侧发送ARP请求报文;
[0037] ARP响应接收子单元,用于接收网络侧对所述ARP请求报文的响应; [0038] 判断子单元,用于根据网络侧对所述ARP请求报文的响应判断所述拒绝IP地址是否在网络中已经被使用。
[0039] 其中,还包括:
[0040] 攻击报文统计单元,用于对所述攻击处理单元检测到的DHCP攻击报文的数量进行统计,所述DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。 [0041] 与现有技术相比,本发明具有以下优点:
[0042] 客户端能够在不需要服务器端设备配合的情况下防止DHCP攻击,其从内网的每个客户端出发,确保每个内网客户端不会作为攻击源攻击DHCP服务器。同时也可以与管理服务器端配合,对可疑攻击源进行查询及根据相应的安全处理策略对攻击源进行处理,可以对用户提供报警,提醒用户进行杀毒等操作,有效地防止DHCP泛洪攻击和拒绝IP地址攻击。

附图说明

[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1是本发明中涉及的DHCP报文的结构示意图;
[0045] 图2是本发明中DHCP攻击防护方法的流程图;
[0046] 图3是本发明应用场景中对于DHCP泛洪攻击的DHCP攻击防护方法的流程图; [0047] 图4是本发明中另一种DHCP攻击防护方法的流程图;
[0048] 图5是本发明应用场景发明中对于新型IP地址拒绝攻击的DHCP攻击防护方法; [0049] 图6是本发明中客户端的结构示意图;
[0050] 图7是本发明中客户端的另一结构示意图。

具体实施方式

[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 为了对攻击者对DHCP服务器进行攻击的方式作进一步了解,本发明中首先对DHCP报文的格式和关键字段的含义进行介绍。DHCP报文一般封装在UDP协议包中,其格式如图1所示。对于图1所示的DHCP报文中的各字段,现将涉及到DHCP攻击的重要字段进行介绍如下:
[0053] chaddr字段(client hardware address,client硬件地址):用于记录Client的实际硬件地址(通常为MAC地址),DHCP Server一般根据此字段来唯一标识一个Client。 [0054] Options字段:对于DHCP协议而言可变,具体可由Client和Server协商决定,对于DHCP Decline报文存在若干必须携带的选项字段,其中两个对于DHCP攻击很重要的两个选项字段分别为:
[0055] (1)Request IP Address选项:该字段对于DHCP Decline报文为必须携带,填充内容为DHCP Client要拒绝的IP地址;
[0056] (2)Server Identifier选项:该字段对于DHCP Decline报文为必须携带,填充内容为DHCP Server的IP地址。
[0057] 结合上述图1所示的DHCP报文的结构,对现有的DHCP攻击分析如下: [0058] 对于DHCP泛洪攻击,攻击者通常伪造不同的MAC地址,向DHCP Server发送大量具有不同chaddr字段的DHCP请求报文(包括DHCP Discover报文和DHCP Request报文),DHCP Server会为每个chaddr对应的“Client”分配一个IP地址,直到DHCP服务器中对应网段的所有可分配IP地址被全部占用。从而达到对DHCP Server进行攻击的目的。 [0059] 对于新型的IP地址拒绝攻击,攻击者在收到DHCP Server分配的IP地址后马上发送一个DHCP Decline报文,DHCP Server收到攻击者发送的DHCPDecline报文后会将此IP地址放置到不可使用的组,在老化期限(通常为1小时) 到达前不会向客户端分配此IP地址,这样攻击者通过重复发送DHCP Decline报文将在短时间内会耗尽DHCP Server中可分配的IP地址,从而达到对DHCPServer进行攻击的目的。
[0060] 对于DHCP泛洪攻击,本发明提供了一种DHCP攻击防护方法,应用于DHCP客户端上,该方法如图2所示,包括:
[0061] 步骤s201、客户端检测到向网络侧发送的DHCP请求报文时,获取DHCP请求报文中携带的客户端MAC地址。该DHCP请求报文包括DHCP Discover报文和DHCP Request报文,客户端MAC地址位于DHCP请求报文的chaddr字段中。
[0062] 步骤s202、客户端判断获取到的客户端MAC地址与本设备真实的MAC地址是否一致,若不一致则判断该DHCP请求报文为DHCP攻击报文,过滤该DHCP请求报文并报警。 [0063] 另外,上述步骤s202中,若判断结果为一致,则判断该DHCP请求报文不是DHCP攻击报文,客户端向网络侧发送该DHCP请求报文。客户端还可以对检测到的DHCP攻击报文的数量进行统计,当DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器,由管理服务器进行相应的处理。
[0064] 以下结合一个具体的应用场景,描述本发明中对于DHCP泛洪攻击的DHCP攻击防护方法,其由运行在客户端驱动层中的DHCP攻击防护功能实施,如图3所示,该方法包括以下步骤:
[0065] 步骤s301、获取客户端设备的网卡MAC地址并记录。
[0066] 步骤s302、拦截到客户端设备向网络侧发送的DHCP Discover报文或DHCP Request报文。该拦截功能可以通过配置客户端的驱动层实现。
[0067] 步骤s303、解析DHCP Discover报文或DHCP Request报文,将之前记录的网卡MAC地址与解析得到的报文头中的chaddr字段进行比较。
[0068] 步骤s304、判断比较结果是否为一致,一致则进行步骤s305,否则进行步骤s306。 [0069] 步骤s305、比较结果为一致时,判断该DHCP Discover报文或DHCPRequest报文不是DHCP攻击报文,将该DHCP Discover报文或DHCP Request报文向网络侧发送,流程结束。
[0070] 步骤s306、比较结果为不一致时,判断该DHCP Discover报文或DHCPRequest报文可能是攻击者伪造的DHCP攻击报文,进行DHCP攻击报文计数并过滤该DHCP Discover报文或DHCP Request报文。
[0071] 步骤s307、固定间隔时间内,当DHCP攻击报文计数存在时则向用户报警,当伪造报文计数超过预设的阈值时则通知网络侧管理服务器。
[0072] 具体的,伪造报文计数的阈值的设置可以根据测试结果并且根据实际的网络环境进行合理配置。如果服务器不对阈值进行配置的话,客户端可以根据默认阈值进行处理。间隔时间也可以根据需要进行配置,如配置为30秒、1分钟等。客户端对DHCP攻击报文进行统计计数后,当DHCP攻击报文计数小于设置的阈值时,客户端向用户提示告警信息如“计算机可能已经感染病毒,请及时查杀!”;当DHCP攻击报文超过设置的阈值时,会将告警信息上报给网络侧的管理服务器,同时还可以上报包括本机MAC地址和主机名等相关信息,由网络侧的管理服务器进行处理。
[0073] 对于新型的IP地址拒绝攻击,本发明中提供一种DHCP攻击防护方法,应用于DHCP客户端上,该方法如图4所示,包括:
[0074] 步骤s401、客户端检测到向网络侧发送的DHCP拒绝报文时,获取DHCP拒绝报文中携带的被拒绝IP地址和DHCP服务器地址;其中,被拒绝IP地址位于DHCP拒绝报文的Request IP Address字段中,DHCP服务器地址位于DHCP拒绝报文的Server Identifier字段中;
[0075] 步骤s402、客户端判断拒绝IP地址是否在网络中已经被使用; [0076] 具体的,客户端可以以被拒绝IP地址作为目的地址向网络侧发送ARP请求报文;根据网络侧对ARP请求报文的响应判断拒绝IP地址是否在网络中已经被使用。 [0077] 步骤s403、判断结果为未被使用时,客户端判断DHCP拒绝报文为DHCP 攻击报文,向DHCP服务器地址发送释放被拒绝IP地址的请求并报警;判断结果为被使用时,无需进行处理。
[0078] 另外,客户端还可以对检测到的DHCP攻击报文的数量进行统计,当DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。
[0079] 以下结合一个具体的应用场景,描述本发明中对于IP地址拒绝攻击的DHCP攻击防护方法,其由运行在客户端驱动层和应用层中的DHCP攻击防护功能实施,如图5所示,该方法包括以下步骤:
[0080] 步骤s501、客户端启动对DHCP Decline报文的检测。
[0081] 步骤s502、客户端的驱动层检测到DHCP Decline报文时,转发该DHCPDecline报文,并解析该DHCP Decline报文。
[0082] 步骤s503、客户端的驱动层将DHCP Decline报文中“Request IP Address”和“Server Identifier”选项字段的值发送给客户端的应用层,其中“Request IPAddress”选项字段中携带的是被拒绝IP地址,“Server Identifier”选项字段中携带的是DHCP服务器地址。
[0083] 步骤s504、客户端的应用层以被拒绝IP地址(即“Request IP Address”选项字段中填充的IP地址)作为目的IP,向网络侧发送ARP(Address ResolutionProtocol,地址解析协议)请求报文,以查看该被拒绝IP地址是否在网络中被使用。
[0084] 步骤s505、客户端的应用层根据网络侧对ARP请求报文的响应,获取该被拒绝IP地址是否在网络中被使用的结果,在使用则进行步骤s506,否则进行步骤s507。 [0085] 步骤s506、该IP地址在网络中已经被使用,说明该DHCP Decline报文为正常报文,则客户端的应用层和驱动层不作任何处理。
[0086] 步骤s507、如果没有被使用,则该DHCP Decline报文为基于IP地址拒绝攻击的DHCP攻击报文,客户端的应用层将结果通知客户端的驱动层,客户端的驱动层使用“Server Identifier”选项字段的内容作为目的IP地址,“Request IPAddress”选项字段的内容作为请求释放的IP地址,构造并发送DHCP Release (释放)报文到DHCP Server释放该目的IP地址。执行该步骤的原因在于:客户端的驱动层在检测到DHCP Decline报文时需要直接进行转发,不需要等待客户端的应用层的检测结果。因此客户端的应用层检测发现该DHCP Decline报文为攻击报文时,客户端的驱动层需要构造DHCP Release并发送到DHCPServer,以触发DHCP Server将该地址释放,释放后的地址可以立即用于下一次IP地址分配。
[0087] 步骤s508、客户端的驱动层统计DHCP攻击报文的数量,固定时间间隔内,当DHCP攻击报文计数存在时则向用户报警,当DHCP攻击报文计数超过一定阈值时则通知给网络侧服务器。
[0088] 具体的,DHCP攻击报文计数的阈值的设置可以根据测试结果并且根据实际的网络环境进行合理配置,由于实际情况中DHCP Decline报文的发送情况很少,因此对于IP地址拒绝攻击,DHCP攻击报文计数的阈值可以设置的较小。如果服务器不对阈值进行配置的话,客户端可以根据默认阈值进行处理。间隔时间也可以根据需要进行配置,如配置为30秒、1分钟等。客户端对DHCPDecline报文进行统计计数后,当采样间隔内计数小于设置的阈值时,客户端向用户提示告警信息如“计算机可能已经感染病毒,请及时查杀!”;当采样间隔内计数超过设置的阈值时,会将告警信息上报给网络侧管理服务器,同时上报包括本机MAC地址和主机名等相关信息。
[0089] 对于上述图3和图5中的流程,客户端向网络侧管理服务器上报告警信息后,管理服务器可以根据预先配置的对DHCP攻击源的处理策略进行处理如提醒客户端、将客户端隔离、强制客户端下线或者禁用客户端访问网络等。具体的,网络侧管理服务器接收到告警信息后将相应的安全处理策略下发给客户端,客户端根据相应的策略处进行处理,如果是禁用访问网络策略,客户端过滤驱动会过滤本设备发出的所有报文,阻止该病毒的蔓延并且防止攻击源继续对其它DHCP Server的攻击,直到检测到用户发送的DHCP报文正常、变为安全用户为止。同时网络侧管理服务器会将告警信息保存,供管理员查询。管理员通过查询告警信息可以对网络进行有效管理,查询网络中存在的DHCP攻击及正在遭受的攻击,并可定位到局域网内任何一台联网的客户端。 管理员还可以通过查询分析网络中安全的薄弱环节,及时的加强对易受感染区域的保护,将病毒危害降低到最近,真正做到防患于未然。
[0090] 本发明提供的方法中,客户端能够在不需要服务器端设备配合的情况下防止DHCP攻击,其从内网的每个客户端出发,确保每个内网客户端不会作为攻击源攻击DHCP服务器。同时也可以与管理服务器配合,对可疑攻击源进行查询及根据相应的安全处理策略对攻击源进行处理,可以对用户提供报警,提醒用户进行杀毒等操作,使得客户端可以有效地防止DHCP泛洪攻击和拒绝IP地址攻击。
[0091] 本发明还提供一种客户端,具备对DHCP泛洪攻击的防护功能,如图6所示,该客户端包括:
[0092] MAC地址获取单元10,用于检测到向网络侧发送的DHCP请求报文时,获取DHCP请求报文中携带的客户端MAC地址;该DHCP请求报文包括DHCPDiscover报文和DHCP Request报文,报文中携带的客户端MAC地址位于DHCP请求报文的chaddr字段中。 [0093] MAC地址比较单元20,用于判断MAC地址获取单元10获取到的客户端MAC地址与本设备真实的MAC地址是否一致。
[0094] 攻击报文处理单元30,用于当MAC地址比较单元20的判断结果为不一致时,判断DHCP请求报文为DHCP攻击报文,过滤DHCP请求报文并报警。
[0095] 另外,该客户端中还可以包括:
[0096] 报文转发单元40,用于当MAC地址比较单元20的判断结果为一致时,向网络侧发送DHCP请求报文。
[0097] 攻击报文统计单元50,用于对攻击报文处理单元30检测到的DHCP攻击报文的数量进行统计,DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。 [0098] 上述所描述的客户端中的各单元可以位于客户端的驱动层中。 [0099] 本发明还提供一种客户端,具备对拒绝IP地址攻击的防护功能,如图7所示,该客户端包括:
[0100] 地址获取单元60,用于检测到向网络侧发送的DHCP拒绝报文时,获取DHCP拒绝报文中携带的被拒绝IP地址和DHCP服务器地址。该单元可以位于客户端的驱动层中。 [0101] 地址判断单元70,用于判断地址获取单元60获取的被拒绝IP地址是否在网络中已经被使用。该单元可以位于客户端的应用层中。
[0102] 具体的,地址判断单元70可以通过发送ARP请求报文的方式判断被拒绝IP地址是否在网络中已经被使用,此时地址判断单元70可以具体包括:
[0103] ARP请求发送子单元71,用于以被拒绝IP地址作为目的地址向网络侧发送ARP请求报文;
[0104] ARP响应接收子单元72,用于接收网络侧对ARP请求报文的响应; [0105] 判断子单元73,用于根据网络侧对ARP请求报文的响应判断拒绝IP地址是否在网络中已经被使用。
[0106] 攻击处理单元80,用于当地址判断单元的判断结果为未被使用时,判断DHCP拒绝报文为DHCP攻击报文,向DHCP服务器地址发送释放被拒绝IP地址的请求并报警。该单元可以位于客户端的驱动层中。
[0107] 另外,该客户端设备还可以包括:
[0108] 攻击报文统计单元90,用于对攻击处理单元检测到的DHCP攻击报文的数量进行统计,DHCP攻击报文的数量超过预设的阈值时,通知位于网络侧的管理服务器。该单元可以位于客户端的驱动层中。
[0109] 本发明提供的客户端设备中,客户端能够在不需要服务器端设备配合的情况下防止DHCP攻击,其从内网的每个客户端出发,确保每个内网客户端不会作为攻击源攻击DHCP服务器。同时也可以与网络侧管理服务器配合,对可疑攻击源进行查询及根据相应的安全处理策略对攻击源进行处理,可以对用户提供报警,提醒用户进行杀毒等操作,使得客户端可以有效地防止DHCP泛洪攻击和拒绝IP地址攻击。
[0110] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。 [0111] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的单元或流程并不一定是实施本发明所必须的。
[0112] 本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的单元可以合并为一个单元,也可以进一步拆分成多个子单元。 [0113] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。