一种dns递归服务器的查询请求服务方法

文档序号:7982889阅读:634来源:国知局
一种dns递归服务器的查询请求服务方法
【专利摘要】本发明公开了一种DNS递归服务器的查询请求服务方法,属于网络【技术领域】。本方法为:1)将DNS递归服务器的缓存划分可信缓存区和不可信缓存区;2)递归服务器收到一查询请求后,在可信缓存区的资源记录中查找是否有匹配的资源;如果有,则将匹配资源记录返回给查询端;如果没有,则向权威服务器发起查询请求;3)递归服务器监测该查询请求的响应数据包到达率;4)如果响应数据包到达率超过可信门限,则递归服务器将该查询请求的响应数据包置于不可信缓存区;如果未超过该可信门限,则重新向权威服务器发起查询请求,将得到的DNS资源记录发送给查询端,并将其添加到可信缓存区。本发明减小了缓存中毒的可能性,保证了查询的效率。
【专利说明】一种DNS递归服务器的查询请求服务方法
【技术领域】
[0001]本发明涉及一种DNS递归服务器的查询请求服务方法,属于计算机网络【技术领域】。
【背景技术】
[0002]互联网域名系统(Domain Name System, DNS)的主要实体包括提供解析查询服务的递归服务器和提供权威应答服务的权威服务器。其查询过程如图1所示。具体步骤为:
[0003]I)当终端用户希望访问www.sina.com时,向递归服务器发送DNS查询请求消息;
[0004]2)如果递归服务器的缓存中完全没有该域名的相关信息(假设既没有com的权威服务器地址,也没有sina.com的权威服务器地址),递归服务器便需要向根服务器发起查询过程,从而获知com权威服务器的地址;
[0005]3)递归服务器接着向com权威服务器发送查询消息,于是获知到sina.com权威服务器的地址信息;
[0006]4)通过向sina.com权威服务器的继续查询,递归服务器最终获知了 www.sina.com的地址;
[0007]5)递归服务器将查询所得到的资源记录返回给客户端,并将该记录存储在缓存中。当其他终端用户向该递归服务器查询WWW.sina.com时,递归服务器直接在缓存中查找匹配的资源记录就能进行及时响应。而终端用户也可以经由该地址信息访问对应网络资源。
[0008]在上述查询过程中,递归服务器向任何一个权威服务器发送查询消息后,如果对应的伪造响应数据包能够在正确响应数据包到达之前被递归服务器接收,且匹配了递归服务器发送出的查询数据包的UDP端口号和数据包ID,递归服务器就会把错误的权威资源记录缓存起来,从而造成缓存中毒。当后续用户查询该域名时,都被引导到错误或恶意的站点。
[0009]如何识别和避免递归服务器缓存不可信的或伪造的响应信息,以尽量减小DNS递归服务器缓存中毒的可能性是一亟待解决的技术问题。

【发明内容】

[0010]针对现有技术中存在的技术问题,本发明的目的在于提供一种DNS递归服务器的查询请求服务方法。本发明提出将DNS递归服务器的缓存划分成两个部分:可信缓存区和不可信缓存区。其中可信缓存区是通过正常查询而缓存的正确DNS资源记录;不可信缓存区是由于DNS递归服务器通过监测DNS流量对某些响应产生怀疑而对应的资源记录。可信缓存区的使用依照递归服务器通常使用缓存数据的规则,而不可信缓存区的数据不能直接用于回复客户端。只有当监测结果回落到递归服务器选择的可信门限以下,才对不可信缓存区的资源记录重新发起查询过程,并将对应的响应添加到可信缓存区。
[0011]本发明的技术方案为:[0012]一种DNS递归服务器的查询请求服务方法,其步骤为:
[0013]I)将DNS递归服务器的缓存划分可信缓存区和不可信缓存区;其中,可信缓存区用于缓存可信的DNS资源记录,不可信缓存区是用于存储可疑查询请求对应的DNS资源记录;
[0014]2)递归服务器收到一查询请求后,在可信缓存区的资源记录中查找是否有匹配的资源;如果有,则将匹配资源记录返回给查询端;如果没有,则向权威服务器发起查询请求;
[0015]3)递归服务器监测该查询请求的响应数据包到达率;所述响应数据包到达率为设定时间长度内接收到的针对同一查询请求的响应数据包;
[0016]4)如果该查询请求的响应数据包到达率超过预设可信门限,则递归服务器将该查询请求的响应数据包置于不可信缓存区;如果该查询请求的响应数据包到达率未超过该预设可信门限,则重新向权威服务器发起查询请求,将得到的DNS资源记录发送给查询端,并将其作为一可信的DNS资源记录添加到可信缓存区。
[0017]进一步的,如果该查询请求的响应数据包到达率超过预设可信门限时,递归服务器收到其他查询端发出的与该查询请求相同的查询请求2,且该查询请求2的响应数据包到达率未超过该预设可信门限,则递归服务器针对该查询请求2向权威服务器发起查询请求。
[0018]进一步的,如果某查询请求的响应数据包到达率超过预设可信门限,则所述递归服务器通过根据该查询请求发送出去的查询消息中的目的IP地址,确定出缓存中毒攻击源。
[0019]进一步的,所述递归服务器实时监测查询请求的响应数据包到达率。
[0020]本发明具有如下特点:
[0021]I)通过划分缓存区域实现对不可信资源记录的隔离;
[0022]2)同一个查询请求的响应数据包到达率过大时,递归服务器认为有缓存中毒攻击发生,从而将接收到的响应判定为不可信;
[0023]3)通过把不可信缓存区中资源记录的重查结果填充到可信缓存区,保证了递归服务器通过使用缓存提高查询处理效率的目的。
[0024]与现有技术相比,本发明的积极效果为:
[0025]本发明通过将缓存区域划分可信缓存区和不可信缓存区,实现对不可信资源记录的隔离;从而避免递归服务器缓存不可信的或伪造的响应信息,减小了 DNS递归服务器缓存中毒的可能性,保证了递归服务器查询处理的效率。
【专利附图】

【附图说明】
[0026]图1为现有DNS查询流程图;
[0027]图2为本发明的方法流程图。
【具体实施方式】
[0028]本发明中递归服务器的处理流程如图2所示。
[0029]I)递归服务器收到一查询请求后,先在可信缓存的资源记录中查找是否有匹配的资源;递归服务器首先希望通过可信缓存的查询,将匹配响应尽快返回给用户,从而提高查询效率(在没有发现攻击情况下,所有查询到的结果都会保存到可信缓存中,比如图1例子中com的权威服务器地址、sina.com的权威服务器地址和www.sina.com的地址。当检测到攻击时,接收到的响应信息就存储到不可信区中。);如果没有,则向权威服务器发起查询请求,当该查询请求对应的响应数据包到达率超过预设的门限,就认为该缓存正遭受毒化攻击,中毒源就是递归服务器发送出去的查询消息的目的IP地址。比如当缓存中毒攻击源向递归服务器发送域名如XXX.yyy.cn的查询请求时,其未在可信缓存中找到对应资源记录的递归服务器随即向权威服务器发起查询过程;权威服务器的主要功能就是维护DNS数据。“响应数据包到达率”就是通过统计一定时间内接收到的针对同一查询请求的响应数据包。
[0030]2)为了对该递归服务器进行毒化,攻击源向递归服务器发送大批量的伪造响应消息,以期匹配递归服务器向权威服务器发送DNS查询消息的UDP端口号和数据包ID ;
[0031]3)如果递归服务器通过同一个查询请求的响应数据包到达率判定该响应的不可信程度,那么如果响应数据包到达率超过预设门限后,递归服务器将接收到的匹配响应消息置于不可信缓存区(为对本发明技术方案进行清晰展示,本发明以同一个查询请求的响应数据包到达率判定该响应的不可信程度,但本发明也可以支持其他判定规则);
[0032]4)如果递归服务器此时接收到其他客户端发起的对应该毒化缓存的查询请求,且其他客户端发出的请求的对应响应回落到可信门限以下,则递归服务器不采用不可信缓存区中的数据,并重新向权威服务器发起查询过程予以回复;
[0033]5)直到递归服务器接收到的该查询请求的响应数据包到达率回落到可信门限以下,递归服务器认为攻击已经结束,于是重新发起查询过程,并将响应中的资源记录添加到可信区,以实现对后续查询的快速响应。比如:如有查询请求消息1、2,对应查询消息1,有大量伪造响应,对应查询消息2,还是有大量伪造响应,那么递归服务器就认为查询I和查询2都是伪造的查询,是毒化缓存所用,而不予以响应。但是如果这两个查询对应的响应在可信门限以下,那么递归服务器就认为这是个正常的查询,从而向权威服务器发起查询,然后将响应中的资源记录添加到可信区,以实现对后续查询的快速响应。
【权利要求】
1.一种DNS递归服务器的查询请求服务方法,其步骤为: 1)将DNS递归服务器的缓存划分可信缓存区和不可信缓存区;其中,可信缓存区用于缓存可信的DNS资源记录,不可信缓存区是用于存储可疑查询请求对应的DNS资源记录; 2)递归服务器收到一查询请求后,在可信缓存区的资源记录中查找是否有匹配的资源;如果有,则将匹配资源记录返回给查询端;如果没有,则向权威服务器发起查询请求; 3)递归服务器监测该查询请求的响应数据包到达率;所述响应数据包到达率为设定时间长度内接收到的针对同一查询请求的响应数据包; 4)如果该查询请求的响应数据包到达率超过预设可信门限,则递归服务器将该查询请求的响应数据包置于不可信缓存区;如果该查询请求的响应数据包到达率未超过该预设可信门限,则重新向权威服务器发起查询请求,将得到的DNS资源记录发送给查询端,并将其作为一可信的DNS资源记录添加到可信缓存区。
2.如权利要求1所述的方法,其特征在于如果该查询请求的响应数据包到达率超过预设可信门限时,递归服务器收到其他查询端发出的与该查询请求相同的查询请求2,且该查询请求2的响应数据包到达率未超过该预设可信门限,则递归服务器针对该查询请求2向权威服务器发起查询请求。
3.如权利要求1所述的方法,其特征在于如果某查询请求的响应数据包到达率超过预设可信门限,则所述递归服务器通过根据该查询请求发送出去的查询消息中的目的IP地址,确定出缓存中毒攻击源。
4.如权利要求1所述的方法,其特征在于所述递归服务器实时监测查询请求的响应数据包到达率。
【文档编号】H04L29/06GK103685168SQ201210328266
【公开日】2014年3月26日 申请日期:2012年9月7日 优先权日:2012年9月7日
【发明者】延志伟, 胡安磊, 王利明 申请人:中国科学院计算机网络信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1