一种基于DNS解析依赖的域名服务风险评估方法与系统技术方案

技术编号:22597528 阅读:25 留言:0更新日期:2019-11-20 12:26
本发明专利技术公开一种基于DNS解析依赖的域名服务风险评估方法与系统,用于确定给定域名的解析过程中所依赖的区域、域名以及服务器,并且在已知相关服务器风险的情况下,能够计算给定域名成功解析的风险。所述方法包括:从被动采集的DNS数据中抽取A、AAAA、CNAME、NS四种类型的资源记录;利用域名解析过程中的父区域依赖、名字服务器依赖、别名依赖、服务器依赖构建给定域名解析的资源记录依赖图;利用前述四种依赖之间的关系将域名解析资源记录依赖图转化成逻辑关系树;利用逻辑关系树中服务器的风险评估值自下向上计算给定域名正常解析的风险值。

A domain name service risk assessment method and system based on DNS resolution dependency

The invention discloses a domain name service risk assessment method and system based on DNS resolution dependency, which is used to determine the region, domain name and server relied on in the resolution process of a given domain name, and can calculate the risk of successful resolution of a given domain name when the risk of the related server is known. The method includes: extracting four types of resource records a, AAAA, CNAME and NS from passively collected DNS data; constructing resource record dependency graph of given domain name resolution by using parent zone dependency, name server dependency, alias dependency and server dependency in the process of domain name resolution; transforming resource record dependency graph of domain name resolution into logic by using the relationship among the four aforementioned dependencies The risk assessment value of the server in the logical relationship tree is used to calculate the risk value of the normal resolution of a given domain name from the bottom up.

【技术实现步骤摘要】
一种基于DNS解析依赖的域名服务风险评估方法与系统
本专利技术涉及网络空间安全领域和风险评估领域,具体涉及一种基于DNS解析依赖的域名服务风险评估方法与系统。
技术介绍
域名系统(Domainnamesystem,以下简称DNS)是互联网的一项基础服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。互联网的正常运转离不开DNS。访问的每一个网页、发送的每一封电子邮件,以及从社交媒体中检索到的每一张图片:所有这些交互都要通过DNS将易于使用的域名(如icann.org)转换为IP地址(如192.0.43.7和2001:500:88:200::7),服务器、路由器和其他网络设备需要根据IP地址将流量路由到互联网上的适当目的地。DNS具有层次化结构,一个域名的完整解析流程依赖于递归服务器代替用户,从根服务器到顶级域名服务器,再到二级域名服务器,最后到域名的权威服务器,进行多次交互的多层级递归解析过程。在DNS中,所有域名都按区域(zone)的层次结构进行组织。父区域服务器包含子区域的被授权服务器的相关信息,区域的解析通过搜索DNS树结构来完成。对于任何区域z,指定一组服务器并将其配置为权威服务器。使用NS(名称服务器)资源记录(RR)在z区域中维护这些服务器的名称。其中一个区域z的父区域(parentzone,记为Parent(z))是z的上一级域。例如,区域a.b.com的父区域为b.com。DNS中域名的NS记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。DNS中域名的CNAME记录是别名记录,也被称为规范名字。这种记录允许用户将多个名字映射到同一台主机(IP地址)。A记录是用来指定主机名(或域名)对应的IP地址记录。是最常用的DNS资源类型。具体来讲,A记录是主机名(或域名)对应的IPv4地址记录。AAAA记录也是用来指定主机名(或域名)对应的IP地址记录,但是AAAA记录是主机名(或域名)对应的IPv6地址记录。域名解析依赖是指如果一个域名d的解析受到区域(域名/服务器)z的影响,则d就依赖于z。DNS解析的是根据不同类型的资源记录实现的。本专利技术仅考虑最常见的DNS的依赖,包括:1)父区域依赖(P依赖):因为域名的解析是从DNS树结构自上而下解析的,一个域名的解析总是会依赖于其父区域;2)名字服务器依赖(NS依赖):一个区域中以NS资源记录的方式记录该区域解析的权威服务器,NS资源记录记载的是权威服务器的名字,而不是地址。所以一个递归服务器在通过NS记录访问该权威服务器之前,必须首先解析出NS记录中名字指向的地址;3)别名依赖(C依赖):如果一个域名解析到一个别名,那么必须在解析该别名之后才能得到IP地址;4)服务器依赖(S依赖):域名解析的实现都依赖于DNS服务器,即依赖于A资源记录或AAAA资源记录指向的IP地址代表的服务器。PassiveDNS即被动采集的DNS数据。被动DNS使用递归名称服务器来记录从不同名称服务器收到的响应,然后将此记录的数据复制到中央数据库。整个DNS作为一个庞大的分布式系统,其正常运行依赖于各个国家和机构的共同参与。虽然参与者众多,但是一个参与组织的服务器节点的失效可能引起巨大的连锁反应导致大量用户受到影响。以2009年暴风影音导致的断网事件为例,该事件最初的导火索不过是为暴风影音客户端提供DNS解析服务的DNSPod因为遭受攻击停止服务。但是由于连锁反应,暴风客户端在无法从DNSPod获取解析的情况下,转而向本地电信DNS发起海量查询,致使本地电信DNS服务瘫痪,最终导致北京、天津、上海、河北、山西、安徽、湖北、广东、广西等省陆续出现大面积互联网网络故障。由此可见,在DNS中,解析过程中一个环节的失效对整个系统的正常运行可能影响巨大。因此,有必要通过分析依赖关系,测量部分的服务器的风险对整体系统的影响,以方便用户了解自身系统的安全状况以及系统正常运行所依赖的区域和服务器,进而根据情况做出合理的选择和安排。
技术实现思路
本专利技术的目的是提供一种测量一个域名的解析过程对一个组织的依赖程度的方法。该方法通过分析一个域名解析过程中涉及的有哪些区域和服务器构建该域名解析的依赖图,再根据图中的属于该组织的服务器宕机的风险值,计算该域名解析对该组织的依赖值,进而得到该域名正常解析的风险值。为实现上述目的,本专利技术采用的技术方案如下:一种基于DNS解析依赖的域名服务风险评估方法,包括以下步骤:1)从DNS数据中抽取不同类型的资源记录;2)利用域名解析过程中的资源记录之间的依赖,构建给定域名解析的资源记录依赖图;3)将资源记录依赖图转化成逻辑关系树;4)利用逻辑关系树中叶子节点表示的服务器的风险评估值自下向上计算给定域名正常解析的风险值。进一步地,步骤1)从被动采集的DNS数据中抽取A、AAAA、CNAME、NS四种类型的资源记录。进一步地,步骤2)所述资源记录之间的依赖,包括父区域依赖、名字服务器依赖、别名依赖、服务器依赖。进一步地,对域名D,步骤2)构建资源记录依赖图的过程包括:2.1)寻找父区域依赖:D的依赖图为有向图G,如果D的父域存在,则记为Dp,如果G中边(D,Dp)不存在,在G中加入边(D,Dp),该边的属性为父区域依赖;2.2)寻找别名依赖:在被动采集的DNS数据中搜索D的CNAME记录,如果D的CNAME记录存在,则记为Dc,如果G中边(D,Dc)不存在,在G中加入边(D,Dc),该边的属性为别名依赖;2.3)对第一步和第二步中新加入依赖图中的节点,重复第一步和第二步;2.4)寻找名字服务器依赖;2.5)将图中的互为替代关系的节点合并为一个组合,利用该组合去掉依赖图中的环;2.6)将生成的图中的组合恢复为原始的节点;2.7)寻找对应的服务器,生成服务器依赖。进一步地,步骤2.5)按照以下步骤打破图中的闭环:(1)将图中的互为替代关系的节点合并为一个组合;(2)将一个组合视为一个节点,在合并后的图中找到所有的闭环,每次都选择其中包含节点的数目最小的闭环进行处理,按照如下规则选择要去掉的边,各规则的重要性依次递减:(i)选择属性为父区域依赖的边;(ii)优先选择不与组合节点邻接的边;(iii)优先选择入度小的边;(3)遍历依赖图,寻找没有入度的节点,如果该节点不是根节点即域名D,就去掉该节点以及与该节点相关联的边;重复该步骤直到图中不存在除根节点之外的没有入度的节点;(4)重复步骤(2)(3),直到图中没有闭环为止。进一步地,步骤3)根据资源记录依赖图中边的性质也即不同依赖的性质,将不同的依赖用不同的逻辑连接符连接起来,生成一棵逻辑关系树,其中同种依赖之间的关系为OR,不同种依赖之间的关系都是AND;该逻辑关系树的根节点为资源记录依赖图对应的域名,叶子节点为该域名解析过程中所有依赖的服务器IP地址。...

【技术保护点】
1.一种基于DNS解析依赖的域名服务风险评估方法,其特征在于,包括以下步骤:/n1)从DNS数据中抽取不同类型的资源记录;/n2)利用域名解析过程中的资源记录之间的依赖,构建给定域名解析的资源记录依赖图;/n3)将资源记录依赖图转化成逻辑关系树;/n4)利用逻辑关系树中叶子节点表示的服务器的风险评估值自下向上计算给定域名正常解析的风险值。/n

【技术特征摘要】
1.一种基于DNS解析依赖的域名服务风险评估方法,其特征在于,包括以下步骤:
1)从DNS数据中抽取不同类型的资源记录;
2)利用域名解析过程中的资源记录之间的依赖,构建给定域名解析的资源记录依赖图;
3)将资源记录依赖图转化成逻辑关系树;
4)利用逻辑关系树中叶子节点表示的服务器的风险评估值自下向上计算给定域名正常解析的风险值。


2.根据权利要求1所述的方法,其特征在于,步骤1)从被动采集的DNS数据中抽取A、AAAA、CNAME、NS四种类型的资源记录。


3.根据权利要求1所述的方法,其特征在于,步骤2)所述资源记录之间的依赖,包括父区域依赖、名字服务器依赖、别名依赖、服务器依赖。


4.根据权利要求3所述的方法,其特征在于,对域名D,步骤2)构建资源记录依赖图的过程包括:
2.1)寻找父区域依赖:D的依赖图为有向图G,如果D的父域存在,则记为Dp,如果G中边(D,Dp)不存在,在G中加入边(D,Dp),该边的属性为父区域依赖;
2.2)寻找别名依赖:在被动采集的DNS数据中搜索D的CNAME记录,如果D的CNAME记录存在,则记为Dc,如果G中边(D,Dc)不存在,在G中加入边(D,Dc),该边的属性为别名依赖;
2.3)对第一步和第二步中新加入依赖图中的节点,重复第一步和第二步;
2.4)寻找名字服务器依赖;
2.5)将图中的互为替代关系的节点合并为一个组合,利用该组合去掉依赖图中的环;
2.6)将生成的图中的组合恢复为原始的节点;
2.7)寻找对应的服务器,生成服务器依赖。


5.根据权利要求4所述的方法,其特征在于,步骤2.4)中,设G中的节点集合N={n1,n2,……nm},对于nj∈N,通过以下操作寻找名字服务器依赖:在被动采集的DNS数据中搜索nj的NS记录,如果nj的NS记录存在,得到nj的名字服务器集合为Nj={nsj1,nsj2,……nsjn},对于nsji∈Nj,如果G中边(nj,nsji)不存在,在G中加入边(nj,nsji),该边的属性为名字服务器依赖;如果nsji的区域不是nj或nj的父域,则将nsji跳至第一步。


6.根据权利要求4所述的方法,其特征在于,步骤2.5)按照以下步骤打破图中的闭环:
(1)将图中的互为替代关系的节点合并为一个组合;
(2)将一个组合视为一个节点,在合并后的图中找到所有的闭环,每次都选择其中包含节点的数目最小的闭环进行处理,按照...

【专利技术属性】
技术研发人员:罗蒙姜政伟汪秋云任房利汪姝玮辛丽玲
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1