一种基于DHCP服务器非法报文安全防护的方法及系统转让专利

申请号 : CN201611103124.8

文献号 : CN106657030B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵刚吴琦陈政璋

申请人 : 互联网域名系统北京市工程研究中心有限公司

摘要 :

本发明提供一种基于DHCP服务器非法报文安全防护的方法及系统,属于IP地址分配和管理安全防护技术领域,该方法应用于包括DHCP GUARD和DHCP CORE的DHCP服务器,涉及的方法如下:所述DHCP GUARD接收局域网中的DHCP报文;根据所述DHCP报文的不同类型,选择预设的安全防护机制对所述DHCP报文进行筛选;若所述DHCP报文符合所述预设的安全防护机制,则将所述DHCP报文发送至所述DHCP CORE,若否,则丢弃所述DHCP报文。本发明的技术方案能够提高DHCP服务器的安全性和稳定性,使DHCP服务器更健壮的提供DHCP服务,减少因服务器失效而产生无法提供服务的可能性。

权利要求 :

1.一种基于DHCP服务器非法报文安全防护的方法,其特征在于,该方法应用于包括DHCP GUARD和DHCP CORE的DHCP服务器,涉及的方法如下:所述DHCP GUARD接收局域网中的DHCP报文;

根据所述DHCP报文的不同类型,选择预设的安全防护机制对所述DHCP报文进行筛选;

若所述DHCP报文符合所述预设的安全防护机制,则将所述DHCP报文发送至所述DHCP CORE,若否,则丢弃所述DHCP报文;

当所述DHCP报文的类型是DHCPDISCOVER请求报文时,根据预设的安全防护机制对所述DHCP报文进行筛选包括:判定接收的DHCPDISCOVER请求报文数量大于第一预设阈值;

分析DHCPDISCOVER请求报文中的MAC地址与IP/TCP二层数据帧中的源MAC地址是否一致;

若上述MAC地址一致,则DHCPDISCOVER报文合法,发送至DHCP CORE核心服务进行处理,若否,则丢弃;

当所述DHCP报文的类型是DHCPREQUEST或DHCPINFORM报文时,根据预设的安全防护机制对所述DHCP报文进行筛选包括:判定在IP地址租赁期内收到的所述DHCP报文数量大于第三预设阈值;

根据所述第三预设阈值对所述租赁期内的DHCP报文数量进行限速。

2.根据权利要求1所述的方法,其特征在于,当所述DHCP报文的类型是DHCP协议报文时,根据预设的安全防护机制对所述DHCP报文进行筛选包括:获取RFC2131协议定义的报文数据结构;

根据所述报文数据结构对所述DHCP协议报文进行结构完整性和一致性校验。

3.根据权利要求1所述的方法,其特征在于,当所述DHCP报文的类型是合法DHCPDISCOVER请求报文时,根据预设的安全防护机制对所述DHCP报文进行筛选包括:判定接收的所述合法DHCPDISCOVER报文数量大于第二预设阈值;

根据所述第二预设阈值对所述合法DHCPDISCOVER报文数量进行限速。

4.一种基于DHCP服务器非法报文安全防护的系统,其特征在于,包括DHCP GUARD模块和DHPC COER模块,还包括:接收模块,用于所述DHCP GUARD接收局域网中的DHCP报文;

安全防护模块,用于根据所述DHCP报文的不同类型,选择预设的安全防护机制对所述DHCP报文进行筛选;

处理模块,用于若所述DHCP报文符合所述预设的安全防护机制,则将所述DHCP报文发送至所述DHCP CORE,若否,则丢弃所述DHCP报文;

当所述DHCP报文的类型是DHCPDISCOVER请求报文时,所述安全防护模块用于:判定接收的DHCPDISCOVER请求报文数量大于第一预设阈值;

分析DHCPDISCOVER请求报文中的MAC地址与IP/TCP二层数据帧中的源MAC地址是否一致;

若上述MAC地址一致,则DHCPDISCOVER报文合法,发送至DHCP CORE核心服务进行处理,若否,则丢弃;

当所述DHCP报文的类型是DHCPREQUEST或DHCPINFORM报文时,所述安全防护模块还用于:判定在IP地址租赁期内收到的所述DHCP报文数量大于第三预设阈值;

根据所述第三预设阈值对所述租赁期内的DHCP报文数量进行限速。

5.根据权利要求4所述的系统,其特征在于,当所述DHCP报文的类型是DHCP协议报文时,所述安全防护模块还用于:获取RFC2131协议定义的报文数据结构;

根据所述报文数据结构对所述DHCP协议报文进行结构完整性和一致性校验。

6.根据权利要求4所述的系统,其特征在于,当所述DHCP报文的类型是合法DHCPDISCOVER请求报文时,所述安全防护模块还用于:判定接收的所述合法DHCPDISCOVER报文数量大于第二预设阈值;

根据所述第二预设阈值对所述合法DHCPDISCOVER报文数量进行限速。

说明书 :

一种基于DHCP服务器非法报文安全防护的方法及系统

技术领域

[0001] 本发明属于计算机IP地址分配和管理安全防护技术领域,具体涉及一种基于DHCP服务器非法报文安全防护的方法及系统。

背景技术

[0002] Dynamic Host Configuration Protocol,简称DHCP,是用UDP协议工作的局域网网络协议。随着无线移动设备的大量接入,DHCP服务器的稳定性、安全性变的更加严峻。
[0003] DHCP服务器会大量的收到不符合RFC2131协议的残缺数据报文;恶意攻击的非法DHCPDISCOVER报文;不确定因素导致的合法的DHCPDISCOVER报文;客户端发送的DHCPREQUEST、DHCPINFORM查询报文。上述各种报文如果出现非正常的报文,则会对DHCP服务的安全性造成巨大的威胁。

发明内容

[0004] 为解决上述DHCP安全性问题,本发明提供一种基于DHCP服务器非法报文安全防护的方法及系统,其可以实现对局域网中非法报文的及时筛选和处理。
[0005] 本发明提供一种基于DHCP服务器非法报文安全防护的方法,其特征在于,该方法应用于包括DHCP GUARD和DHCP CORE的DHCP服务器,涉及的方法如下:
[0006] 所述DHCP GUARD接收局域网中的DHCP报文;
[0007] 根据所述DHCP报文的不同类型,选择预设的安全防护机制对所述DHCP报文进行筛选;
[0008] 若所述DHCP报文符合所述预设的安全防护机制,则将所述DHCP报文发送至所述DHCP CORE,若否,则丢弃所述DHCP报文。
[0009] 优选地,当所述DHCP报文的类型是DHCP协议报文时,
[0010] 获取RFC2131协议定义的报文数据结构;
[0011] 根据所述报文数据结构对所述DHCP协议报文进行结构完整性和一致性校验。
[0012] 优选地,当所述DHCP报文的类型是DHCPDISCOVER请求报文时,
[0013] 判定接收的所述DHCP报文数量大于第一预设阈值;
[0014] 分析所述DHCP报文中的MAC地址与IP/TCP二层数据帧中的源MAC地址,得到所述DHCP报文是否非法。
[0015] 优选地,当所述DHCP报文的类型是合法DHCPDISCOVER请求报文时,[0016] 判定接收的所述合法DHCPDISCOVER报文数量大于第二预设阈值;
[0017] 根据所述第二预设阈值对所述合法DHCPDISCOVER报文数量进行限速。
[0018] 优选地,当所述DHCP报文的类型是DHCPREQUEST或DHCPINFORM报文时,[0019] 判定在IP地址租赁期内收到的所述DHCP报文数量大于第三预设阈值;
[0020] 根据所述第三预设阈值对所述租赁期内的DHCP报文数量进行限速。
[0021] 本发明提供一种基于DHCP服务器非法报文安全防护的系统,其特征在于,包括DHCP GUARD模块和DHPC COER模块,还包括:
[0022] 接收模块,用于所述DHCP GUARD接收局域网中的DHCP报文;
[0023] 安全防护模块,用于根据所述DHCP报文的不同类型,选择预设的安全防护机制对所述DHCP报文进行筛选;
[0024] 处理模块,用于若所述DHCP报文符合所述预设的安全防护机制,则将所述DHCP报文发送至所述DHCP CORE,若否,则丢弃所述DHCP报文。
[0025] 优选地,当所述DHCP报文的类型是DHCP协议报文时,所述安全防护模块还用于:
[0026] 获取RFC2131协议定义的报文数据结构;
[0027] 根据所述报文数据结构对所述DHCP协议报文进行结构完整性和一致性校验。
[0028] 优选地,当所述DHCP报文的类型是DHCPDISCOVER请求报文时,所述安全防护模块还用于:
[0029] 判定接收的所述DHCP报文数量大于第一预设阈值;
[0030] 分析所述DHCP报文中的MAC地址与IP/TCP二层数据帧中的源MAC地址,得到所述DHCP报文是否非法。
[0031] 优选地,当所述DHCP报文的类型是合法DHCPDISCOVER请求报文时,所述安全防护模块还用于:
[0032] 判定接收的所述合法DHCPDISCOVER报文数量大于第二预设阈值;
[0033] 根据所述第二预设阈值对所述合法DHCPDISCOVER报文数量进行限速。
[0034] 优选地,当所述DHCP报文的类型是DHCPREQUEST或DHCPINFORM报文时,所述安全防护模块还用于:
[0035] 判定在IP地址租赁期内收到的所述DHCP报文数量大于第三预设阈值;
[0036] 根据所述第三预设阈值对所述租赁期内的DHCP报文数量进行限速。
[0037] 本发明提供的一种基于DHCP服务器非法报文安全防护的方法及系统,与现有技术相比,通过对不同的非法报文有针对性的进行安全防护,将不符合安全防护机制的报文丢弃,可以提高DHCP服务器的安全性、稳定性,从而能够提供更健壮的DHCP服务。

附图说明

[0038] 图1为本发明DHCP服务器的结构示意图;
[0039] 图2为本发明DHCP报文数据的流程图;
[0040] 图3为本发明一优选实施例的方法流程示意图;
[0041] 图4为本发明另一优选实施例的方法流程示意图;
[0042] 图5为本发明另一优选实施例的方法流程示意图;
[0043] 图6为本发明另一优选实施例的方法流程示意图;
[0044] 图7为本发明另一优选实施例的方法流程示意图;
[0045] 图8为本发明另一优选实施例的系统结构示意图。

具体实施方式

[0046] 为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
[0047] 参照图1所示,本发明中的DHCP服务器在模块划分上包括DHCP GUARD(DHCP防御)和DHCP CORE(DHCP核心)两个部分,两个部分相互依存提供DHCP服务。
[0048] 其中,DHCP GUARD监听67端口,对各种接收的DHCP报文进行筛选、拆包检查,检查通过后发送给DHCP CORE进行报文处理。
[0049] DHCP CORE监听3076端口,只提供核心DHCP服务,分配IP地址,下发网络配置。DHCP CORE监听端口也可以设置为其他不被占用的服务端口,其使用的是内部监听端口,可以进行自由设定。
[0050] 参照图2所示,DHCP报文进入DHCP GUARD后进行非法与合法的判断,若DHCP报文合法,则发送至DHCP CORE进行处理,若DHCP报文非法,则将该DHCP报文丢弃。
[0051] 参照图3所示,在本发明一优选的实施例中提供了一种基于DHCP服务器非法报文安全防护的方法,该方法应用于包括DHCPGUARD和DHCP CORE的DHCP服务器,涉及的方法如下:
[0052] S310、DHCP GUARD接收局域网中的DHCP报文。
[0053] 其中,DHCP报文包括各种类型的报文,如DHCP残缺报文、DHCPDISCOVER非法请求报文、DHCP协议报文、DHCPREQUEST报文和DHCPINFORM报文等。
[0054] 合法的DHCP报文是保证DHCP服务器提供给客户端正常的DHCP服务的必要因素。非法的DHCP报文对DHCP服务的安全性造成很大的威胁。
[0055] S320、根据DHCP报文的不同类型,选择预设的安全防护机制对DHCP报文进行筛选。
[0056] 针对不同的DHCP报文类型,会有不同的安全防护机制来对其进行检查和筛选。
[0057] S330、若DHCP报文符合预设的安全防护机制,则将DHCP报文发送至DHCP CORE,若否,则丢弃DHCP报文。
[0058] 若DHCP报文符合相应的安全防护机制,则将合法的DHCP报文发送至DHCP CORE进行处理,DHCP CORE对DHCP报文进行响应回复,提供基础核心的DHCP功能。
[0059] 若DHCP报文不符合相应的安全防护机制,则丢弃该DHCP报文。
[0060] 本发明实施例提供的一种基于DHCP服务器非法报文安全防护的方法,通过对非法的DHCP报文进行检查和筛选,可以增加DHCP服务器的安全性和稳定性,进一步提高DHCP服务器的健壮性。
[0061] 参照图4所示,在本发明的另一优选实施例中,提供了一种基于DHCP服务器非法报文安全防护的方法,包括DHCP GUARD和DHCP CORE,涉及如下步骤:
[0062] S410、DHCP GUARD接收局域网中的DHCP协议报文。
[0063] 该DHCP协议报文需要在数据结构格式和内容上符合RFC2131协议的定义,因此可能是正常的数据报文,也可能是残缺的数据报文。
[0064] S420、获取RFC2131协议定义的报文数据结构。
[0065] RFC2131协议中定义的报文数据结构校验DHCP协议报文总格式和内容的依据。
[0066] S430、根据报文数据结构对DHCP协议报文进行结构完整性和一致性校验。
[0067] 需要注意的是,校验的对象是源报文的副本,不对原报文进行附加信息的重新封装。
[0068] S440、若DHCP协议报文符合协议定义,则发送至DHCPCORE进行处理,若否,则丢弃该DHCP协议报文。
[0069] 若DHCP协议报文的数据结构符合RFC2131协议的定义,则该报文的数据结构具有完整性和一致性,可以将其发送至DHCPCORE进行响应处理。
[0070] 若DHCP协议报文的数据结构不满足完整性或者一致性的协议定义,则丢弃该DHCP协议报文。
[0071] 本发明实施例提供的一种基于DHCP服务器非法报文安全防护的方法,通过检查DHCP协议报文的是否符合RFC2131协议的数据结构的定义,可以将合法的报文发送至DHCP CORE响应处理,进一步提高DHCP服务器的健壮性。
[0072] 参照图5所示,在本发明的另一优选实施例中,提供了一种基于DHCP服务器非法报文安全防护的方法,包括DHCP GUARD和DHCP CORE,涉及的步骤如下:
[0073] S510、DHCP GUARD接收局域网中的DHCPDISCOVER请求报文。
[0074] 其中,DHCPDISCOVER请求报文是用于获取IP地址的报文。
[0075] DHCP GUARD在短时间内接收到大量DHCPDISCOVER请求报文来请求分配IP地址时,会触发DHCP GUARD的安全防护机制。
[0076] S520、判定接收的DHCPDISCOVER请求报文数量大于第一预设阈值。
[0077] 具体地,第一预设阈值为每秒接收到大于1000个DHCPDISCOVER请求报文。
[0078] S530、分析DHCPDISCOVER请求报文中的MAC地址与IP/TCP二层数据帧中的源MAC地址是否一致。
[0079] 当触发DHCP服务器判断DHCPDISCOVER报文是否为非法攻击报文时,DHCP GUARD需要对该报文进行深度的拆包检查,进一步分析DHCP协议封装的数据报文和UDP数据报文。具体地,判断DHCP协议封装的MAC地址与IP/TCP二层数据帧中的源MAC地址是否一致。
[0080] S540、若上述MAC地址一致,则DHCPDISCOVER报文合法,发送至DHCP CORE核心服务进行处理,若否,则丢弃。
[0081] 若DHCP协议封装的MAC地址与IP/TCP二层数据帧中的源MAC地址是一致的,则表明该DHCP报文不是非法攻击报文,转而发送至DHCP COER进行核心服务的处理。若不一致,则判定该DHCP报文是非法的,将其丢弃。
[0082] 本发明实施例提供的一种基于DHCP服务器非法报文安全防护的方法,通过对大量DHCPDISCOVER请求报文拆包检测,进一步判断是否是非法攻击报文,从而进一步提高DHCP服务器的健壮性。
[0083] 参照图6所示,在本发明另一优选的实施例中,提供了一种基于DHCP服务器非法报文安全防护的方法,包括DHCP GUARD和DHCP CORE,涉及的步骤如下:
[0084] S610、DHCP GUARD接收局域网中的合法DHCPDISCOVER请求报文。
[0085] 其中,DHCPDISCOVER报文用于获取IP地址的分配,合法的DHCPDISCOVER报文是客户端正常发起的用于获取DHCP服务的请求报文。
[0086] S620、判定接收的合法DHCPDISCOVER报文数量大于第二预设阈值。
[0087] 由于DHCP服务器的处理容量有限,如果在短时间内接收到大量的DHCPDISCOVER报文,不管是合法还是非法的,首先会对DHCP服务器造成巨大的负荷,影响正常的服务器性能,其次还可能造成处理数据的紊乱。
[0088] 基于上述情况,需要监听接收的合法DHCPDISCOVER报文的数量。其中,第二预设阈值指的是每秒1500个DHCPDISCOVER报文。
[0089] S630、根据第二预设阈值对合法DHCPDISCOVER报文数量进行限速。
[0090] 根据S620中的第二预设阈值对合法DHCPDISCOVER报文数量进行限速。当合法DHCPDISCOVER报文数量超过每秒1500个时,只接收1500个范围内的;当不超过每秒1500个时,则不进行限速。
[0091] S640、第二预设阈值内的DHCPDISCOVER报文发送至DHCPCORE进行处理,超过第二预设阈值的DHCPDISCOVER报文丢弃。
[0092] 对限速所得的DHCPDISCOVER报文按照正常的处理流程发送至DHCP COER核心服务,对于其他部分则丢弃,不进行处理。
[0093] 本发明实施例提供了一种基于DHCP服务器非法报文安全防护的方法,通过对合法DHCPDISCOVER报文进行限速,可以保证DHCP服务器的稳定性和数据处理的有序性,同时可以有效的避免DHCP地址耗尽,进一步保障DHCP核心服务提供稳定的DHCP服务。
[0094] 参照图7所示,在本发明另一优选的实施例中,提供了一种基于DHCP服务器非法报文安全防护的方法,包括DHCP GUARD和DHCP CORE,涉及的步骤如下:
[0095] S710、DHCP GUARD接收局域网中的DHCPREQUEST报文或DHCPINFORM报文。
[0096] 其中,主机发送DHCPREQUEST数据包,服务器请求分配已提供的IP地址的配置参数。
[0097] DHCP客户端可向DHCP服务器发送DHCPINFORM报文请求已有IP地址的配置参数。
[0098] S720、判定在IP地址租赁期内收到的DHCP报文数量大于第三预设阈值。
[0099] DHCP服务器只能将IP地址分配给DHCP客户端一定时间,在该租赁周期后,DHCP客户端必须对该IP地址进行更新。
[0100] 其中,租赁期指的是在租赁周期中活跃状态的那一部分,具体时间可以设定为1/2租赁周期至7/8租赁周期内。
[0101] 其中,第三预设阈值指的是每秒2000个报文。
[0102] 判定在该租赁期内收到上述DHCP报文数量是否大于第三预设阈值。
[0103] S730、根据第三预设阈值对租赁期内的DHCP报文数量进行限速。
[0104] DHCP服务器根据第三预设阈值的设置,对超过第三预设阈值数量的DHCP进行限速。如果没有超过第三预设阈值,则无须进行限速。
[0105] S740、第三预设阈值内的DHCP报文发送至DHCP CORE进行处理,超过第三预设阈值的DHCP报文丢弃。
[0106] DHCP服务器将限速所得的2000个DHCP报文发送至DHCPCORE进行处理,多余的部分则丢弃。
[0107] 本发明实施例提供了一种基于DHCP服务器非法报文安全防护的系统,通过对大量的DHCPREQUEST或DHCPINFORM在租赁期内进行限速,可以保障DHCP核心服务提供稳定的DHCP服务。
[0108] 参照图8所示,在本发明另一优选的实施例中,提供了一种基于DHCP服务器非法报文安全防护的系统,包括DHCP GUARD模块和DHPC COER模块,还包括:
[0109] 接收模块810,用于DHCP GUARD接收局域网中的DHCP报文;
[0110] 安全防护模块820,用于根据DHCP报文的不同类型,选择预设的安全防护机制对DHCP报文进行筛选;
[0111] 处理模块830,用于若DHCP报文符合预设的安全防护机制,则将DHCP报文发送至DHCP CORE,若否,则丢弃DHCP报文。
[0112] 可选的,当DHCP报文的类型是DHCP协议报文时,安全防护模块820还用于:
[0113] 获取RFC2131协议定义的报文数据结构;
[0114] 根据报文数据结构对DHCP协议报文进行结构完整性和一致性校验。
[0115] 可选的,当DHCP报文的类型是DHCPDISCOVER请求报文时,安全防护模块820还用于:
[0116] 判定接收的DHCP报文数量大于第一预设阈值;
[0117] 分析DHCP报文中的MAC地址与IP/TCP二层数据帧中的源MAC地址,得到DHCP报文是否非法。
[0118] 可选的,当DHCP报文的类型是合法DHCPDISCOVER请求报文时,安全防护模块820还用于:
[0119] 判定接收的合法DHCPDISCOVER报文数量大于第二预设阈值;
[0120] 根据第二预设阈值对合法DHCPDISCOVER报文数量进行限速。
[0121] 可选的,当DHCP报文的类型是DHCPREQUEST或DHCPINFORM报文时,安全防护模块820还用于:
[0122] 判定在IP地址租赁期内收到的DHCP报文数量大于第三预设阈值;
[0123] 根据第三预设阈值对租赁期内的DHCP报文数量进行限速。
[0124] 本发明实施例提供了一种基于DHCP服务器非法报文安全防护的系统,通过安全防护模块820对非法报文的防护,可以使得DHCP服务器更健壮的提供DHCP服务,减少因为服务器失效而产生无法提供服务的可能性。
[0125] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。