CN104144165A - 一种抗dns死域攻击的缓存方法及系统 - Google Patents

一种抗dns死域攻击的缓存方法及系统 Download PDF

Info

Publication number
CN104144165A
CN104144165A CN201410392473.0A CN201410392473A CN104144165A CN 104144165 A CN104144165 A CN 104144165A CN 201410392473 A CN201410392473 A CN 201410392473A CN 104144165 A CN104144165 A CN 104144165A
Authority
CN
China
Prior art keywords
server
authoritative
region
dns
domain
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
CN201410392473.0A
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.)
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC
Original Assignee
BEILONG KNET (BEIJING) TECHNOLOGY Co Ltd
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC
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 BEILONG KNET (BEIJING) TECHNOLOGY Co Ltd, INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC filed Critical BEILONG KNET (BEIJING) TECHNOLOGY Co Ltd
Priority to CN201410392473.0A priority Critical patent/CN104144165A/zh
Publication of CN104144165A publication Critical patent/CN104144165A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种抗DNS死域攻击的缓存方法及系统,其中方法包括:客户端向递归服务器提出域名查询请求;递归服务器按照递归流程查询该域名所对应的权威服务器;如果对某一区域的所有权威域名服务器进行指定次数的遍历查询仍然查询失败,则在失败地址缓存模块中添加该区域的信息并启动渐进式等待计时,若在计时时间内收到该区域的查询请求,直接返回服务器失败的消息。本发明通过在递归服务器上缓存查询失败的域的相关信息,改进递归服务器的查询机制,以减少冗余查询,降低对网络造成的拥堵和服务器资源消耗,特别是能有效抵抗DNS死域攻击,维护域名查询系统正常工作。

Description

一种抗DNS死域攻击的缓存方法及系统
技术领域
本发明属于互联网技术领域,更具体地说,是涉及一种抗DNS死域攻击的缓存方法及系统。
背景技术
递归查询系统中,递归服务器(本地DNS服务器)负责接受用户(解析器)发送的域名解析请求,然后向各级权威域名服务器发出查询请求,获得用户需要的查询结果,最后返回给用户。为减少查询次数和提高查询效率,递归服务器将所有查询结果数据放入缓存。下次解析器向递归服务器查询某个它所知的域名数据时,递归服务器只需直接向解析器返回该查询结果。即使没有将结果直接放入缓存中,递归服务器也可能已经获得该域名所在区的权威域名服务器的标识,然后直接向它们查询。
如图1所示为以客户端访问网站www.163.com为例,给出了递归域名解析的完整流程,即首先查询递归服务器有无此网站的IP地址,在没有的情况下再查询“DNS根服务器”,如没有则再查询“.com域服务器”,最后查询“163.com域服务器”得到了需要的IP地址。
通过本地DNS服务器缓存中有“www.163.com”的IP地址,则可直接向用户返回此IP,而不必执行Step2-Step7;若本地DNS服务器缓存中没有存储“www.163.com”的IP地址,但存储了163.com域服务器地址,则DNS服务器可直接向163.com域服务器查询“www.163.com”的IP地址,再将查询结果返回给用户,而不必执行Step2-Step5,提高了查询效率。
递归服务器使用“往返时间(roundtrip time,RTT)”来对同一区的权威域名服务器进行选择。RTT定义为远程域名服务器响应查询的时间长度。每次递归服务器向远程权威域名服务器发送查询时,都启动一个内部计时器。当它收到响应时就停止计时,并记录该权威域名服务器响应时长RTT。
递归服务器总是选择具有最小RTT的权威域名服务器来发送查询。同一区的权威域名服务器的RTT最初都随机给定一个比任何真实的RTT值都小的相同数值,在根据真实RTT值选择之前,递归服务器可随机选择一个权威域名服务器发起查询。递归服务器使用它成功收到响应的真实往返时间来更新缓存中的权威域名服务器的RTT值。但如果递归服务器在查询时遇到了一个错误,该错误表明该权威域名服务器已经停机或不可达到,或者查询超时,递归服务器将更新此权威域名服务器的RTT为:RTT+D,其中D为时间常量,并再次向该区具有最小RTT值的权威域名服务器发起查询,循环往复,直至查询成功或达到限制的最大查询次数N。对最终不可达的查询,返回“SERVFAIL”(服务器失败)。
上述查询机制仍存在缺陷。若由于网络拥塞或者其他因素,某次域名解析请求被返回“SERVFAIL”,则表明该域名所属区域的所有权威域名服务器都不可达。根据目前的查询机制,当此时递归服务器收到属于该域的域名查询请求,它仍会向该域的权威服务器发起查询,但显而易见,结果都将是在经过N次查询尝试后最终被返回“SERVFAIL”。所以,在区域的所有权威域名服务器都不可达的情况下,当前的查询机制存在冗余查询。若一些别有用心的人利用该缺陷,发起大量属于该域的域名查询请求(死域攻击),该缺陷的严重性会凸显:大量网络带宽和递归服务器CPU资源将被占用,造成网络拥堵甚至瘫痪,阻塞正常查询,用户得不到正确的查询结果。
发明内容
为解决上述技术问题,本发明提供了一种抗DNS死域攻击的缓存方法及系统,其中方法包括以下步骤:
1)客户端向递归服务器提出域名查询请求;
2)递归服务器按照递归流程查询该域名所对应的权威服务器;如果查询成功,则按递归流程进行后续查询;如果查询失败,则选择下一个权威服务器进行查询;依次执行该流程,直到该区域的所有权威服务器都被遍历一次;
3)重复2),遍历查询所有权威服务器指定次数都无法成功,则在失败地址缓存模块中添加该区域的信息并启动等待计时,若在计时时间内收到该区域的查询请求,直接返回服务器失败的消息。
进一步地,还包括以下步骤:
4)定时结束后,所述递归服务器从地址选择模块中选择该区域具有最小RTT的权威域名服务器进行查询,若查询失败则将该权威域名服务器的RTT值增加一个特定的时间常量,并查询此时RTT值最小的权威域名服务器。
进一步地,若查询成功,则修改该权威域名服务器的RTT值,清除失败地址缓存中该域名的记录,并进行后续查询。
进一步地,若查询该区域所有的域名服务器一遍后仍失败,则增大失败地址缓存模块中的该域名的等待计时时间,并重复步骤4)。
进一步地,所述步骤3)中对某一区域中所有权威域名服务器查询的次数为5次或其他次数。
进一步地,所述步骤3)中添加该区域的信息包括该区域的域名,等待查询的基础时长TTL、等待计时的时间以及等待的次数等其他信息。
另外,本发明还公开了一种抗DNS死域攻击的缓存系统,包括客户端、递归服务器以及权威域名服务器,其特征在于,所述递归服务器内布置有失败地址缓存模块,当客户端向递归服务器提出域名查询请求时,所述递归服务器开始对某一区域中所有权威域名服务器进行查询,如果在指定次数内不能查询到,则在所述失败地址缓存模块中添加该区域的信息并启动等待计时,若在计时时间内收到该区域的查询请求,直接返回服务器失败消息。
本发明的方法及系统通过在递归服务器上缓存查询失败的域的相关信息,改进递归服务器的查询机制,以减少冗余查询,使递归查询收敛,降低对网络造成的拥堵和服务器资源消耗,特别是防止利用域名查询请求的攻击,从而维护域名查询系统正常工作。
附图说明
图1是现有技术以访问网站www.163.com为例的递归域名解析的流程图;
图2是本发明实施例一抗DNS死域攻击的缓存方法的流程图;
图3是本发明实施例二抗DNS死域攻击的缓存系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例为实施本发明的较佳实施方式,所述描述是以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围应当以权利要求所界定者为准,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示为本发明实施例一抗DNS死域攻击的缓存方法的流程图,如图2所示,方法包括:
步骤S101,客户端向递归服务器提出域名查询请求。
步骤S102,递归服务器从地址选择模块中挑选出具有最小RTT的权威服务器进行查询;如果查询成功,则以成功收到响应的真实往返时间来更新缓存中的权威域名服务器的RTT值,按递归流程进行后续查询;如果查询失败,则将该权威域名服务器的RTT值增加一个特定的时间常量,并从地址选择模块中选择下一个具有最小RTT的权威服务器进行查询;依次执行该流程,直到所有权威服务器都被遍历一次。
步骤S103:重复步骤S102,遍历查询所有权威域名服务器N次(指定值),如果都不能查询到,则在失败地址缓存模块中添加该区域的信息并启动等待计时,若在计时时间内收到该区域的查询请求,直接返回“SERVFAIL”(服务器失败)。
其中,在步骤S103中,失败地址缓存中添加的区域信息包括:该区的域名Domain、等待查询的基础时长TTL(单位:秒)和当前的等待次数K。
具体地,若递归服务器对某一区中所有权威域名服务器经过5次遍历查询仍不可达,则在失败地址缓存中添加该区域信息,设置K=1,启动一个内部定时计,从TTL*K秒开始倒计时。如:
Domain=test.example.com
TTL=5
K=1
表明“test.example.com”域的所有权威域名服务器均不可达,递归服务器进入第1次等待查询的状态,等待时间为5*1=5秒。
这里递归服务器对某一区域中所有权威服务器遍历查询的次数N、等待查询的基础时长TTL的大小均不作具体的限制,可以根据本行业技术人员具体的需求进行具体的设置。
其中,在等待时间内,若递归服务器收到属于该域的查询请求,则直接返回“SERVFAIL”而不必再次向权威域名服务器发起查询。
步骤S104,定时结束后,所述递归服务器选择该区域具有最小RTT的权威域名服务器进行查询,若查询失败则将该权威域名服务器的RTT值增加一个特定的时间常量,并查询此时RTT值最小的权威域名服务器。
其中,在步骤S104中,查询失败后将该权威域名服务器的RTT值增加为RTT+D,其中D为一时间常量,其数值根据本行业技术人员的具体情况做不同的设定,这里不作具体的限制。
步骤S105,若查询该区域所有的域名服务器一遍后仍失败,则增大失败地址缓存模块中的该域名的等待计时时间,并重复步骤S104。
具体地,若查询成功,则修改该权威域名服务器的RTT值,清除失败地址缓存中该域名的记录,并进行后续查询。其中,在步骤S105中增大失败地址缓存模块中该域的等待时间,具体可以使得该域的K=K+1,则等待时间则为TTL*K(修改后的数值),这里本行业技术人员也可以采用其他方法增大等待的时间,例如增大TTL的值等,这里不作具体的限制。
如图3所示为本发明实施例二抗DNS死域攻击的缓存系统的结构图,如图3所示,本系统包括客户端201、递归服务器202以及权威域名服务器203,递归服务器内布置有控制模块2021以及失败地址缓存模块2022,其中,控制模块2021负责管理控制整个递归服务器的工作,当客户端201向递归服务器202提出域名查询请求时,递归服务器202开始对某一区域中所有权威域名服务器203进行查询,如果不能查询到,则在失败地址缓存模块2022中添加该区域的信息并启动等待计时,若在计时时间内收到该区域的查询请求,直接返回“SERVFAIL”。
在递归服务器与区域的所有权威域名服务器通信中断的情况下,本发明将避免发起过多的递归查询请求,减少宽带占用和网络拥堵,节省服务器资源和时间,显著提升DNS服务器抗此类攻击的性能。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (7)

1.一种抗DNS死域攻击的缓存方法,包括以下步骤:
1)客户端向递归服务器提出域名查询请求;
2)递归服务器按照递归流程查询该域名所对应的权威服务器;如果查询成功,则按递归流程进行后续查询;如果查询失败,则选择下一个权威服务器进行查询;依次执行该流程,直到该区域的所有权威服务器都被遍历一次;
3)重复2),遍历查询所有权威服务器指定次数都无法成功,则在失败地址缓存模块中添加该区域的信息并启动等待计时,若在计时时间内收到该区域的查询请求,直接返回服务器失败的消息。
2.如权利要求1所述一种抗DNS死域攻击的缓存方法,还包括以下步骤:
4)定时结束后,所述递归服务器从地址选择模块中选择该区域具有最小RTT的权威域名服务器进行查询,若查询失败则将该权威域名服务器的RTT值增加一个特定的时间常量,并查询此时RTT值最小的权威域名服务器。
3.如权利要求2所述一种抗DNS死域攻击的缓存方法,还包括以下步骤:
5a)若查询成功,则修改该权威域名服务器的RTT值,清除失败地址缓存中该域名的记录,并进行后续查询。
4.如权利要求2所述一种抗DNS死域攻击的缓存方法,还包括以下步骤:
5b)若查询该区域所有的域名服务器一遍后仍失败,则增大失败地址缓存模块中的该域名的等待计时时间,并重复步骤4)。
5.如权利要求1-4所述一种抗DNS死域攻击的缓存方法,其特征在于,所述步骤3)中对某一区域中所有权威域名服务器查询的次数为5次或其他次数。
6.如权利要求5所述一种抗DNS死域攻击的缓存方法,其特征在于,所述步骤3)中添加该区域的信息包括该区域的域名,等待查询的基础时长TTL、等待计时的时间以及等待的次数等其他信息。
7.一种抗DNS死域攻击的缓存系统,包括客户端、递归服务器以及权威域名服务器,其特征在于,所述递归服务器内布置有失败地址缓存模块,当客户端向递归服务器提出域名查询请求时,所述递归服务器开始对某一区域中所有权威域名服务器进行查询,如果在指定次数内不能查询到,则在所述失败地址缓存模块中添加该区域的信息并启动等待计时,若在计时时间内收到该区域的查询请求,直接返回服务器失败消息。
CN201410392473.0A 2014-08-11 2014-08-11 一种抗dns死域攻击的缓存方法及系统 Pending CN104144165A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410392473.0A CN104144165A (zh) 2014-08-11 2014-08-11 一种抗dns死域攻击的缓存方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410392473.0A CN104144165A (zh) 2014-08-11 2014-08-11 一种抗dns死域攻击的缓存方法及系统

Publications (1)

Publication Number Publication Date
CN104144165A true CN104144165A (zh) 2014-11-12

Family

ID=51853233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410392473.0A Pending CN104144165A (zh) 2014-08-11 2014-08-11 一种抗dns死域攻击的缓存方法及系统

Country Status (1)

Country Link
CN (1) CN104144165A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106888192A (zh) * 2015-12-16 2017-06-23 中国移动通信集团江苏有限公司 一种抵抗dns攻击的方法及装置
CN107534691A (zh) * 2015-04-13 2018-01-02 微软技术许可有限责任公司 Dns高速缓存的远程清除
CN109347996A (zh) * 2018-12-10 2019-02-15 中共中央办公厅电子科技学院 一种dns域名获取系统及方法
CN110502933A (zh) * 2019-07-05 2019-11-26 中国科学院信息工程研究所 一种可抵抗基于flush操作的cache攻击的软硬协同计时器实现方法和系统
CN110636006A (zh) * 2018-06-25 2019-12-31 中国电信股份有限公司 域名查询方法和系统、路由节点、控制节点和防护节点
WO2021135538A1 (zh) * 2019-12-31 2021-07-08 网络通信与安全紫金山实验室 一种面向Handle标识解析的智能选路方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
US20100332680A1 (en) * 2009-06-24 2010-12-30 Broadcom Corporation Fault tolerance approaches for dns server failures
CN102291268A (zh) * 2011-09-23 2011-12-21 杜跃进 一种安全域名服务器及基于此的恶意域名监控系统和方法
US20120159623A1 (en) * 2010-12-17 2012-06-21 Electronics And Telecommunications Research Institute Method and apparatus for monitoring and processing dns query traffic
CN102624750A (zh) * 2012-04-22 2012-08-01 吴兴利 抵御dns递归攻击的方法和系统
EP2557759A1 (en) * 2011-08-11 2013-02-13 Verisign, Inc. White listing dns top-talkers
CN103685317A (zh) * 2013-12-31 2014-03-26 山石网科通信技术有限公司 用于域名系统的防护方法和装置
CN103685168A (zh) * 2012-09-07 2014-03-26 中国科学院计算机网络信息中心 一种dns递归服务器的查询请求服务方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
US20100332680A1 (en) * 2009-06-24 2010-12-30 Broadcom Corporation Fault tolerance approaches for dns server failures
US20120159623A1 (en) * 2010-12-17 2012-06-21 Electronics And Telecommunications Research Institute Method and apparatus for monitoring and processing dns query traffic
EP2557759A1 (en) * 2011-08-11 2013-02-13 Verisign, Inc. White listing dns top-talkers
CN102291268A (zh) * 2011-09-23 2011-12-21 杜跃进 一种安全域名服务器及基于此的恶意域名监控系统和方法
CN102624750A (zh) * 2012-04-22 2012-08-01 吴兴利 抵御dns递归攻击的方法和系统
CN103685168A (zh) * 2012-09-07 2014-03-26 中国科学院计算机网络信息中心 一种dns递归服务器的查询请求服务方法
CN103685317A (zh) * 2013-12-31 2014-03-26 山石网科通信技术有限公司 用于域名系统的防护方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107534691A (zh) * 2015-04-13 2018-01-02 微软技术许可有限责任公司 Dns高速缓存的远程清除
CN107534691B (zh) * 2015-04-13 2020-09-25 微软技术许可有限责任公司 用于dns高速缓存的远程清除的方法和服务器
CN106888192A (zh) * 2015-12-16 2017-06-23 中国移动通信集团江苏有限公司 一种抵抗dns攻击的方法及装置
CN110636006A (zh) * 2018-06-25 2019-12-31 中国电信股份有限公司 域名查询方法和系统、路由节点、控制节点和防护节点
CN110636006B (zh) * 2018-06-25 2021-11-02 中国电信股份有限公司 域名查询方法和系统、路由节点、控制节点和防护节点
CN109347996A (zh) * 2018-12-10 2019-02-15 中共中央办公厅电子科技学院 一种dns域名获取系统及方法
CN110502933A (zh) * 2019-07-05 2019-11-26 中国科学院信息工程研究所 一种可抵抗基于flush操作的cache攻击的软硬协同计时器实现方法和系统
WO2021135538A1 (zh) * 2019-12-31 2021-07-08 网络通信与安全紫金山实验室 一种面向Handle标识解析的智能选路方法

Similar Documents

Publication Publication Date Title
CN104144165A (zh) 一种抗dns死域攻击的缓存方法及系统
CN109067930B (zh) 域名接入方法、域名解析方法、服务器、终端及存储介质
CN110247999B (zh) 域名解析方法、域名解析装置、家电设备和存储介质
CN108886540B (zh) 域名解析方法、装置及计算机可读存储介质
CN110830458B (zh) 域名访问方法、系统、设备和计算机可读存储介质
Schomp et al. On measuring the client-side DNS infrastructure
US11044262B2 (en) Method, apparatus and system for anti-attacking in domain name system (DNS)
JP5150769B2 (ja) 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新
US8713156B2 (en) Request routing based on class
US8103915B2 (en) Failure system for domain name system client
CN102469167B (zh) 域名查询的实现方法和系统
CN107104921B (zh) DDoS攻击防御方法及装置
US9391859B2 (en) Service coordination for a data center
CN102137174B (zh) 域名系统缓存的方法、授权域名服务器、缓存域名服务器
US8423670B2 (en) Accessing distributed services in a network
CN103701957A (zh) Dns递归方法及其系统
CN103780715A (zh) 域名解析实现方法、客户端和云服务器
RU2015124173A (ru) Способ и устройство для доступа к web-странице и маршрутизатор
CN106790746B (zh) 一种分布式域名存储和解析方法及系统
CN103281409A (zh) 基于tcp协议的移动互联网域名解析方法及dns服务器
CN104113447A (zh) 监测域名解析污染的方法、装置及系统
CN109639748B (zh) Dns服务器的缓存更新方法、装置、系统及域名系统
CN103685168B (zh) 一种dns递归服务器的查询请求服务方法
CN105635342A (zh) 建立连接的方法、域名服务器以及存储节点
CN104125238A (zh) 一种DNS递归服务器抗DoS、DDoS攻击的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180105

Address after: Yang Yanlu 101408 Beijing city Huairou District Yanqi Economic Development Zone No. 88, a layer of D9

Applicant after: INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC

Address before: Yang Yanlu 101408 Beijing city Huairou District Yanqi Economic Development Zone No. 88, a layer of D9

Applicant before: INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER LLC

Applicant before: Beilong Knet (Beijing) Technology Co., Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20141112

RJ01 Rejection of invention patent application after publication