一种基于场景的DNS访问解析方法和系统转让专利

申请号 : CN202110706522.3

文献号 : CN113596186B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨霄张宇明郭思琦杨呈飞丛群

申请人 : 北京网瑞达科技有限公司

摘要 :

本发明公开了一种基于场景的DNS访问解析方法和系统。本发明可以针对DNS客户端向DNS服务器发送的查询请求,执行场景模式判断;并根据场景模式评估风险度,对应该风险度给与不同级别的控制策略,从而增强DNS访问解析对DDoS、DNS劫持等黑客攻击手段的防御能力。

权利要求 :

1.一种基于场景的DNS访问解析方法,其特征在于,包括:步骤1,获得场景监测窗口内由DNS客户端向DNS服务器发送的查询请求报文;

步骤2,DNS服务器分析所述场景监测窗口内该DNS客户端发送查询请求报文的状况,进行场景模式判断;

步骤3,根据所述场景模式,评估该DNS客户端的风险度,并对应该风险度设置控制策略;

在步骤1中,所述DNS服务器根据场景安全需求确定响应策略,在所述场景监测窗口内针对所述查询请求报文,按照该响应策略对DNS客户端执行响应;其中,所述响应策略包括以下策略的任意一种或者多种:伪随机域名重传响应,即利用DNS的特性,递归请求具有迭代查询一直到获取最终结果的特点,由 DNS服务器的递归服务器先给DNS客户端返回一个唯一随机字符串,作为伪随机域名,并追踪该DNS客户端是否继续发起针对该伪随机域名的查询请求报文;协议转化重传响应,由DNS服务器的递归服务器给DNS客户端返回一个伪应答且将该应答TC标记置为1,并追踪该DNS客户端是否继续发起域名字段的TCP协议的查询请求报文;隧道会话重传响应,由DNS服务器的递归服务器给DNS客户端返回一个隧道会话应答,并追踪该DNS客户端是否继续发起建立隧道会话的请求,进而在该请求得到允许后发送查询报文请求;丢弃报文响应,利用DNS的特性,在DNS客户端在限定的时间内没有收到DNS服务器的应答时,会重发该查询报文请求,因此DNS服务器的递归服务器将直接丢弃首次查询请求报文,并追踪该DNS客户端是否继续发起该域名字段的二次查询报文请求。

2.根据权利要求1所述的基于场景的DNS访问解析方法,其特征在于,步骤2包括:所述DNS服务器根据DNS客户端在所述响应下的查询请求报文发送状况,进行所述场景模式的判断。

3.根据权利要求1所述的基于场景的DNS访问解析方法,其特征在于,步骤2的场景模式判断中,根据步骤1中所采用的响应策略,相适应地确定准会话或者会话机制,以及准会话或者会话中的规则逻辑;对于准会话或者会话中的规则逻辑,包括适配每种响应策略的场景模式判断意图、场景模式槽位以及会话/准会话控制机制;在实际的会话或者准会话过程中,按照会话/准会话控制机制,调度控制会话或者准会话的执行;对DNS客户端的查询请求报文发送状况进行持续监视,从而填充场景模式槽位,直至场景模式槽位填充完毕则结束当前的准会话或者会话。

4.一种基于场景的DNS访问解析系统,其特征在于,包括:DNS交互响应模块,获得场景监测窗口内由DNS客户端向DNS服务器发送的查询请求报文;

场景模式判断模块,DNS服务器分析所述场景监测窗口内该DNS客户端发送查询请求报文的状况,进行场景模式判断;

风险度评估控制模块,根据所述场景模式,评估该DNS客户端的风险度,并对应该风险度设置控制策略;

其中,所述DNS交互响应模块用于控制所述DNS服务器根据场景安全需求确定响应策略,在所述场景监测窗口内针对所述查询请求报文,按照该响应策略对DNS客户端执行响应;所述响应策略包括以下策略的任意一种或者多种:伪随机域名重传响应,即利用DNS的特性,递归请求具有迭代查询一直到获取最终结果的特点,由 DNS服务器的递归服务器先给DNS客户端返回一个唯一随机字符串,作为伪随机域名,并追踪该DNS客户端是否继续发起针对该伪随机域名的查询请求报文;协议转化重传响应,由DNS服务器的递归服务器给DNS客户端返回一个伪应答且将该应答TC标记置为1,并追踪该DNS客户端是否继续发起域名字段的TCP协议的查询请求报文;隧道会话重传响应,由DNS服务器的递归服务器给DNS客户端返回一个隧道会话应答,并追踪该DNS客户端是否继续发起建立隧道会话的请求,进而在该请求得到允许后发送查询报文请求;丢弃报文响应,利用DNS的特性,在DNS客户端在限定的时间内没有收到DNS服务器的应答时,会重发该查询报文请求,因此DNS服务器的递归服务器将直接丢弃首次查询请求报文,并追踪该DNS客户端是否继续发起该域名字段的二次查询报文请求。

5.根据权利要求4所述的基于场景的DNS访问解析系统,其特征在于,场景模式判断模块用于控制所述DNS服务器根据DNS客户端在所述响应下的查询请求报文发送状况,进行所述场景模式的判断。

6.根据权利要求4所述的基于场景的DNS访问解析系统,其特征在于,所述场景模式判断模块在场景模式判断中,根据所采用的响应策略,相适应地确定准会话或者会话机制,以及准会话或者会话中的规则逻辑;对于准会话或者会话中的规则逻辑,包括适配每种响应策略的场景模式判断意图、场景模式槽位以及会话/准会话控制机制;在实际的会话或者准会话过程中,按照会话/准会话控制机制,调度控制会话或者准会话的执行;对DNS客户端的查询请求报文发送状况进行持续监视,从而填充场景模式槽位,直至场景模式槽位填充完毕则结束当前的准会话或者会话。

说明书 :

一种基于场景的DNS访问解析方法和系统

技术领域

[0001] 本发明涉及互联网技术领域,具体是一种基于场景的DNS访问解析方法和系统。

背景技术

[0002] 目前的网络访问一般是基于TCP/IP协议的,而在TCP/IP协议的框架下,网络访问的通信过程是基于IP地址的,也就是在网络上进行通讯时只能识别如“202.96.134.133”之
类的IP地址从而判断网络访问的目的地。而例如www.xxyyzz.com等形式的域名是不能用于
直接判断网络访问的目标地的。我们在网络访问时提供域名后,需要由DNS服务器自动把域
名“翻译”成相应的IP地址,从而根据IP地址确定网络访问的目的地,这一过程即是“DNS访
问解析”。
[0003] 这里提到的DNS(Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,是TCP/IP协议的一个有机组成部分,用来将主
机名和域名转换为IP地址。具体来说,网络节点运行DNS系统的客户端,将域名字段提供给
DNS客户端之后,DNS客户端向DNS服务器端发送一份查询请求报文,DNS服务器向DNS客户端
反馈答复报文,该报文包含有该域名字段对应的IP地址。DNS服务器端包括递归服务器和多
级的DNS权威服务器,多级的DNS权威服务器又可以划分为根服务器、顶级域名服务器、次级
域名服务器。递归服务器迭代多次查询各级DNS权威服务器,将多次查询的结果组合为IP地
址。
[0004] DNS访问解析面临着网络上持续的各类黑客攻击。针对DNS访问解析的攻击手段包括:DDoS攻击,即分布式拒绝服务攻击,攻击者通过控制大量的傀儡机,对目标主机发起洪
水攻击,造成DNS服务器瘫痪。DDoS攻击通常分为流量型攻击和应用型攻击。流量型攻击会
瞬间堵塞网络带宽;应用型攻击主要是将DNS服务器的资源耗尽,攻击将造成DNS服务器反
应缓慢直至再也无法响应正常的请求。DNS劫持,即攻击者通过劫持DNS服务器,拦截域名解
析的请求,并篡改了某个域名的解析结果,导致按照该域名访问网络的用户实际访问的是
攻击者篡改后的IP地址指向的网络节点,攻击者进而可以利用该网络节点实施冒充合法网
站欺诈等操作。
[0005] 由于DNS访问默认的查询请求都是基于UDP协议的,但是UDP协议不支持会话交互,因此不能通过DNS服务器和DNS客户端之间的交互,来判断某个查询请求是否为实际上的攻
击行为,仅仅查看某个DNS数据报文是不可能区分是否为攻击请求或者真实用户请求的,这
就导致DNS访问解析成为网络基础中比较薄弱的环节。

发明内容

[0006] 鉴于上述问题,本发明的目的是提供基于场景的DNS访问解析方法和系统。本发明可以DNS客户端向DNS服务器发送的查询请求,执行场景模式判断;并根据场景模式评估风
险度,对应该风险度给与不同级别的控制策略,从而增强DNS访问解析对DDoS、DNS劫持等黑
客攻击手段的防御能力。
[0007] 本发明实施例提供一种基于场景的DNS访问解析方法,其特征在于,包括:
[0008] 步骤1,获得场景监测窗口内由DNS客户端向DNS服务器发送的查询请求报文;
[0009] 步骤2,DNS服务器分析所述场景监测窗口内该DNS客户端发送查询请求报文的状况,进行场景模式判断;
[0010] 步骤3,根据所述场景模式,评估该DNS客户端的风险度,并对应该风险度设置控制策略。
[0011] 优选的是,在步骤1中,所述DNS服务器根据场景安全需求确定响应策略,在所述场景测窗口内针对所述查询请求报文,按照该响应策略对DNS客户端执行响应。
[0012] 优选的是,步骤1的响应策略包括以下策略的任意一种或者多种:
[0013] 伪随机域名重传响应,即利用DNS的特性,递归请求具有迭代查询一直到获取最终结果的特点,有DNS服务器的递归服务器先给DNS客户端返回一个唯一随机字符串,作为伪
随机域名,并追踪该DNS客户端是否继续发起针对该伪随机域名的查询请求报文;
[0014] 协议转化重传响应,由DNS服务器的递归服务器给DNS客户端返回一个伪应答且将该应答TC标记置为1,并追踪该DNS客户端是否继续发起该域名字段的TCP协议的查询请求
报文;
[0015] 隧道会话重传响应,由DNS服务器的递归服务器给DNS客户端返回一个隧道会话应答,并追踪该DNS客户端是否继续发起建立隧道会话的请求,进而在该请求得到允许后发送
查询报文请求;
[0016] 丢弃报文响应,利用DNS的特性,在DNS客户端在限定的时间内没有收到DNS服务器的应答时,会重发该查询报文请求。因此DNS服务器的递归服务器将直接丢弃该首次查询请
求报文,并追踪该DNS客户端是否继续发起该域名字段的二次查询报文请求。
[0017] 优选的是,步骤2包括:所述DNS服务器根据DNS客户端在所述响应下的查询请求报文发送状况,进行所述场景模式的判断。
[0018] 优选的是,步骤2的场景模式判断中,根据步骤1中所采用的响应策略,相适应地确定准会话或者会话机制,以及准会话或者会话中的规则逻辑;对于准会话或者会话中的规
则逻辑,包括适配每种响应策略的场景模式判断意图、场景模式槽位以及会话/准会话控制
机制;在实际的会话或者准会话过程中,按照会话/准会话控制机制,调度控制会话或者准
会话的执行;对DNS客户端的查询请求报文发送状况进行持续监视,从而填充场景模式槽
位,直至场景模式槽位填充完毕则结束当前的准会话或者会话。
[0019] 本发明实施例进而提供了一种基于场景的DNS访问解析系统,其特征在于,包括:
[0020] DNS交互响应模块,获得场景监测窗口内由DNS客户端向DNS服务器发送的查询请求报文;
[0021] 场景模式判断模块,DNS服务器分析所述场景监测窗口内该DNS客户端发送查询请求报文的状况,进行场景模式判断;
[0022] 风险度评估控制模块,根据所述场景模式,评估该DNS客户端的风险度,并对应该风险度设置控制策略。
[0023] 优选的是,所述DNS交互响应模块用于控制所述DNS服务器根据场景安全需求确定响应策略,在所述场景测窗口内针对所述查询请求报文,按照该响应策略对DNS客户端执行
响应。
[0024] 优选的是,所述响应策略包括以下策略的任意一种或者多种:
[0025] 伪随机域名重传响应,即利用DNS的特性,递归请求具有迭代查询一直到获取最终结果的特点,有DNS服务器的递归服务器先给DNS客户端返回一个唯一随机字符串,作为伪
随机域名,并追踪该DNS客户端是否继续发起针对该伪随机域名的查询请求报文;
[0026] 协议转化重传响应,由DNS服务器的递归服务器给DNS客户端返回一个伪应答且将该应答TC标记置为1,并追踪该DNS客户端是否继续发起该域名字段的TCP协议的查询请求
报文;
[0027] 隧道会话重传响应,由DNS服务器的递归服务器给DNS客户端返回一个隧道会话应答,并追踪该DNS客户端是否继续发起建立隧道会话的请求,进而在该请求得到允许后发送
查询报文请求;
[0028] 丢弃报文响应,利用DNS的特性,在DNS客户端在限定的时间内没有收到DNS服务器的应答时,会重发该查询报文请求。因此DNS服务器的递归服务器将直接丢弃该首次查询请
求报文,并追踪该DNS客户端是否继续发起该域名字段的二次查询报文请求。
[0029] 优选的是,场景模式判断模块用于控制所述DNS服务器根据DNS客户端在所述响应下的查询请求报文发送状况,进行所述场景模式的判断。
[0030] 优选的是,所述场景模式判断模块在场景模式判断中,根据所采用的响应策略,相适应地确定准会话或者会话机制,以及准会话或者会话中的规则逻辑;对于准会话或者会
话中的规则逻辑,包括适配每种响应策略的场景模式判断意图、场景模式槽位以及会话/准
会话控制机制;在实际的会话或者准会话过程中,按照会话/准会话控制机制,调度控制会
话或者准会话的执行;对DNS客户端的查询请求报文发送状况进行持续监视,从而填充场景
模式槽位,直至场景模式槽位填充完毕则结束当前的准会话或者会话。
[0031] 可见,本发明针对DNS访问解析,设计了多种与场景安全需求对应的响应策略,且实现了会话/准会话模式下的场景模式判断,获得场景模式判断意图以及场景模式槽位,继
而在场景模式下基于各个维度的槽位实现对DNS客户端的风险度评估,并对应该风险度设
置控制策略,从而能够有效遏制恶意DNS客户端的DNS攻击风险。
[0032] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明
书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0033] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0034] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0035] 图1为本发明实施例提供的一种基于场景的DNS访问解析方法的流程图;
[0036] 图2为本发明实施例提供的一种基于场景的DNS访问解析系统的结构框图。

具体实施方式

[0037] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例
所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
[0038] 参见图1,本发明实施例提供一种基于场景的DNS访问解析方法,其特征在于,包括:
[0039] 步骤1,获得场景监测窗口内由DNS客户端向DNS服务器发送的查询请求报文;
[0040] 步骤2,DNS服务器分析所述场景监测窗口内该DNS客户端发送查询请求报文的状况,进行场景模式判断;
[0041] 步骤3,根据所述场景模式,评估该DNS客户端的风险度,并对应该风险度设置控制策略。
[0042] 在步骤1中,所述DNS服务器根据场景安全需求确定响应策略,在所述场景监测窗口内针对所述查询请求报文,按照该响应策略对DNS客户端执行响应。
[0043] 可以根据DNS服务器自身的等级、预期的网络环境风险程度等因素来预判场景安全需求;DNS服务器自身等级高或者网络环境风险程度高,显然场景安全需求的等级也就
高。也可以根据不同的域名字段分类来设定场景安全需求,例如,DNS服务器包含的递归服
务器解析域名字段,如果域名字段中含有预设的敏感字段关键词,例如BANK、GOV等,则预判
具有高场景安全需求等级。
[0044] DNS根据场景安全需求的等级,可以对应设置对于所述查询请求报文不同等级的响应策略。可以选择的响应策略包括以下方面:
[0045] 伪随机域名重传响应,即利用DNS的特性,递归请求具有迭代查询一直到获取最终结果的特点,有DNS服务器的递归服务器先给DNS客户端返回一个唯一随机字符串,作为伪
随机域名,并追踪该DNS客户端是否继续发起针对该伪随机域名的查询请求报文。如果该
DNS客户端在限定的时间内跟进发起了针对伪随机域名的查询请求报文,则确认该DNS客户
端是可被信任的,由递归服务器将该DNS客户端的查询请求报文分配给对应的DNS权威服务
器进行解析和处理。相对地,如果DNS客户端超时并没有发起针对该伪随机域名的请求,则
该DNS客户端将被判定存在安全风险。
[0046] 协议转化重传响应,即利用DNS的特性,根据DNS协议中请求端遇到DNS应答TC标记为1时要求发起TCP请求的特点,由DNS服务器的递归服务器给DNS客户端返回一个伪应答且
将该应答TC标记置为1,并追踪该DNS客户端是否继续发起该域名字段的TCP协议的查询请
求报文。如果DNS客户端在限定的时间内跟进发起了TCP协议的查询请求报文,确认该DNS客
户端是可被信任的,由递归服务器将该DNS客户端的查询请求报文分配给对应的DNS权威服
务器进行解析和处理。相对地,如果DNS客户端超时并没有发起TCP协议的查询请求报文,则
该DNS客户端将被判定存在安全风险。
[0047] 隧道会话重传响应,由于DNS访问解析中UDP协议是不支持建立会话的,TCP协议也不支持在DNS客户端和DNS服务器之间建立专门的隧道,因此在本响应机制下,支持在DNS服
务器和DNS客户端之间开辟专门的隧道,支持专门隧道基础上的会话操作,进而由DNS服务
器的递归服务器给DNS客户端返回一个隧道会话应答,并追踪该DNS客户端是否继续发起建
立隧道会话的请求,进而在该请求得到允许后发送查询报文请求。如果DNS客户端在限定的
时间内跟进发起了所述隧道会话的请求,确认该DNS客户端是可被信任的,由递归服务器允
许建立隧道并将该DNS客户端通过隧道会话传来的查询请求报文分配给对应的DNS权威服
务器进行解析和处理。相对地,如果DNS客户端超时并没有发起所述隧道会话的请求,则该
DNS客户端将被判定存在安全风险。
[0048] 丢弃报文响应,利用DNS的特性,在DNS客户端在限定的时间内没有收到DNS服务器的应答时,会重发该查询报文请求。因此DNS服务器的递归服务器将直接丢弃该首次查询请
求报文,并追踪该DNS客户端是否继续发起该域名字段的二次查询报文请求。如果DNS客户
端在限定的时间内跟进发起了针对域名字段的二次查询请求报文,确认该DNS客户端是可
被信任的,由递归服务器将该DNS客户端的查询请求报文分配给对应的DNS权威服务器进行
解析和处理。相对地,如果DNS客户端超时并没有发起二次的查询请求报文,则该DNS客户端
将被判定存在安全风险。
[0049] 针对所述查询请求报文,可以按照与当前场景安全需求等级相对应的响应策略,采用伪随机域名重传响应、协议转化重传响应、隧道会话重传响应或者丢弃报文响应,对发
起所述查询请求报文的DNS客户端执行响应。例如,如果当前场景安全需求等级级别为普
通,则可以采取丢弃报文响应的机制;如果当前场景安全需求等级级别为中级,则可以采取
伪随机域名重传响应;如果当前场景安全需求等级级别为高级,则可以采取协议转化重传
响应;如果当前场景安全需求等级级别为最高级,则可以采取隧道会话重传响应。
[0050] 在步骤2中,所述DNS服务器根据DNS客户端在所述响应下的查询请求报文发送状况,进行所述场景模式的判断。
[0051] 虽然步骤1中定义了上述响应策略,但是对于恶意的DNS客户端来说仍然可能迎合欺骗上述策略而继续实施DDoS攻击、劫持攻击等;另一方面,以上响应策略也存在将正常
DNS客户端误判为恶意的可能性,例如,DNS客户端有可能受到自身限制而不能发起TCP协议
的查询请求报文。为此,步骤2中加入了场景模式的判断。
[0052] 在步骤2的场景模式判断中,首先,确定所采用的准会话或者会话机制,以及相应的规则逻辑;然后,进行DNS客户端的场景模式判断。
[0053] 首先,要根据步骤1中所采用的响应策略,相适应地确定准会话或者会话机制,以及准会话或者会话中的规则逻辑。对于协议转化重传响应乃至隧道会话重传响应,基于TCP
协议或者隧道,显然可以实现会话机制;而对于依旧基于UDP协议的丢弃报文响应和伪随机
域名重传响应,则可以采用多次丢弃或者多次返回伪随机域名的形式,实现准会话的机制。
对于准会话或者会话中的规则逻辑,则可以包括适配每种响应策略的场景模式判断意图、
场景模式槽位以及会话/准会话控制机制。
[0054] 其中,对于丢弃报文响应,场景模式判断意图可以定义为“二次查询请求跟随度”,即经过多次丢弃报文操作后DNS客户端是否每次均及时发起二次查询请求;对于该意图下
的场景模式槽位,即实现该场景模式判断意图所必需明确的判断因素,可以定义为“二次查
询延迟时间”、“二次查询请求次数”;进而,定义会话/准会话控制机制为:在达到丢弃报文
的次数上限之前,丢弃每次从DNS客户端收到的查询报文请求,并监控每次丢弃后收到二次
查询请求的延迟时间;如果延迟时间在预计的正常延迟时间内,则对二次查询请求次数+1;
并且,根据每次的延迟时间动态调整丢弃报文的次数上限;达到次数上限后,按照最终的二
次查询请求次数和平均的二次查询延迟时间填充对应的场景模式槽位。
[0055] 对于伪随机域名重传响应,场景模式判断意图可以定义为“域名跟随度”,对于该意图下的场景模式槽位,即实现该场景模式判断意图所必需明确的判断因素,可以定义为
“域名匹配性”、“域名更新次数”、“域名重传延迟时间”、“域名重传次数”;进而,定义会话/
准会话控制机制为:在达到伪随机域名重传的次数上限之前,每次向DNS客户端反馈伪随机
域名,并且监控收到下一次查询请求中的域名是否与前次反馈的伪随机域名完全匹配,如
果完全匹配则维护域名匹配性为有效,且为域名正确更新次数+1;并且在伪随机域名匹配
的情况下,监控每次反馈后收到下一次查询请求的延迟时间;如果延迟时间在预计的正常
延迟时间内,则对域名重传次数+1;当域名匹配性变为无效时,停止域名重传响应,当域名
匹配性保持有效时,根据延迟时间动态调整伪随机域名重传的次数上限,直至达到次数上
限时停止域名重传响应;基于以上机制停止域名重传响应后,按照最终的域名匹配性状态、
域名正确更新次数、平均域名重传延迟时间、域名重传次数填充对应的场景模式槽位。
[0056] 对于协议转化重传响应和隧道会话重传响应,场景模式判断意图均可以定义为“会话建立有效性”,对于该意图下的场景模式槽位,即实现该场景模式判断意图所必需明
确的判断因素,可以定义为“会话建立有效性”、“会话建立延迟时间”、“会话维持有效性”
“会话持续维持时间”、“会话响应延迟时间”;进而,定义会话/准会话控制机制为:在向DNS
客户端返回TC标记置为1的应答、或者隧道会话应答之后,监控是否成功基于TCP协议或者
隧道通信方式而建立会话,根据监控结果维护会话建立有效性为有效,并监控和记录从返
回应答到会话建立的延迟时间;在会话建立之后,可以基于伪随机域名重传类似的机制,通
过会话给DNS客户端反馈伪随机域名,在这一过程中,监控TCP协议或者隧道会话是否维持
有效性,并且监控整个伪随机域名机制过程中的会话持续维持时间,以及每次反馈伪随机
域名到收到针对该伪随机域名的查询请求这一过程的会话响应延迟时间。最终,按照会话
建立有效性、|会话建立延迟时间、会话维持有效性、会话持续维持时间、会话响应延迟时间
填充对应的场景模式槽位。
[0057] 然后,在实际的会话或者准会话过程中,按照会话/准会话控制机制,调度控制会话或者准会话的执行;这一过程中,一方面保持对DNS服务器的响应策略的追踪,根据响应
策略的维持或者变更而及时切换场景模式判断意图;另一方面,在当前的场景模式判断意
图下,基于该意图而对DNS服务器的响应在符合响应策略的前提下进行调度,以及对DNS客
户端的查询请求报文发送状况进行持续监视,从而填充场景模式槽位,直至场景模式槽位
填充完毕则结束当前的准会话或者会话。
[0058] 在步骤3中,根据步骤2的准会话/会话判断的所述场景模式,即针对场景模式判断意图而填充的场景模式槽位,结合响应策略类型,评估该DNS客户端的风险度,并对应该风
险度设置控制策略。例如,对于丢弃报文响应,根据所述场景模式槽位“二次查询延迟时
间”、“二次查询请求次数”,当二次查询延迟时间短且二次查询请求次数多时,则可以DNS客
户端的风险度低,从而可以针对该风险度,在后续的DNS解析中对该DNS客户端采取相对宽
松的控制策略。对于伪随机域名重传响应,类似地,可以根据域名匹配性状态、域名正确更
新次数、平均域名重传延迟时间、域名重传次数,判断DNS客户端的风险度,进而决定在后续
的DNS解析中国采取宽松还是严格的控制策略。对于协议转化重传响应和隧道会话重传响
应,按照会话建立有效性、|会话建立延迟时间、会话维持有效性、会话持续维持时间、会话
响应延迟时间等场景模式槽位,判断DNS客户端的风险度,进而决定在后续的DNS解析中国
采取宽松还是严格的控制策略。
[0059] 参见图2,本发明实施例进而提供了一种基于场景的DNS访问解析系统,其特征在于,包括:
[0060] DNS交互响应模块,获得场景监测窗口内由DNS客户端向DNS服务器发送的查询请求报文;
[0061] 场景模式判断模块,DNS服务器分析所述场景监测窗口内该DNS客户端发送查询请求报文的状况,进行场景模式判断;
[0062] 风险度评估控制模块,根据所述场景模式,评估该DNS客户端的风险度,并对应该风险度设置控制策略。
[0063] DNS交互响应模块用于控制所述DNS服务器根据场景安全需求确定响应策略,在所述场景监测窗口内针对所述查询请求报文,按照该响应策略对DNS客户端执行响应。
[0064] DNS交互响应模块可以根据DNS服务器自身的等级、预期的网络环境风险程度等因素来预判场景安全需求;DNS服务器自身等级高或者网络环境风险程度高,显然场景安全需
求的等级也就高。也可以根据不同的域名字段分类来设定场景安全需求,例如,DNS服务器
包含的递归服务器解析域名字段,如果域名字段中含有预设的敏感字段关键词,例如BANK、
GOV等,则预判具有高场景安全需求等级。
[0065] DNS交互响应模块根据场景安全需求的等级,可以对应设置对于所述查询请求报文不同等级的响应策略。可以选择的响应策略包括以下方面:
[0066] 伪随机域名重传响应,即利用DNS的特性,递归请求具有迭代查询一直到获取最终结果的特点,有DNS服务器的递归服务器先给DNS客户端返回一个唯一随机字符串,作为伪
随机域名,并追踪该DNS客户端是否继续发起针对该伪随机域名的查询请求报文。如果该
DNS客户端在限定的时间内跟进发起了针对伪随机域名的查询请求报文,则确认该DNS客户
端是可被信任的,由递归服务器将该DNS客户端的查询请求报文分配给对应的DNS权威服务
器进行解析和处理。相对地,如果DNS客户端超时并没有发起针对该伪随机域名的请求,则
该DNS客户端将被判定存在安全风险。
[0067] 协议转化重传响应,即利用DNS的特性,根据DNS协议中请求端遇到DNS应答TC标记为1时要求发起TCP请求的特点,由DNS服务器的递归服务器给DNS客户端返回一个伪应答且
将该应答TC标记置为1,并追踪该DNS客户端是否继续发起该域名字段的TCP协议的查询请
求报文。如果DNS客户端在限定的时间内跟进发起了TCP协议的查询请求报文,确认该DNS客
户端是可被信任的,由递归服务器将该DNS客户端的查询请求报文分配给对应的DNS权威服
务器进行解析和处理。相对地,如果DNS客户端超时并没有发起TCP协议的查询请求报文,则
该DNS客户端将被判定存在安全风险。
[0068] 隧道会话重传响应,由于DNS访问解析中UDP协议是不支持建立会话的,TCP协议也不支持在DNS客户端和DNS服务器之间建立专门的隧道,因此在本响应机制下,支持在DNS服
务器和DNS客户端之间开辟专门的隧道,支持专门隧道基础上的会话操作,进而由DNS服务
器的递归服务器给DNS客户端返回一个隧道会话应答,并追踪该DNS客户端是否继续发起建
立隧道会话的请求,进而在该请求得到允许后发送查询报文请求。如果DNS客户端在限定的
时间内跟进发起了所述隧道会话的请求,确认该DNS客户端是可被信任的,由递归服务器允
许建立隧道并将该DNS客户端通过隧道会话传来的查询请求报文分配给对应的DNS权威服
务器进行解析和处理。相对地,如果DNS客户端超时并没有发起所述隧道会话的请求,则该
DNS客户端将被判定存在安全风险。
[0069] 丢弃报文响应,利用DNS的特性,在DNS客户端在限定的时间内没有收到DNS服务器的应答时,会重发该查询报文请求。因此DNS服务器的递归服务器将直接丢弃该首次查询请
求报文,并追踪该DNS客户端是否继续发起该域名字段的二次查询报文请求。如果DNS客户
端在限定的时间内跟进发起了针对域名字段的二次查询请求报文,确认该DNS客户端是可
被信任的,由递归服务器将该DNS客户端的查询请求报文分配给对应的DNS权威服务器进行
解析和处理。相对地,如果DNS客户端超时并没有发起二次的查询请求报文,则该DNS客户端
将被判定存在安全风险。
[0070] 针对所述查询请求报文,DNS交互响应模块可以按照与当前场景安全需求等级相对应的响应策略,控制DNS服务器采用伪随机域名重传响应、协议转化重传响应、隧道会话
重传响应或者丢弃报文响应,对发起所述查询请求报文的DNS客户端执行响应。例如,如果
当前场景安全需求等级级别为普通,则可以采取丢弃报文响应的机制;如果当前场景安全
需求等级级别为中级,则可以采取伪随机域名重传响应;如果当前场景安全需求等级级别
为高级,则可以采取协议转化重传响应;如果当前场景安全需求等级级别为最高级,则可以
采取隧道会话重传响应。
[0071] 场景模式判断模块,控制所述DNS服务器根据DNS客户端在所述响应下的查询请求报文发送状况,进行所述场景模式的判断。
[0072] 虽然DNS交互响应模块定义了上述响应策略,但是对于恶意的DNS客户端来说仍然可能迎合欺骗上述策略而继续实施DDoS攻击、劫持攻击等;另一方面,以上响应策略也存在
将正常DNS客户端误判为恶意的可能性,例如,DNS客户端有可能受到自身限制而不能发起
TCP协议的查询请求报文。
[0073] 在场景模式判断中,首先,确定所采用的准会话或者会话机制,以及相应的规则逻辑;然后,进行DNS客户端的场景模式判断。
[0074] 首先,要根据所采用的响应策略,相适应地确定准会话或者会话机制,以及准会话或者会话中的规则逻辑。对于协议转化重传响应乃至隧道会话重传响应,基于TCP协议或者
隧道,显然可以实现会话机制;而对于依旧基于UDP协议的丢弃报文响应和伪随机域名重传
响应,则可以采用多次丢弃或者多次返回伪随机域名的形式,实现准会话的机制。对于准会
话或者会话中的规则逻辑,则可以包括适配每种响应策略的场景模式判断意图、场景模式
槽位以及会话/准会话控制机制。
[0075] 其中,对于丢弃报文响应,场景模式判断意图可以定义为“二次查询请求跟随度”,即经过多次丢弃报文操作后DNS客户端是否每次均及时发起二次查询请求;对于该意图下
的场景模式槽位,即实现该场景模式判断意图所必需明确的判断因素,可以定义为“二次查
询延迟时间”、“二次查询请求次数”;进而,定义会话/准会话控制机制为:在达到丢弃报文
的次数上限之前,丢弃每次从DNS客户端收到的查询报文请求,并监控每次丢弃后收到二次
查询请求的延迟时间;如果延迟时间在预计的正常延迟时间内,则对二次查询请求次数+1;
并且,根据每次的延迟时间动态调整丢弃报文的次数上限;达到次数上限后,按照最终的二
次查询请求次数和平均的二次查询延迟时间填充对应的场景模式槽位。
[0076] 对于伪随机域名重传响应,场景模式判断意图可以定义为“域名跟随度”,对于该意图下的场景模式槽位,即实现该场景模式判断意图所必需明确的判断因素,可以定义为
“域名匹配性”、“域名更新次数”、“域名重传延迟时间”、“域名重传次数”;进而,定义会话/
准会话控制机制为:在达到伪随机域名重传的次数上限之前,每次向DNS客户端反馈伪随机
域名,并且监控收到下一次查询请求中的域名是否与前次反馈的伪随机域名完全匹配,如
果完全匹配则维护域名匹配性为有效,且为域名正确更新次数+1;并且在伪随机域名匹配
的情况下,监控每次反馈后收到下一次查询请求的延迟时间;如果延迟时间在预计的正常
延迟时间内,则对域名重传次数+1;当域名匹配性变为无效时,停止域名重传响应,当域名
匹配性保持有效时,根据延迟时间动态调整伪随机域名重传的次数上限,直至达到次数上
限时停止域名重传响应;基于以上机制停止域名重传响应后,按照最终的域名匹配性状态、
域名正确更新次数、平均域名重传延迟时间、域名重传次数填充对应的场景模式槽位。
[0077] 对于协议转化重传响应和隧道会话重传响应,场景模式判断意图均可以定义为“会话建立有效性”,对于该意图下的场景模式槽位,即实现该场景模式判断意图所必需明
确的判断因素,可以定义为“会话建立有效性”、|”会话建立延迟时间”、“会话维持有效性”
“会话持续维持时间”、“会话响应延迟时间”;进而,定义会话/准会话控制机制为:在向DNS
客户端返回TC标记置为1的应答、或者隧道会话应答之后,监控是否成功基于TCP协议或者
隧道通信方式而建立会话,根据监控结果维护会话建立有效性为有效,并监控和记录从返
回应答到会话建立的延迟时间;在会话建立之后,可以基于伪随机域名重传类似的机制,通
过会话给DNS客户端反馈伪随机域名,在这一过程中,监控TCP协议或者隧道会话是否维持
有效性,并且监控整个伪随机域名机制过程中的会话持续维持时间,以及每次反馈伪随机
域名到收到针对该伪随机域名的查询请求这一过程的会话响应延迟时间。最终,按照会话
建立有效性、|会话建立延迟时间、会话维持有效性、会话持续维持时间、会话响应延迟时间
填充对应的场景模式槽位。
[0078] 然后,在实际的会话或者准会话过程中,按照会话/准会话控制机制,调度控制会话或者准会话的执行;这一过程中,一方面保持对DNS服务器的响应策略的追踪,根据响应
策略的维持或者变更而及时切换场景模式判断意图;另一方面,在当前的场景模式判断意
图下,基于该意图而对DNS服务器的响应在符合响应策略的前提下进行调度,以及对DNS客
户端的查询请求报文发送状况进行持续监视,从而填充场景模式槽位,直至场景模式槽位
填充完毕则结束当前的准会话或者会话。
[0079] 风险度评估控制模块,根据准会话/会话判断的所述场景模式,即针对场景模式判断意图而填充的场景模式槽位,结合响应策略类型,评估该DNS客户端的风险度,并对应该
风险度设置控制策略。例如,对于丢弃报文响应,根据所述场景模式槽位“二次查询延迟时
间”、“二次查询请求次数”,当二次查询延迟时间短且二次查询请求次数多时,则可以DNS客
户端的风险度低,从而可以针对该风险度,在后续的DNS解析中对该DNS客户端采取相对宽
松的控制策略。对于伪随机域名重传响应,类似地,可以根据域名匹配性状态、域名正确更
新次数、平均域名重传延迟时间、域名重传次数,判断DNS客户端的风险度,进而决定在后续
的DNS解析中国采取宽松还是严格的控制策略。对于协议转化重传响应和隧道会话重传响
应,按照会话建立有效性、|会话建立延迟时间、会话维持有效性、会话持续维持时间、会话
响应延迟时间等场景模式槽位,判断DNS客户端的风险度,进而决定在后续的DNS解析中国
采取宽松还是严格的控制策略。
[0080] 可见,本发明针对DNS访问解析,设计了多种与场景安全需求对应的响应策略,且实现了会话/准会话模式下的场景模式判断,获得场景模式判断意图以及场景模式槽位,继
而在场景模式下基于各个维度的槽位实现对DNS客户端的风险度评估,并对应该风险度设
置控制策略,从而能够有效遏制恶意DNS客户端的DNS攻击风险。
[0081] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
之内,则本发明也意图包含这些改动和变型在内。