CN105119906A - 一种用于防御dns递归攻击的方法、装置及系统 - Google Patents

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

Info

Publication number
CN105119906A
CN105119906A CN201510432040.8A CN201510432040A CN105119906A CN 105119906 A CN105119906 A CN 105119906A CN 201510432040 A CN201510432040 A CN 201510432040A CN 105119906 A CN105119906 A CN 105119906A
Authority
CN
China
Prior art keywords
domain name
request
concurrent
inquiry
resource record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510432040.8A
Other languages
English (en)
Inventor
陈忠国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Testor Technology Co Ltd
Original Assignee
Beijing Testor Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Testor Technology Co Ltd filed Critical Beijing Testor Technology Co Ltd
Priority to CN201510432040.8A priority Critical patent/CN105119906A/zh
Publication of CN105119906A publication Critical patent/CN105119906A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于防御DNS递归攻击的方法、装置及系统,其中所述方法包括以下步骤:接收一并发时刻的所有域名查询请求;分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;当不存在时,统计所述一并发时刻的随机请求的并发数;判断所述并发数是否大于或等于预设阈值;当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答,从而能够有效地防御DNS递归攻击。

Description

一种用于防御DNS递归攻击的方法、装置及系统
技术领域
本发明涉及网络安全领域,具体地说涉及一种用于防御DNS递归攻击的方法、装置及系统。
背景技术
DNS(DomainNameSystem)即域名系统,是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通常DNS的查询过程为:以客户端查询www.sina.com.cn的域名为例,客户端先将域名查询请求发送至本地域名服务器,若本地域名服务器的本地缓存中存在针对www.sina.com.cn的域名查询请求相对应的资源记录,则将该资源记录直接返回给客户端;若本地域名服务器的本地缓存中没有针对www.sina.com.cn的域名查询请求相对应的资源记录,则本地域名服务器需要从根服务器开始向各级授权服务器发起递归查询。该递归查询的过程如图1所示,首先需要访问根服务器,根服务器告知本地域名服务器它授权出去的管理cn区的授权服务器的地址,本地域名服务器继续向cn区查询,以此类推,直至找到sina.com.cn的授权服务器,得到www.sina.com.cn的地址,并返回给客户端,这样就完成了一个完整的递归查询过程。
现如今DNS的重要性使其自然地成为黑客攻击的重要目标之一。例如UDPFlood攻击是最容易发起海量流量的攻击手段,通过伪造随机源IP使得攻击者难以被追查,但对这种攻击方式的过滤比较容易,因为大多数IP并不提供UDP服务,直接丢弃UDP流量即可。所以现在纯粹的UDP流量攻击比较少见,取而代之的是以UDP协议承载的DNS递归攻击。
所谓DNS递归攻击,有时也被称为NXDomain攻击或随机请求攻击,操纵大量傀儡机器向被攻击的域名服务器发起大量随机的域名查询请求进行递归查询,这些域名查询请求的域名通常是随机生成或者是网络上根本不存在的域名(NXDomain),被攻击的域名服务器在接收到这种域名查询请求后首先会查询是否在本地缓存中存有相对应的资源记录,如果查找不到,该域名服务器会向上层域名服务器逐级进行查询,从而迅速地耗尽域名服务器的递归资源。这种DNS递归攻击较传统的流量型DNSDDoS攻击而言,操作成本较低,攻击效果好,不一定占用较多的带宽就可以使得DNS服务器的可用性降低或完全丧失。
目前,有一些防止递归攻击的方法是通过找到分析出导致大量递归查询请求的具有共同2级域名的数据包特征,并将这些数据包阻止。该方法是无效的,因为递归攻击使用的域名是随机的,未必一定具备共同的后缀特征,在不具备该特征的情况下则无法阻止这些递归攻击。
另一些防止递归攻击的方法是统计某IP段正常情况下的域名查询请求的流量,如发现当前的流量过大则进行过滤,但是该方法所描述的过滤是随机的,在过滤掉攻击的流量的同时也会过滤掉用户的正常域名查询请求的流量,并且递归攻击也未必需要特别大的流量,所以该方法也无法阻止递归攻击。
还有一些防止递归攻击的方法是通过设置缓存白名单判断资源记录是否有同域名查询请求相对应的资源记录,若不存在则发起递归查询,并判断递归查询是否成功,若不成功则启动抵御攻击模式。显而易见该方法在递归查询后才开启防御,存在严重滞后性,对递归攻击的防御也是无效的。
发明内容
为此,本发明所要解决的技术问题在于为克服现有技术中无法有效的防御DNS递归攻击的缺陷,从而提出一种能够有效地用于防御DNS递归攻击的方法、装置及系统。
本发明的一种用于防御DNS递归攻击的方法,包括以下步骤:
接收一并发时刻的所有域名查询请求;
分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;
当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求;
判断所述并发数是否大于或等于预设阈值;
当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。
优选地,还包括以下步骤:
当存在时,分别判断每个所述资源记录中的TTL值是否过期;
当所述资源记录中的TTL值没有过期时,针对域名查询请求生成包含所述域名查询请求相对应的资源记录信息的应答信息。
优选地,还包括以下步骤:
当所述资源记录中的TTL值过期时,针对域名查询请求进行递归查询;
生成包含所述递归查询所查询到的域名查询请求相对应的资源记录信息的应答信息,并将所述资源记录信息保存在本地缓存中。
优选地,还包括以下步骤:
当所述并发数小于预设阈值时,根据所述一并发时刻的每个所述随机请求分别进行递归查询;
针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。
本发明的一种用于防御DNS递归攻击的装置,包括:
接收单元,用于接收一并发时刻的所有域名查询请求;
第一判断单元,用于分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;
计算单元,用于当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求;
第二判断单元,用于判断所述并发数是否大于或等于预设阈值;
第一应答单元,用于在所述第二判断单元判断所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。
优选地,还包括:
第三判断单元,用于当存在时,分别判断每个所述资源记录中的TTL值是否过期;
第二应答单元,用于在所述第三判断单元判断所述资源记录中的TTL值没有过期时,针对域名查询请求生成包含所述域名查询请求相对应的资源记录信息的应答信息。
优选地,还包括:
第一递归查询单元,用于在所述第三判断单元判断所述资源记录中的TTL值过期时,针对域名查询请求进行递归查询;
第三应答单元,用于生成包含所述递归查询所查询到的域名查询请求相对应的资源记录信息的应答信息,并将所述资源记录信息保存在本地缓存中。
优选地,还包括:
第二递归查询单元,用于在所述第二判断单元判断所述并发数小于预设阈值时,根据所述一并发时刻的每个所述随机请求分别进行递归查询;
第四应答单元,用于针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。
本发明的一种用于防御DNS递归攻击的装置,该装置位于DNS系统的本地域名服务器侧,包括:
接收单元,用于接收一并发时刻的所有域名查询请求;
第一判断单元,用于分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;
计算单元,用于当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求;
第二判断单元,用于判断所述并发数是否大于或等于预设阈值;
第一应答单元,用于在所述第二判断单元判断所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。
本发明的一种用于防御DNS递归攻击的系统,包括客户端侧和本地域名服务器侧;
客户端侧,用于向本地域名服务器发送域名查询请求;接收由本地域名服务器为所述域名查询请求生成的应答信息;
本地域名服务器侧,用于接收客户端侧发送的一并发时刻的所有域名查询请求,分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中,当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求,并判断所述并发数是否大于或等于预设阈值,当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息或生成包含查询失败信息的应答信息,并向客户端侧发送所述应答信息,或直接丢弃不作应答。
本发明的上述技术方案相比现有技术具有以下优点:
本发明的一种用于防御DNS递归攻击的方法、装置及系统通过分别判断在一并发时刻接收到的所有域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中的步骤,由于当域名服务器受到递归攻击时,其伪造的域名必定不存在于域名服务器的本地缓存中,可以首先自动识别出不存在于本地缓存中的随机请求,也就是说这些被识别出的随机请求中包含了可能的递归攻击请求。通过统计所述一并发时刻的随机请求的并发数并将其与预设阈值进行比较的步骤,当并发数大于或等于预设阈值时,针对所述一并发时刻的超出阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答,即通过阈值限制一并发时刻的随机请求的查询速率,当这些随机请求中存在递归攻击请求时可以在发生递归攻击的第一时间将其进行限制,从而最大限度保证服务器性能不受递归攻击影响,可以及时、快速且有效地防御住递归攻击,不会产生大量的递归查询,使递归攻击失效,保证域名服务器的高可用性。
该方法、装置及系统中当域名查询请求相对应的资源记录存在于本地域名服务器的本地缓存中时,即该域名查询请求为正常的递归查询请求时,通过判断资源记录中的TTL值是否过期的步骤,可以在该资源记录中的TTL值没有过期时,直接获得该域名查询请求相对应的资源记录,提高域名查询的效率。
该方法、装置及系统中通过设置当资源记录中的TTL值过期时,对域名查询请求进行递归查询的步骤,也就是说只有当资源记录中的TTL值已经过期时才发起递归查询,进一步地节约了域名服务器的资源。
该方法、装置及系统中还通过设置当并发数小于预设阈值时,根据一并发时刻的每个随机请求分别进行递归查询的步骤,最大限度地保证用户所产生的合法递归请求能够正确获得查询。由于存在用户所请求查询的部分域名为新建或访问量较少的域名,此类域名所对应的资源记录不存在于本地缓存中,所以其虽然也会被识别为随机请求,但不应被限制。因此通过该步骤可以在阈值范围内保证该类请求允许触发递归查询并返回用户正确的查询结果。从而在未发生递归攻击时,本发明的用于防御DNS递归攻击的方法及其装置不对用户的正常的递归查询请求产生影响,在发生递归攻击时,在阈值限制范围内最大限度保证用户的正常递归查询请求,即误杀率低。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是现有技术中递归查询过程的示意图;
图2是本发明实施例1的用于防御DNS递归攻击的方法的流程图;
图3是本发明实施例1的用于防御DNS递归攻击的方法的一个具体示例的流程图;
图4是本发明实施例1的用于防御DNS递归攻击的方法的另一个具体示例的流程图;
图5是本发明实施例2的用于防御DNS递归攻击的装置的结构框图;
图6是本发明实施例2的用于防御DNS递归攻击的装置的一个具体示例的结构框图;
图7是本发明实施例2的用于防御DNS递归攻击的装置的另一个具体示例的结构框图;
图8是本发明实施例3的用于防御DNS递归攻击的系统的结构框图。
具体实施方式
本发明实施例1的一种用于防御DNS递归攻击的方法,如图2所示,包括以下步骤:
步骤S1:接收一并发时刻的所有域名查询请求;所有域名查询请求是并发发起的,该域名查询请求适合发生在各类域名服务器上,例如缓存、递归和授权服务器,之后进入步骤S2。
步骤S2:分别判断,每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;当不存在时,进入步骤S3;当存在时,进入进行正常的域名查询请求的查询步骤S6,即在未发生递归攻击的情况下执行的常规域名查询步骤。
步骤S3:统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求;之后进入步骤S4。该步骤S3既识别出了相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求为随机请求,也统计出了该一并发时刻所并发的所有随机请求的总个数即并发数。
步骤S4:判断所述并发数是否大于或等于预设阈值;所述预设阈值可以根据不同域名服务器的规格和性能进行设置,优选地,可以将其设置为3000、4000、5000等。当所述并发数大于或等于预设阈值时,进入步骤S5;当所述并发数小于预设阈值时,进入进行正常的随机请求的查询步骤S7,即虽然为随机请求,但是属于不应被限制的正常请求的范畴,也就是说,未发生递归攻击,执行递归查询步骤。
步骤S5:针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答。也就是说,针对每个该随机请求选择以下三种方式中的一种进行处理:1、生成包含错误域名信息的应答信息,2、生成包含查询失败信息的应答信息,3、直接丢弃不作应答。可根据实际需求选择上述三种处理方式中的任意一种进行处理。针对所述一并发时刻的未超出所述预设阈值的每个随机请求分别进行递归查询,并生成包含所述递归查询所查询到的随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。
本实施例中通过分别判断在一并发时刻接收到的所有域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中的步骤,由于当域名服务器受到递归攻击时,其伪造的域名必定不存在于域名服务器的本地缓存中,可以首先自动识别出不存在于本地缓存中的随机请求,也就是说这些被识别出的随机请求中包含了可能的递归攻击请求。通过统计所述一并发时刻的随机请求的并发数并将其与预设阈值进行比较的步骤,当并发数大于或等于预设阈值时,针对所述一并发时刻的超出阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答,即通过阈值限制一并发时刻的随机请求的查询速率,当这些随机请求中存在递归攻击请求时可以在发生递归攻击的第一时间将其进行限制,从而最大限度保证服务器性能不受递归攻击影响,可以及时、快速且有效地防御住递归攻击,不会产生大量的递归查询,使递归攻击失效,保证域名服务器的高可用性。
作为一种具体的实现方式,本实施例中的进行正常的域名查询请求的查询步骤S6,如图3所示,可以包括以下步骤:
步骤S61:分别判断每个所述资源记录中的TTL值是否过期;当所述资源记录中的TTL值没有过期时,进入步骤S62;当所述资源记录中的TTL值过期时,进入步骤S63。所述资源记录中的TTL值也称为生存时间值,与通常意义上的含义相同,为资源记录在DNS服务器上的缓存存放时间。
步骤S62:针对每个相对应的资源记录存在于本地域名服务器的本地缓存中的域名查询请求生成包含所述域名查询请求相对应的资源记录信息的应答信息。
步骤S63:针对域名查询请求进行递归查询;之后进入步骤S64。
步骤S64:针对每个域名查询请求生成包含所述递归查询所查询到的所述域名查询请求相对应的资源记录信息的应答信息,并将所述资源记录信息保存在本地缓存中。
本领域的技术人员应当理解,正常的域名查询请求的查询步骤不限于上述步骤S61-S64来实现,也可以采用其他的具有域名查询功能的步骤来完成。
本实施例中当域名查询请求相对应的资源记录存在于本地域名服务器的本地缓存中时,即该域名查询请求为正常的递归查询请求时,通过判断资源记录中的TTL值是否过期的步骤,可以在该资源记录中的TTL值没有过期时,直接获得该域名查询请求相对应的资源记录,提高域名查询的效率。
通过设置当资源记录中的TTL值过期时,对域名查询请求进行递归查询的步骤,也就是说只有当资源记录中的TTL值已经过期时才发起递归查询,进一步地节约了域名服务器的资源。
作为一种具体的实现方式,本实施例中的进行正常的随机请求的查询步骤S7,如图4所示,可以包括以下步骤:
步骤S71:根据所述一并发时刻的每个所述随机请求分别进行递归查询;具体的,所述递归查询的过程通常为如图1中所示的过程,之后进入步骤S72。
步骤S72:针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。也就是说,当所述递归查询有查询到结果时,针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息;当所述递归查询没有查询到结果时,针对所述一并发时刻的每个所述随机请求生成包含查询失败信息的应答信息。
本领域的技术人员应当理解,正常的随机请求的查询步骤不限于上述步骤S71-S72来实现,也可以采用其他的具有域名查询功能的步骤来完成。
本实施例中通过设置当并发数小于预设阈值时,根据一并发时刻的每个随机请求分别进行递归查询的步骤,最大限度地保证用户所产生的合法递归请求能够正确获得查询。由于存在用户所请求查询的部分域名为新建或访问量较少的域名,此类域名所对应的资源记录不存在于本地缓存中,所以其虽然也会被识别为随机请求,但不应被限制。因此通过该步骤可以在阈值范围内保证该类请求允许触发递归查询并返回用户正确的查询结果。从而在未发生递归攻击时,本发明的用于防御DNS递归攻击的方法及其装置不对用户的正常的递归查询请求产生影响,在发生递归攻击时,在阈值限制范围内最大限度保证用户的正常递归查询请求,即误杀率低。
下面将具体介绍本发明实施例2的一种用于防御DNS递归攻击的装置,该装置位于DNS系统的本地域名服务器侧,如图5所示,对应于实施例1的一种用于防御DNS递归攻击的方法,包括:
接收单元1,用于接收一并发时刻的所有域名查询请求;
第一判断单元2,用于分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中;
计算单元3,用于当所述域名查询请求相对应的资源记录不存在于本地域名服务器的本地缓存中时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求;
第二判断单元4,用于判断所述并发数是否大于或等于预设阈值;
第一应答单元5,用于在所述第二判断单元判断所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答;针对所述一并发时刻的未超出所述预设阈值的每个随机请求分别进行递归查询,并生成包含所述递归查询所查询到的随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。
本实施例中通过分别判断在一并发时刻接收到的所有域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中的步骤,由于当域名服务器受到递归攻击时,其伪造的域名必定不存在于域名服务器的本地缓存中,可以首先自动识别出不存在于本地缓存中的随机请求,也就是说这些被识别出的随机请求中包含了可能的递归攻击请求。通过统计所述一并发时刻的随机请求的并发数并将其与预设阈值进行比较的步骤,当并发数大于或等于预设阈值时,针对所述一并发时刻的超出阈值的每个随机请求分别生成包含错误域名信息的应答信息、生成包含查询失败信息的应答信息或直接丢弃不作应答,即通过阈值限制一并发时刻的随机请求的查询速率,当这些随机请求中存在递归攻击请求时可以在发生递归攻击的第一时间将其进行限制,从而最大限度保证服务器性能不受递归攻击影响,可以及时、快速且有效地防御住递归攻击,不会产生大量的递归查询,使递归攻击失效,保证域名服务器的高可用性。
作为一种具体的实现方式,本实施例中进一步包括以下单元,对应于本发明实施例1的方法,如图6所示:
第三判断单元61,用于当所述域名查询请求相对应的资源记录存在于本地域名服务器的本地缓存中时,分别判断每个所述资源记录中的TTL值是否过期;
第二应答单元62,用于在所述第三判断单元判断所述资源记录中的TTL值没有过期时,针对每个相对应的资源记录存在于本地域名服务器的本地缓存中的域名查询请求生成包含所述域名查询请求相对应的资源记录信息的应答信息。
第一递归查询单元63,用于在所述第三判断单元判断所述资源记录中的TTL值过期时,针对域名查询请求进行递归查询;
第三应答单元64,用于在所述第一递归查询单元63根据所述域名查询请求进行递归查询之后,针对域名查询请求生成包含所述递归查询所查询到的所述域名查询请求相对应的资源记录信息的应答信息,并将所述资源记录信息保存在本地缓存中。
本领域的技术人员应当理解,当所述域名查询请求相对应的资源记录存在于本地域名服务器的本地缓存中时,正常的域名查询请求的查询单元不限于上述单元61-64来实现,也可以采用其他的功能单元来实现域名查询的功能。
本实施例中当域名查询请求相对应的资源记录存在于本地域名服务器的本地缓存中时,即该域名查询请求为正常的递归查询请求时,通过判断资源记录中的TTL值是否过期的步骤,可以在该资源记录中的TTL值没有过期时,直接获得该域名查询请求相对应的资源记录,提高域名查询的效率。
通过设置当资源记录中的TTL值过期时,对域名查询请求进行递归查询的步骤,只有当资源记录中的TTL值已经过期时才发起递归查询,进一步地节约了域名服务器的资源。
作为一种具体的实现方式,本实施例中进一步包括以下单元,对应于本发明实施例1的方法,如图7所示:
第二递归查询单元71,用于在所述第二判断单元判断所述并发数小于预设阈值时,根据所述一并发时刻的每个所述随机请求分别进行递归查询;
第四应答单元72,用于在所述第二递归查询单元71根据每个所述随机请求分别进行递归查询之后,针对所述一并发时刻的每个所述随机请求生成包含所述递归查询所查询到的所述随机请求相对应的资源记录信息的应答信息或者包含查询失败信息的应答信息。
本领域的技术人员应当理解,当所述并发数小于预设阈值时,正常的随机请求的查询单元不限于上述单元71-72来实现,也可以采用其他的功能单元来实现域名查询的功能。
本实施例中通过设置当并发数小于预设阈值时,对每个随机请求分别进行递归查询的步骤,最大限度地保证用户所产生的合法递归请求能够正确获得查询。由于存在用户所请求查询的部分域名为新建或访问量较少的域名,此类域名所对应的资源记录不存在于本地缓存中,所以其虽然也会被识别为随机请求,但不应被限制。因此通过该步骤可以在阈值范围内保证该类请求允许触发递归查询并返回用户正确的查询结果。从而在未发生递归攻击时,本发明的用于防御DNS递归攻击的方法及其装置不对用户的正常的递归查询请求产生影响,在发生递归攻击时,在阈值限制范围内最大限度保证用户的正常递归查询请求,即误杀率低。
本发明实施例3的一种用于防御DNS递归攻击的系统,如图8所示,包括客户端侧和本地域名服务器侧;所述本地域名服务器侧可以采用实施例2的装置。
客户端侧301,用于向本地域名服务器发送域名查询请求;接收由本地域名服务器为所述域名查询请求生成的应答信息;
本地域名服务器侧302,用于接收客户端侧发送的一并发时刻的所有域名查询请求,分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中,当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求,并判断所述并发数是否大于或等于预设阈值,当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息或生成包含查询失败信息的应答信息,并向客户端侧301发送所述应答信息,或直接丢弃不作应答。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

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递归攻击的系统,其特征在于,包括客户端侧和本地域名服务器侧;
客户端侧,用于向本地域名服务器发送域名查询请求;接收由本地域名服务器为所述域名查询请求生成的应答信息;
本地域名服务器侧,用于接收客户端侧发送的一并发时刻的所有域名查询请求,分别判断每个域名查询请求相对应的资源记录是否存在于本地域名服务器的本地缓存中,当不存在时,统计所述一并发时刻的随机请求的并发数,所述随机请求为相对应的资源记录不存在于本地域名服务器的本地缓存中的域名查询请求,并判断所述并发数是否大于或等于预设阈值,当所述并发数大于或等于预设阈值时,针对所述一并发时刻的超出所述预设阈值的每个随机请求分别生成包含错误域名信息的应答信息或生成包含查询失败信息的应答信息,并向客户端侧发送所述应答信息,或直接丢弃不作应答。
CN201510432040.8A 2015-07-21 2015-07-21 一种用于防御dns递归攻击的方法、装置及系统 Pending CN105119906A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510432040.8A CN105119906A (zh) 2015-07-21 2015-07-21 一种用于防御dns递归攻击的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510432040.8A CN105119906A (zh) 2015-07-21 2015-07-21 一种用于防御dns递归攻击的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN105119906A true CN105119906A (zh) 2015-12-02

Family

ID=54667794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510432040.8A Pending CN105119906A (zh) 2015-07-21 2015-07-21 一种用于防御dns递归攻击的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN105119906A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610934A (zh) * 2015-12-25 2016-05-25 北京奇虎科技有限公司 数据请求并发处理方法及装置
CN107508820A (zh) * 2017-09-05 2017-12-22 成都知道创宇信息技术有限公司 一种dns服务器识别并防御放大攻击的方法
CN107547670A (zh) * 2016-06-28 2018-01-05 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
CN107832320A (zh) * 2017-09-04 2018-03-23 深圳市盛路物联通讯技术有限公司 环境图像的显示方法和相关设备
CN109756480A (zh) * 2018-11-30 2019-05-14 中国互联网络信息中心 一种DDoS攻击防御方法、装置、电子设备及介质
US10666602B2 (en) 2017-05-05 2020-05-26 Microsoft Technology Licensing, Llc Edge caching in edge-origin DNS
EP3574412A4 (en) * 2017-01-27 2020-07-22 Level 3 Communications, LLC SYSTEM AND METHOD FOR PURIFYING DNA IN A TELECOMMUNICATION NETWORK TO REDUCE ATTACKS
CN112052264A (zh) * 2020-08-05 2020-12-08 北京五八信息技术有限公司 业务数据查询方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624750A (zh) * 2012-04-22 2012-08-01 吴兴利 抵御dns递归攻击的方法和系统
CN104125238A (zh) * 2014-08-14 2014-10-29 互联网域名系统北京市工程研究中心有限公司 一种DNS递归服务器抗DoS、DDoS攻击的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624750A (zh) * 2012-04-22 2012-08-01 吴兴利 抵御dns递归攻击的方法和系统
CN104125238A (zh) * 2014-08-14 2014-10-29 互联网域名系统北京市工程研究中心有限公司 一种DNS递归服务器抗DoS、DDoS攻击的方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610934A (zh) * 2015-12-25 2016-05-25 北京奇虎科技有限公司 数据请求并发处理方法及装置
CN107547670A (zh) * 2016-06-28 2018-01-05 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
CN107547670B (zh) * 2016-06-28 2020-12-29 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
EP3574412A4 (en) * 2017-01-27 2020-07-22 Level 3 Communications, LLC SYSTEM AND METHOD FOR PURIFYING DNA IN A TELECOMMUNICATION NETWORK TO REDUCE ATTACKS
US11012467B2 (en) 2017-01-27 2021-05-18 Level 3 Communications, Llc System and method for scrubbing DNS in a telecommunications network to mitigate attacks
US10666602B2 (en) 2017-05-05 2020-05-26 Microsoft Technology Licensing, Llc Edge caching in edge-origin DNS
CN107832320A (zh) * 2017-09-04 2018-03-23 深圳市盛路物联通讯技术有限公司 环境图像的显示方法和相关设备
CN107508820A (zh) * 2017-09-05 2017-12-22 成都知道创宇信息技术有限公司 一种dns服务器识别并防御放大攻击的方法
CN109756480A (zh) * 2018-11-30 2019-05-14 中国互联网络信息中心 一种DDoS攻击防御方法、装置、电子设备及介质
CN109756480B (zh) * 2018-11-30 2021-07-16 中国互联网络信息中心 一种DDoS攻击防御方法、装置、电子设备及介质
CN112052264A (zh) * 2020-08-05 2020-12-08 北京五八信息技术有限公司 业务数据查询方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN105119906A (zh) 一种用于防御dns递归攻击的方法、装置及系统
CN106302434B (zh) 服务器适配方法、装置和系统
CN101094236B (zh) 地址解析协议报文处理方法及通讯系统及转发平面处理器
CN103067385B (zh) 防御会话劫持攻击的方法和防火墙
US10469532B2 (en) Preventing DNS cache poisoning
CN109067930B (zh) 域名接入方法、域名解析方法、服务器、终端及存储介质
CN102165741B (zh) 在ipv6网络中用于封锁和搜索主机的方法
CN104506525B (zh) 防止恶意抓取的方法和防护装置
JP6074781B2 (ja) 許可されていないサービスアクセスを防止する方法および装置
US20170374088A1 (en) Individually assigned server alias address for contacting a server
CN103347016A (zh) 一种攻击的防御方法
CN107682470B (zh) 一种检测nat地址池中公网ip可用性的方法及装置
CN102739683A (zh) 一种网络攻击过滤方法及装置
CN101640679A (zh) 域名解析代理方法和装置
CN105681133A (zh) 一种检测dns服务器是否防网络攻击的方法
CN102404334A (zh) 拒绝服务攻击防护方法及装置
CN102624750B (zh) 抵御dns递归攻击的方法和系统
CN108234522A (zh) 防止地址解析协议arp攻击方法、装置、计算机设备和存储介质
CN102737119A (zh) 统一资源定位符的查找方法、过滤方法和相关设备及系统
CN101820432A (zh) 无状态地址配置的安全控制方法及装置
CN105939347A (zh) 防御域名攻击的方法及装置
CN106487807A (zh) 一种域名解析的防护方法和装置
CN113347155A (zh) 一种arp欺骗的防御方法、系统及装置
CN106878326A (zh) 基于反向检测的IPv6邻居缓存保护方法及其装置
CN108881233A (zh) 防攻击处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151202

RJ01 Rejection of invention patent application after publication