自动防御DNS解析请求DDoS攻击的方法及装置的制造方法

文档序号:9551459阅读:588来源:国知局
自动防御DNS解析请求DDoS攻击的方法及装置的制造方法
【技术领域】
[0001]本发明涉及域名查询技术,尤其涉及一种自动防御DNS解析请求DDoS攻击的方法及装置。
【背景技术】
[0002]互联网领域中,不同的客户端会向服务器发起域名查询请求以获得域名查询信息,相应地,服务器对于不同客户端会进行域名查询请求的查询时间及查询次数的控制。
[0003]现有技术中,服务器在对域名查询请求进行查询时间及查询次数的控制时,通常会针对一定的范围(例如一个区,其中,一个区包含一类域名),分配一个固定的时间窗口以及固定的查询次数,在该时间窗口内,属于该范围内的客户端向服务器发起的域名查询请求的次数不能超出服务器所允许的固定次数。
[0004]但是,使用现有技术进行查询请求控制时,是针对一定范围分配固定的域名查询时间和次数,如果有恶意攻击者处于该范围内,就可以利用服务器分配的固定时间及次数对服务器进行域名(Domain Name System,简称DNS)解析请求分布式拒绝服务(Distributed Denial of Service,简称 DDoS)攻击。

【发明内容】

[0005]本发明提供一种自动防御DNS解析请求DDoS攻击的方法及装置,用于解决现有技术中分配固定的域名查询时间和次数而导致服务器被DDoS攻击的问题。
[0006]本发明第一方面提供一种自动防御DNS解析请求DDoS攻击的方法,包括:
[0007]统计历史发送过查询请求的客户端数量;
[0008]根据所述历史发送过查询请求的客户端数量、每个客户端在预设时间段内的允许查询次数以及单次查询时间,获取所述预设时间段的时长;
[0009]获取当前实际发送查询请求的客户端所使用的查询时间段;
[0010]根据所述查询时间段的时长调整所述预设时间段的时长,获取调整后的预设时间段。
[0011]结合第一方面,在第一方面的第一种可能的实施方式中,所述根据所述历史发送过查询请求的客户端数量、每个客户端在预设时间段内的允许查询次数以及单次查询时间,获取所述预设时间段的时长,包括:
[0012]根据公式T = t’ *Nu+t’ *(wl+w2+…+wn),获取所述预设时间段的时长T ;
[0013]其中,t’为单次查询时间,Nu为预设时间段内的允许查询次数为1的所述历史发送过查询请求的客户端的数量,wl、w2、…、wn为预设时间段内的允许查询次数非1的客户端所分别允许的查询次数,其中,所述预设时间段内的允许查询次数为1的客户端数量与所述预设时间段内的允许查询次数非1的客户端数量之和为所述历史发送过查询请求的客户端数量。
[0014]结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述获取当前实际发送查询请求的客户端所使用的查询时间段,包括:
[0015]采用公式T’ = t’ *Nc+t’ *(ν1+ν2+...+νηι),获取所述当前实际发送查询请求的客户端所使用的查询时间段的时长Τ’ ;
[0016]其中,t’为单次查询时间,Nc为查询时间段内的允许查询次数为1的所述当前实际发送查询请求的客户端的数量,vl、v2、…、vm为查询时间段内的允许查询次数非1的客户端所分别允许的查询次数,其中,查询时间段内的允许查询次数为1的客户端数量与查询时间段内的允许查询次数非1的客户端数量之和为所述当前实际发送查询请求的客户端的数量。
[0017]结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述根据所述查询时间段的时长调整所述预设时间段的时长,获取调整后的预设时间段,包括:
[0018]若所述查询时间段的时长T’大于所述预设时间段的时长T,则将所述查询时间段的时长T’作为所述调整后的预设时间段的时长T。
[0019]结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,所述根据所述查询时间段的时长调整所述预设时间段的时长,获取调整后的预设时间段,包括:
[0020]若所述查询时间段的时长T’小于所述预设时间段的时长T,则计算预设数量个所述查询时间段的时长T’的平均值;
[0021]根据所述预设数量个所述查询时间段的时长T’的平均值、以及所述预设数量个所述查询时间段的时长T’中每个T’对应的预设权重,获取调整后的预设时间段。
[0022]结合第一方面的第一种或第二种可能的实施方式,在第一方面的第五种可能的实施方式中,所述方法还包括:
[0023]根据服务器的每秒查询能力以及服务器时间冗余值获取所述单次查询时间。
[0024]本发明第二方面提供一种自动防御DNS解析请求DDoS攻击的装置,包括:
[0025]统计模块,用于统计历史发送过查询请求的客户端数量;
[0026]第一获取模块,用于根据所述历史发送过查询请求的客户端数量、每个客户端在预设时间段内的允许查询次数以及单次查询时间,获取所述预设时间段的时长;
[0027]第二获取模块,用于获取当前实际发送查询请求的客户端所使用的查询时间段;
[0028]第三获取模块,用于根据所述查询时间段的时长调整所述预设时间段的时长,获取调整后的预设时间段。
[0029]结合第二方面,在第二方面的第一种可能的实施方式中,所述第一获取模块,具体用于根据公式T = t’ *Nu+t’ *(wl+w2+…+wn),获取所述预设时间段的时长Τ ;
[0030]其中,t’为单次查询时间,Nu为预设时间段内的允许查询次数为1的所述历史发送过查询请求的客户端的数量,wl、w2、…、wn为预设时间段内的允许查询次数非1的客户端所分别允许的查询次数,其中,所述预设时间段内的允许查询次数为1的客户端数量与所述预设时间段内的允许查询次数非1的客户端数量之和为所述历史发送过查询请求的客户端数量。
[0031]结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述第二获取模块,具体用于采用公式T’ = t’ *Nc+t’ *(vl+v2+…+vm),获取当前实际发送查询请求的客户端所使用的查询时间段的时长T’ ;
[0032]其中,t’为单次查询时间,Nc为查询时间段内的允许查询次数为1的所述当前实际发送查询请求的客户端的数量,vl、v2、…、vm为查询时间段内的允许查询次数非1的客户端所分别允许的查询次数,其中,查询时间段内的允许查询次数为1的客户端数量与查询时间段内的允许查询次数非1的客户端数量之和为所述当前实际发送查询请求的客户端的数量。
[0033]结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述第三获取模块,具体用于若所述查询时间段的时长T’大于所述预设时间段的时长T,则将所述查询时间段的时长T’作为所述调整后的预设时间段的时长T。
[0034]本发明所提供的自动防御DNS解析请求DDoS攻击的方法中,服务器根据历史发送过查询请求的客户端数量、每个客户端在预设时间段内的允许查询次数以及单次查询时间来设定一个预设时间段,在该预设时间段内每个客户端的查询次数不能超过服务器所允许的查询次数。同时,服务器获取实际发送查询请求的客户端所使用的查询时间段,并根据该查询时间段的时长来调整预设时间段的时长,使得在查询请求较多时,每个客户端所等待的时间变长,从而实现根据实时环境动态改变查询速度。由于服务器根据实时环境对查询进行了限速,即不再为某个区分配固定的查询时间和次数,使得攻击者不能再利用服务器所分配的查询时间和次数对服务器进行攻击。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明提供的自动防御DNS解析请求DDoS攻击的方法实施例一的流程示意图;
[0037]图2为本发明提供的自动防御DNS解析请求DDoS攻击的方法实施例二的流程示意图;
[0038]图3为本发明提供的自动防御DNS解析请求DDoS攻击的装置实施例一的结构示意图;
[0039]图4为本发明提供的自动防御DNS解析请求DDoS攻击的装置实施例二的结构示意图;
[0040]图5为本发明提供的自动防御DNS解析请求DDoS攻击的装置实施例三的结构示意图。
【具体实施方式】
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1