一种用于防御dns递归攻击的方法、装置及系统的制作方法_4

文档序号:9399267阅读:来源:国知局
采用其他的功能单元来实现域名查询的功會K。
[0101]本实施例中通过设置当并发数小于预设阈值时,对每个随机请求分别进行递归查询的步骤,最大限度地保证用户所产生的合法递归请求能够正确获得查询。由于存在用户所请求查询的部分域名为新建或访问量较少的域名,此类域名所对应的资源记录不存在于本地缓存中,所以其虽然也会被识别为随机请求,但不应被限制。因此通过该步骤可以在阈值范围内保证该类请求允许触发递归查询并返回用户正确的查询结果。从而在未发生递归攻击时,本发明的用于防御DNS递归攻击的方法及其装置不对用户的正常的递归查询请求产生影响,在发生递归攻击时,在阈值限制范围内最大限度保证用户的正常递归查询请求,即误杀率低。
[0102]本发明实施例3的一种用于防御DNS递归攻击的系统,如图8所示,包括客户端侧和本地域名服务器侧;所述本地域名服务器侧可以采用实施例2的装置。
[0103]客户端侧301,用于向本地域名服务器发送域名查询请求;接收由本地域名服务器为所述域名查询请求生成的应答信息;
[0104]本地域名服务器侧302,用于接收客户端侧发送的一并发时刻的所有域名查询请求,分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中,当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求,并判断所述并发数是否大于或等于预设阈值,当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息或生成包含查询失败信息的应答信息,并向客户端侧301发送所述应答信息,或直接丢弃不作应答。
[0105]显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
【主权项】
1.一种用于防御DNS递归攻击的方法,其特征在于,包括以下步骤: 接收一并发时刻的所有域名查询请求; 分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中; 当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求; 判断所述并发数是否大于或等于预设阈值; 当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。2.根据权利要求1所述的方法,其特征在于,还包括以下步骤: 当存在时,分别判断每个所述资源记录中的TTL值是否过期; 当所述资源记录中的TTL值没有过期时,针对域名查询请求生成包含所述域名查询请求相对应的资源记录信息的应答信息。3.根据权利要求2所述的方法,其特征在于,还包括以下步骤: 当所述资源记录中的TTL值过期时,针对域名查询请求进行递归查询; 生成包含所述递归查询所查询到的域名查询请求相对应的资源记录信息的应答信息,并将所述资源记录信息保存在本地缓存中。4.根据权利要求1-3任一所述的方法,其特征在于,还包括以下步骤: 当所述并发数小于预设阈值时,根据所述一并发时刻的每个所述随机请求分别进行递归查询; 针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。5.一种用于防御DNS递归攻击的装置,其特征在于,包括: 接收单元,用于接收一并发时刻的所有域名查询请求; 第一判断单元,用于分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中; 计算单元,用于当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求; 第二判断单元,用于判断所述并发数是否大于或等于预设阈值; 第一应答单元,用于在所述第二判断单元判断所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。6.根据权利要求5所述的装置,其特征在于,还包括: 第三判断单元,用于当存在时,分别判断每个所述资源记录中的TTL值是否过期;第二应答单元,用于在所述第三判断单元判断所述资源记录中的TTL值没有过期时,针对域名查询请求生成包含所述域名查询请求相对应的资源记录信息的应答信息。7.根据权利要求6所述的装置,其特征在于,还包括: 第一递归查询单元,用于在所述第三判断单元判断所述资源记录中的TTL值过期时,针对域名查询请求进行递归查询; 第三应答单元,用于生成包含所述递归查询所查询到的域名查询请求相对应的资源记录信息的应答信息,并将所述资源记录信息保存在本地缓存中。8.根据权利要求5-7任一所述的装置,其特征在于,还包括: 第二递归查询单元,用于在所述第二判断单元判断所述并发数小于预设阈值时,根据所述一并发时刻的每个所述随机请求分别进行递归查询; 第四应答单元,用于针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。9.一种用于防御DNS递归攻击的装置,其特征在于,该装置位于DNS系统的本地域名服务器侧,包括: 接收单元,用于接收一并发时刻的所有域名查询请求; 第一判断单元,用于分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中; 计算单元,用于当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求; 第二判断单元,用于判断所述并发数是否大于或等于预设阈值; 第一应答单元,用于在所述第二判断单元判断所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。10.一种用于防御DNS递归攻击的系统,其特征在于,包括客户端侧和本地域名服务器侧; 客户端侧,用于向本地域名服务器发送域名查询请求;接收由本地域名服务器为所述域名查询请求生成的应答信息; 本地域名服务器侧,用于接收客户端侧发送的一并发时刻的所有域名查询请求,分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中,当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求,并判断所述并发数是否大于或等于预设阈值,当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息或生成包含查询失败信息的应答信息,并向客户端侧发送所述应答信息,或直接丢弃不作应答。
【专利摘要】本发明公开了一种用于防御DNS递归攻击的方法、装置及系统,其中所述方法包括以下步骤:接收一并发时刻的所有域名查询请求;分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;当不存在时,统计所述一并发时刻的随机请求的并发数;判断所述并发数是否大于或等于预设阈值;当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答,从而能够有效地防御DNS递归攻击。
【IPC分类】H04L29/12, H04L29/06
【公开号】CN105119906
【申请号】CN201510432040
【发明人】陈忠国
【申请人】北京泰策科技有限公司
【公开日】2015年12月2日
【申请日】2015年7月21日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1