CN114430382A - 基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置 - Google Patents

基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置 Download PDF

Info

Publication number
CN114430382A
CN114430382A CN202111444967.5A CN202111444967A CN114430382A CN 114430382 A CN114430382 A CN 114430382A CN 202111444967 A CN202111444967 A CN 202111444967A CN 114430382 A CN114430382 A CN 114430382A
Authority
CN
China
Prior art keywords
domain name
node
redundancy
type
triple
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
CN202111444967.5A
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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202111444967.5A priority Critical patent/CN114430382A/zh
Publication of CN114430382A publication Critical patent/CN114430382A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于被动DNS流量的权威域名服务器冗余度缩减检测方法及装置,包括:基于捕获的DNS流量,生成数据包日志文件;根据DNS流量的时间戳与标识符ID,保存依据日志文件生成的授权依赖三元组、别名依赖三元组、访问依赖三元组、父域依赖三元组与辅助地址依赖三元组,生成若干三元组日志文件;解析所述三元组日志文件,生成动态解析依赖图;基于动态解析依赖图进行权威服务器冗余度分析,得到检测结果。本发明可以系统、全面的测量分析区域在主机名、IP地址、子网前缀、自治域号、组织机构、地理位置各维度上的静态/动态、局部/全局的冗余度,分析权威域名服务器之间、权威域名服务器和解析器之间存在的动态解析依赖和权重变化。

Description

基于被动DNS流量的权威域名服务器冗余度缩减检测方法及 装置
技术领域
本发明涉及配置问题检测领域,具体为一种基于被动DNS流量的权威域名服务器冗余度缩减检测方法及装置。
背景技术
根据RFC1035,广义上的域名服务器分为两大类,存储资源记录的权威域名服务器(Authoritative Domain Name Server,ADNS)以及代替用户访问的递归域名服务器(Recursive Domain Name Server,RDNS)。ADNS负责提供域名的资源记录返回给RDNS。针对同一个域名,管理者会授权多个ADNS共同负责该域名的解析。其中ADNS的个数,就叫做域名的ADNS冗余度。而冗余度缩减表示,域名管理者原本通过NS记录设定了多个ADNS以满足RFC1912最低2个的要求(R.Elz,R.Bush,S.Bradner,and M.Patton,“Selection andoperation of secondary dns servers,”1997),但在实际部署过程中,可能由于各种原因,导致实际的ADNS冗余度比原本设定的要小。举个例子,某个区域的ADNS个数,在主机名维度是2个,但这2个ADNS共用同一个IP地址,则在IP维度,其区域的ADNS冗余度缩小为1,存在单点失效的安全风险(F.Maury,“Dns single point of failure detection usingtransitive availability dependency analysis,”2018)。
当前检测权威域名服务器冗余度缩减的方法,主要分为两类。
一种是只考虑单个域名的ADNS冗余度,以在主机名维度上,不同ADNS的名字个数作为冗余度基准,对比其他维度上,看其他维度上的冗余度是否减少,来判断该域名是否存在ADNS冗余度缩减配置问题,例如文献V.Pappas,P.
Figure BDA0003384643460000011
D.Massey,and L.Zhang,“Distributed dns troubleshooting,”in Proceedings of the ACM SIGCOMM workshopon Network troubleshooting:research,theory and operations practice meetmalfunctioning reality,2004,pp.265–270、文献C.Deccio,J.Sedayao,K.Kant,andP.Mohapatra,“Measuring availability in the domain name system,”in2010Proceedings IEEE INFOCOM.IEEE,2010,pp.1–5、文献C.Deccio,J.Sedayao,K.Kant,and P.Mohapatra,“Quantifying dns namespace influence,”Computer Networks,vol.56,no.2,pp.780–794,2012、文献S.Bates,J.Bowers,S.Greenstein,J.Weinstock,Y.Xu,and J.Zittrain,“Evidence of decreasing internet entropy:the lack ofredundancy in dns resolution by major websites and services,”National Bureauof Economic Research,Tech.Rep.,2018、及文献G.C.Moura,S.Castro,W.Hardaker,M.Wullink,and C.Hesselman,“Clouding up the internet:how centralized is dnstraffic becoming?”in Proceedings of the ACM Internet Measurement Conference,2020,pp.42–49。主要通过直接获取该域名的区域文件,分析区域文件中的NS、A记录来判定是否存在IP维度上的冗余度缩减,进一步利用IP进行子网网段、ASN自治域编号、域名服务器管理机构、地理位置定位的测量,检测是否存在这几个维度上的冗余度缩减。此方法计算得到的该域名的ADNS冗余度,没有考虑到该域名的解析过程中,解析依赖传递(参考文献V.Ramasubramanian and E.G.Sirer,“Perils of transitive trust in the domainname system,”in Proceedings of the 5th ACM SIGCOMM conference on InternetMeasurement,2005,pp.35–35),可能会导致该域名在整个域名空间中的ADNS冗余度发生进一步缩减,结果不够全面。
另一种则是考虑了在解析该域名的过程中会依赖其他域名的解析,若其他域名的ADNS冗余度在某种维度上比该域名更小,则该域名实际的ADNS冗余度可能也会受到影响,例如文献V.Ramasubramanian and E.G.Sirer,“Perils of transitive trust in thedomain name system,”in Proceedings of the 5th ACM SIGCOMM conference onInternet Measurement,2005,pp.35–35、文献C.Deccio,C.C.Chen,P.Mohapatra,J.Sedayao,and K.Kant,“Quality of name resolution in the domain name system,”in 2009 17th IEEE International Conference on Network Protocols.IEEE,2009,pp.113–122、文献J.Jian,“On the inconsistency and multiple dependency in dnsdelegation mechanism,”Ph.D.dissertation,Tsinghua University,2013、文献J.Jiang,J.Zhang,H.Duan,K.Li,and W.Liu,“Analysis and Measurement of Zone Dependency inthe Domain Name System,”in 2018IEEE International Conference onCommunications(ICC),May 2018,pp.1–7,00000、文献H.Xu,Z.Zhang,J.Yan,and X.Ma,“Evaluating the impact of name resolution dependence on the dns,”Security andCommunication Networks,vol.2019,2019、及文献W.Liu,Y.Zhang,Y.Li,and B.Fang,“Modeling,measuring,and analyzing the resolution process of popular domains,”in ICC 2019,2019IEEE International Conference on Communications(ICC).IEEE,2019,pp.1–7。主要通过从Alexa等网站排名中,获取特定网站域名作为种子;然后构建主动爬虫脚本,定时获取种子域名相关的解析记录,如A、AAAA、NS、CNAME这四种资源记录;然后获得解析该种子域名的过程中,需要请求访问的所有可能的关键ADNS集合,得到关键ADNS集合中元素个数最小的那个集合;该集合的元素个数,就是该域名在考虑到解析过程中依赖其他域名后,得到的整体ADNS冗余度。与上一种只考虑该单个域名的ADNS冗余度对比,看是否减少,来判断该域名是否存在实际ADNS冗余度缩减的配置问题。
上述已有方法计算得到的该域名的ADNS冗余度,主要存在的问题是:一方面,在分析解析某个域名导致权威域名服务器之间存在的依赖关系时,其依赖关系是通过分析静态的区域文件得到的,这样得到的解析依赖图,也是一个静态的关系图,并不能代表在真实的网络环境中,权威域名服务器之间的确存在这样的解析依赖关系,DNS流量的走向,可能会受多方面因素影响,导致已有方法构建的静态解析依赖图不够完善,而根据这样的静态解析依赖图进行的冗余度缩减检测也会存在一些疏漏;另一方面,通过主动定时爬虫从权威域名服务器处获取特定种子域名的相关资源记录,存在一定时延,当冗余度缩减出现时,主动方式无法很及时的进行发现,可能会导致其他服务器负载激增,甚至解析失败导致网络故障。
综上所述,已有方法无法很好的解决,在真实的网络环境中,由于DNS流量的动态变化带来的冗余度缩减检测的动态性、及时性挑战。
发明内容
为了克服现有方法的不足,本发明提出了一种基于被动DNS流量的权威域名服务器冗余度缩减检测方法及装置,通过分析被动DNS流量,在真实的网络环境中,为冗余度缩减检测的动态性、及时性挑战,提出了解决方案。本发明方法通过分析权威域名服务器之间的动态解析依赖关系,不仅可以发现传统静态冗余度缩减问题,还可以及时发现新的动态冗余度缩减,有助于网络安全运行、提供预警和保障。
本发明解决上述技术问题所采用的技术方案如下:
一种基于被动DNS流量的权威域名服务器冗余度缩减检测方法,其步骤包括:
1)基于捕获的DNS流量,生成数据包日志文件;
2)根据DNS流量的时间戳与标识符ID,保存依据数据包日志文件生成的授权依赖三元组、别名依赖三元组、访问依赖三元组、父域依赖三元组与辅助地址依赖三元组,以生成若干三元组日志文件;
3)解析所述三元组日志文件,生成动态解析依赖图;
4)基于动态解析依赖图进行权威服务器冗余度分析,得到检测结果。
进一步地,通过以下步骤生成数据包日志文件:
1)解析DNS流量的字段,其中所述字段包括:时间戳、标识符ID、源IP、目的IP、包类型、请求域名、请求类型、响应码、资源记录和响应类型,资源记录的类型包括:代表域名授权的资源记录、代表服务器对应IP地址的资源记录和代表服务器别名的资源记录;代表域名授权的资源记录包括:SOA类型资源记录和NS类型资源记录;代表服务器对应IP地址的资源记录包括:A类型资源记录和AAAA类型资源记录;代表服务器别名的资源记录包括:CNAME类型资源记录和DNAME类型资源记录。
2)基于设定过滤条件,对时间戳、标识符ID、源IP、目的IP、请求域名及资源记录进行过滤,其中所述设定过滤条件包括:DNS流量为响应包、响应码表示响应包正常、请求类型与响应类型在资源记录类型中和源IP、目的IP、请求域名、资源记录的格式与值范围满足请求意见稿规定;
3)根据过滤后的时间戳、标识符ID、源IP、目的IP、请求域名及资源记录,生成数据包日志文件。
进一步地,生成授权依赖三元组的方法包括:基于代表域名授权的资源记录生成;生成别名依赖三元组的方法包括:基于代表服务器别名的资源记录生成;生成访问依赖三元组的方法包括:基于源IP、目的IP和请求域名生成;生成辅助地址依赖三元组的方法包括:基于代表服务器对应IP地址的资源记录生成;通过以下步骤生成父域依赖三元组:
1)切分请求域名的字段,生成多个子域名;
2)利用数据包日志文件对子域名进行过滤;
3)基于请求域名与过滤后的子域名,生成父域依赖三元组。
进一步地,基于动态解析依赖图进行权威服务器冗余度分析之前,通过以下步骤对动态解析依赖图进行优化:
1)利用可获取的合法域名列表,删除动态解析依赖图中包含非法域名的域名节点及相关依赖边;
2)使用可获取的区域文件,并根据数据包日志文件中的域名资源记录,删除动态解析依赖图中不一致的依赖边;
3)删除动态解析依赖图中多余的自循环依赖。
进一步地,通过以下步骤构建动态解析依赖图:
1)把授权依赖三元组中的起点类型设置为域名节点zname、边类型设置为边NS、终点类型设置为域名节点sname;
2)把别名依赖三元组中的起点类型设置为域名节点oname、边类型设置为边CNAME、终点类型设置为域名节点cname;
3)把辅助地址依赖三元组中的起点类型设置为域名节点hname、边类型设置为边A、终点类型设置为域名节点aip;
4)将访问依赖三元组拆分成请求侧三元组及响应侧三元组,并把请求侧三元组中的起点类型设置为域名节点sip、边类型设置为边QF、终点类型设置为域名节点qname,把响应侧三元组中的起点类型设置为域名节点qname、边类型设置为边QT、终点类型设置为域名节点dip;
5)把父域依赖三元组中的边类型设置为边LEVEL;
6)综合各三元组的域名节点及边,构建动态解析依赖图,其中每一域名节点或边包括一或多种类型;将每一域名节点或边作为不同类型时,在各数据包中的出现次数,作为域名节点或边的类型权重,并对每一域名节点或边计算包含的所有类型的出现次数进行处理,得到该域名节点或边的总权重。
进一步地,通过以下步骤得到检测结果:
1)基于动态解析依赖图,计算静态局部冗余度、静态全局冗余度、动态局部冗余度及动态全局冗余度;
2)分别将静态全局冗余度与静态局部冗余度、动态局部冗余度与静态局部冗余度、动态全局冗余度与静态全局冗余度进行对比,得到所述检测结果。
进一步地,通过以下步骤获取静态局部冗余度或动态局部冗余度:
1)遍历动态解析依赖图,获取zname类型节点列表,统计zname类型节点总个数,并判断计算目标:若计算目标为动态局部冗余度,则进入步骤2);若计算目标为静态局部冗余度,则进入步骤3);
2)删除动态解析依赖图中所有非NS类型边与孤立节点,将动态解析依赖图切分为若干个连通分量,统计每个连通分量中的sname集合个数及zname集合的访问次数权重,过滤sname集合个数小于阈值T1且zname集合访问次数权重小于阈值T2的连通分量及其zname集合,过滤访问次数权重小于阈值T3的sname节点,其中T1、T2、T3的取值分别根据每个连通分量的sname集合个数列表、每个连通分量的zname集合访问次数列表、每个sname节点的访问次数列表进行处理得到;
3)获取每个zname节点指向的sname类型节点列表,统计每个zname节点包含的sname节点个数;
4)获取每个zname节点间接指向的aip节点列表,并根据网络协议版本,分别进行IP个数的统计,生成不同网络协议版本节点列表;
5)基于每个zname节点包含的不同网络协议版本节点列表,统计主机名维度、IP地址维度、子网前缀维度、自治域号维度、管理机构维度及地理位置维度上权威域名服务器的个数,得到静态局部冗余度或动态局部冗余度。
进一步地,通过以下步骤获取静态全局冗余度或动态全局冗余度:
1)遍历动态解析依赖图的每个zname节点,提取该zname节点单独关联的所有点边组成的解析子图;
2)针对每个zname节点的解析子图,以sname节点为标识,计算所有关键域名服务器集合并统计最小集合的sname节点个数,并判断计算目标:若计算目标为动态全局冗余度,则进入步骤3);若计算目标为静态全局冗余度,则进入步骤4);
3)统计每个sname节点访问次数权重,在每个zname节点的所有关键域名服务器集合中删除访问权重次数小于阈值T4的节点后,统计最小集合sname节点个数,其中T4的取值可根据每个zname节点的所有关键域名服务器集合中sname节点的访问权重次数列表进行处理得到;
4)替换每个zname节点关键域名服务器集合的sname节点为对应的aip节点,并根据网络协议版本,统计各自最小集合的IP个数;
5)基于每个zname节点包含的不同网络协议版本节点列表,统计主机名维度、IP地址维度、子网前缀维度、自治域号维度、管理机构维度及地理位置维度上权威域名服务器的个数,得到动态局部冗余度或静态局部冗余度。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上所述方法。
一种电子装置,包括存储器和处理器,其中存储器存储执行以上所述方法的程序。
本发明的有益效果如下:
1.可以系统、全面的测量分析区域在主机名、IP地址、子网前缀、自治域号、组织机构、地理位置各维度上的静态/动态、局部/全局的冗余度;
2.可以利用真实网络流量构建访问依赖,构建动态解析依赖图,分析权威域名服务器之间、权威域名服务器和解析器之间存在的动态解析依赖和权重变化;
3.在实验环境中,本发明方法发现,即使99%的区域在授权域名服务器个数时,满足传统静态局部冗余度各维度要求,但仍有约6.6%的区域具有动态局部冗余度缩减情况。
附图说明
图1是本发明方法数据处理流程图。
图2是静态/动态局部冗余度计算步骤图。
图3是静态/动态全局冗余度计算步骤图。
具体实施方式
为使本发明的技术方案能更明显易懂,特举实施例并结合附图详细说明如下。
本发明的具体实施方式是通过在线捕获某个旁路的被动DNS流量,解析存储成DNS流量日志,然后通过离线处理DNS流量日志,实施本发明方法来检测其中发现的权威域名服务器冗余度缩减。
如图1所示,本发明的权威域名服务器冗余度缩减检测方法及装置,包括以下步骤:
步骤101:流量捕获工具部署在ISP网关处,捕获经过53端口的DNS流量并解析得到时间戳(timestamp)、标识符ID(pid)、源IP(sip)、目的IP(dip)、包类型(qr)、请求域名(qname)、请求类型(qtype)、响应码(rcode)、资源记录(RRs)和响应类型(rtype)这10个字段,其中响应码、资源记录和响应类型仅存在于DNS响应包中。过滤使用的基本格式条件为:qr=1且rcode=0且(qtype和rtype)在[SOA/NS/A/AAAA/CNAME/DNAME]资源记录类型中,同时DNS数据包中的源IP、目的IP、请求域名、资源记录的格式和值范围,需要满足请求意见稿(Request for Comments,RFC)规定。即过滤掉请求包和所有响应码不为0的响应包,提取所有请求类型和响应类型在SOA、NS、A、AAAA、CNAME、DNAME这6种资源记录类型的记录,同时对包中的源IP、目的IP、请求域名、资源记录的格式和值范围用RFC规定进行过滤,最后保存每个DNS数据包为时间戳、标识符ID、源IP、目的IP、请求域名、资源记录这6个字段格式的数据包日志文件。
步骤102:获取步骤101中的DNS数据包日志文件,如表1所示,从NS资源记录中提取表示授权依赖的三元组,如(www.example.com.,NS,dns2.example.com.);从SOA资源记录中提取表示授权依赖的三元组,如(example.com.,SOA,dns.example.com.);从CNAME资源记录中提取表示别名依赖的三元组,如(dns.example.com.,CNAME,example.cdn.com.);从DNAME资源记录中提取表示别名依赖的三元组,如(example2.com.,DNAME,example.com.);从日志文件中提取源IP、目的IP、请求域名,组成表示访问依赖的三元组,如(1.1.1.1,www.example.com.,2.2.2.2);从请求域名中,先通过把请求域名字段根据符号“.”进行切分生成多个可能的子域名,如www.example.com.可被切分成example.com.、com.和.,然后检查切分出来的子域名是否在日志文件中出现,以排除生成的无效子域名,最后得到表示父域依赖的三元组,如(www.example.com.,LEVEL,example.com.)、(example.com.,LEVEL,com.)、(com.,LEVEL,.);从A和AAAA资源记录中提取辅助动态解析依赖图构建三元组,如(dns3.example.com.,A,2.2.2.2)、(dns3.example.com.,AAAA,FF01:101)。最后对上述三元组根据解析依赖类型进行统一,NS表示授权依赖、CNAME表示别名依赖、LEVEL表示父域依赖、A表示辅助地址依赖,结合访问依赖,得到共计5种三元组,按照每个DNS数据包的时间戳、标识符ID、三元组的格式进行保存,得到若干三元组日志文件。
表1从日志文件中提取的8种初始三元组样例与对应的解析依赖类型
Figure BDA0003384643460000071
Figure BDA0003384643460000081
步骤103:获取步骤102中的三元组文件,构建包含的zname、sname、oname、cname、hname、qname的6种域名节点和sip、dip、aip的3种IP节点(如表2所示),以及LEVEL、NS、CNAME、A、QF、QT的6种边(如表3所示),共同构成的初始动态解析依赖图。把NS授权依赖的三元组中的起点类型设置为zname、边类型设置为NS、终点类型设置为sname;把CNAME别名依赖的三元组中的起点类型设置为oname、边类型设置为CNAME、终点类型设置为cname;把A辅助地址依赖的三元组中的起点设置为hname、边类型设置为A、终点类型设置为aip;把访问依赖的三元组(sip,qname,dip)拆分成请求侧(sip,QF,qname)和响应侧(qname,QT,dip)两个三元组,分别设置起点类型、边类型、终点类型。然后计算每个节点和边作为不同子类型时,在不同包中的出现次数(同一个包中,节点出现多次,仅计算一次),作为点、边单一子类型的权重。这里把具有相同时间戳和标识符ID的三元组认为在同一个包中。最后此处把点、边的所有子类型权重之和作为该点、边的总权重,表示该节点和边在真实流量中的被访问情况,最终得到包含多种类型节点及多类型并行边的有向加权图作为初始动态解析依赖图。因此本发明的初始动态解析依赖图中的每个节点可以具有一或多种类型,两个节点之间也可以存在多种边类型。
表2从5种三元组中提取的6种域名节点和3种IP节点及其含义
Figure BDA0003384643460000082
Figure BDA0003384643460000091
表3从5种三元组中提取的6种边类型与对应的解析依赖类型
Figure BDA0003384643460000092
步骤104:获取步骤103中的初始动态解析依赖图,用合法顶级域名列表进行过滤,通过对比权威顶级域名列表,删除所有包含非法顶级域名的域名节点及相关依赖边;用根区文件中根域名和顶级域名的授权资源记录进行过滤,即对比根区文件包含的授权、地址依赖边,删除初始动态解析依赖图中不一致的依赖边;检查初始动态解析依赖图中是否存在自循环的依赖关系,删除多余的自循环依赖,避免后续全局冗余度分析算法计算时存在误差。最终实现过滤初始动态解析依赖图中的错误依赖关系,对初始动态解析依赖图进行剪枝精修,得到优化动态解析依赖图。
步骤105:获取步骤104中的优化动态解析依赖图,在图上统计每个区域的静态局部冗余度、静态全局冗余度、动态局部冗余度、动态全局冗余度,并对比是否发生了冗余度缩减。
静态局部冗余度表示仅考虑单个区域的直接授权的权威域名服务器个数,以主机名维度上计算的权威域名服务器个数为基准,计算在主机名、IP地址、子网前缀、自治域号、管理机构和地理位置维度上,权威域名服务器的个数。静态全局冗余度则是表示考虑到单个区域的解析不仅直接依赖授权的权威域名服务器,同时由于解析依赖传递性,其解析可能依赖整个图中的其他区域,而其静态局部冗余度,可能会由于其他区域的静态局部冗余度而发生缩减,所以在整个全局图上,计算该区域的权威域名服务器个数。动态局部和动态全局冗余度则是考虑到,在真实环境中,每个权威域名服务器的访问量不同,并不是均匀的分摊每个区域的解析,可能存在某个权威域名服务器承担绝大部分解析负载,而其他权威域名服务器并未工作的情况,所以动态局部和全局冗余度则是删除访问量为0的权威域名服务器后再进行权威域名服务器个数的计算,计算权威域名服务器个数和关键权威域名服务器集合的最小集合元素个数。
检测冗余度缩减时,则是以静态局部冗余度为基准,对比静态全局冗余度是否比静态局部冗余度更小;动态局部冗余度是否比静态局部冗余度更小;动态全局冗余度是否比静态全局冗余度更小。若是,则说明发生了冗余度缩减。
该步骤中,静态局部冗余度和动态局部冗余度计算步骤如图2所示,其中计算静态局部冗余度时,无需进行202步骤,具体过程如下:
201:遍历用1天DNS流量构建的优化动态解析依赖图,获取所有zname类型节点列表,并统计zname节点总个数。
202:删除所有非NS类型边和孤立节点,切分整体图为多个连通分量,即连通子图;统计每个连通分量中的sname集合个数,以及zname集合的访问次数权重;过滤其中sname集合个数小于阈值T1且zname集合访问次数权重小于阈值T2的连通分量及其zname集合,过滤访问次数权重小于阈值T3的sname节点,此处T1、T2、T3均可取1。
203:获取每个zname节点,各自指向的sname类型节点列表,统计每个zname节点包含的sname节点个数。
204:获取每个zname节点,各自指向的sname类型节点列表后,进一步获取这些sname类型节点,指向的aip节点列表,得到每个zname节点各自间接指向的aip节点列表,区分IPv4和IPv6,分别统计各自的IP个数。
205:基于每个zname节点包含的IPv4和IPv6节点列表,统计IPv4/24和IPv6/64不同子网前缀的个数;基于每个zname节点包含的IPv4和IPv6节点列表,查询路由信息,统计所属不同ASN自治域号的个数;基于每个zname节点包含的IPv4和IPv6节点列表,查询IP管理信息,统计所属不同管理机构的个数;基于每个zname节点包含的IPv4和IPv6节点列表,对IP进行定位,统计IP定位不同地理位置的个数。
该步骤中,静态全局冗余度和动态全局冗余度计算步骤如图3所示,其中计算静态全局冗余度时,无需进行303步骤,具体过程如下:
301:遍历动态解析依赖图的每个zname节点,提取该节点单独关联的所有点边组成的解析子图。
302:针对每个zname节点的解析子图,以sname节点为标识,计算所有关键域名服务器集合并统计最小集合的sname节点个数。
303:统计每个sname节点访问次数权重,在每个zname节点的所有关键域名服务器集合中删除访问权重次数小于阈值T4的节点后,再统计最小集合sname节点个数,此处T4可取1。
304:替换每个zname节点关键域名服务器集合的sname节点为对应的aip节点,区分IPv4和IPv6,得到关键IPv4和IPv6集合,统计各自最小集合的IP个数。
305:基于每个zname节点的关键IPv4和IPv6集合,统计IPv4/24和IPv6/64子网前缀集合中最小集合的子网前缀个数;基于每个zname节点的关键IPv4和IPv6集合,查询路由信息,统计IPv4和IPv6自治域号集合中最小集合的ASN自治域号个数;基于每个zname节点的关键IPv4和IPv6集合,查询IP管理信息,统计IPv4和IPv6管理机构集合中最小集合的管理机构个数;基于每个zname节点的关键IPv4和IPv6集合,对IP进行定位,统计IPv4和IPv6地理位置集合中最小集合的地理位置个数。
表4流量中满足条件的总DNS包个数及在不同请求类型上的分布个数
Figure BDA0003384643460000111
为测试本发明的积极效果,从科技网中获取了2020.08.10-2020.08.16周一至周日连续1周的DNS流量,采用上述具体实施方式对流量进行处理,得到平均每天1.5kw个响应码为0的DNS数据包,具体的请求类型分布个数如表4所示。然后每天构建1个动态解析依赖图,得到1周的7个动态解析依赖图,分别分析图中每个区域的静态局部冗余度、静态全局冗余度、动态局部冗余度、动态全局冗余度,并对比是否发生了冗余度缩减,最终得到检测结果如下。
如表5所示,通过统计每个zname节点单层NS授权依赖对应的sname节点个数,以及sname节点对应的aip节点分v4和v6的IP、子网前缀、ASN、管理机构、地理位置个数,分析静态局部冗余度在各个维度上的缩减情况:在主机名方面,99%区域存在2个及以上的域名服务器;IPv4时,下降至97%;IPv4/24时下降至93%;ASN及机构下降至50%;受限于IP定位工具,存在近60%的IP无法定位;存在约50%区域无IPv6地址,但v6与v4存在相近的缩减趋势;总体来说,绝大多数域名服务器管理者,在主机名、IP地址、子网前缀层面有考虑到静态局部冗余度满足RFC要求,在ASN、机构、地理位置层面则考虑不多。
表5统计静态局部冗余度个数相同的区域个数占总区域个数的累计分布函数
Figure BDA0003384643460000112
Figure BDA0003384643460000121
如表6所示,通过遍历整个优化动态解析依赖图,计算图中每个区域解析依赖的最小关键权威域名服务器集合元素个数,作为静态全局冗余度,表中的百分比表示用静态局部冗余度减去静态全局冗余度结果大于0的区域个数占比,分析静态全局冗余度相对静态局部冗余度的缩减情况:在主机名方面,存在约6%的区域静态全局冗余度小于自身的静态局部冗余度;此比例在IPv4上约45%,子网前缀、ASN/机构上约30%,地理位置约8%;由于多层解析依赖传递信任,的确会导致一些区域的静态全局冗余度小于静态局部冗余度。
表6统计静态全局冗余度个数小于静态局部冗余度的区域个数占总区域个数占比
Figure BDA0003384643460000122
如表7所示,通过图2-202过滤得到可以进行动态局部冗余度计算的区域,再计算每个区域到自身域名服务器上的访问权重分布均衡性,若不均衡,则说明存在动态局部冗余度相对静态局部冗余度的缩减情况:以主机名作为权威域名服务器标识为例,约20%的区域可以计算动态局部冗余度;根据依赖的域名服务器把这些区域分成集合,约32%的区域访问权重分布不均衡,占总体区域占比约6.6%。
表7统计动态局部冗余度个数小于静态局部冗余度的区域个数
Figure BDA0003384643460000131
如表8所示,通过图3-303中间计算得到单个区域解析的关键权威域名服务器集合时,删除其中访问权重为0的权威域名服务器后,再继续计算图中每个区域解析依赖的最小关键权威域名服务器集合元素个数,作为动态全局冗余度,表中的百分比表示用静态全局冗余度减去动态全局冗余度结果大于0的区域个数占比,分析动态全局冗余度相对静态全局冗余度的缩减情况:由于表7中存在约78%的区域授权的权威域名服务器没有访问次数权重,这里对访问权重为0的权威域名服务器进行删除后,冗余度缩减占比较大,且不同层面存在较大波动,体现了动态全局冗余度缩减的变化很快,推测与每天用户访问的域名偏好和解析器配置关联较大。
表8统计动态全局冗余度个数小于静态全局冗余度的区域个数占总区域个数占比
Figure BDA0003384643460000132
Figure BDA0003384643460000141
以上所有实验结果表明,即使99%的区域在授权权威域名服务器个数时,满足传统静态局部冗余度各维度上的要求,但仍发现约6.6%的区域具有动态局部/全局冗余度缩减情况,本文检测权威域名服务器冗余度缩减的方法有效。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。

Claims (10)

1.一种基于被动DNS流量的权威域名服务器冗余度缩减检测方法,其步骤包括:
1)基于捕获的DNS流量,生成数据包日志文件;
2)根据DNS流量的时间戳与标识符ID,保存依据数据包日志文件生成的授权依赖三元组、别名依赖三元组、访问依赖三元组、父域依赖三元组与辅助地址依赖三元组,以生成若干三元组日志文件;
3)解析所述三元组日志文件,生成动态解析依赖图;
4)基于动态解析依赖图进行权威服务器冗余度分析,得到检测结果。
2.如权利要求1所述的方法,其特征在于,通过以下步骤生成数据包日志文件:
1)解析DNS流量的字段,其中所述字段包括:时间戳、标识符ID、源IP、目的IP、包类型、请求域名、请求类型、响应码、资源记录和响应类型,资源记录的类型包括:代表域名授权的资源记录、代表服务器对应IP地址的资源记录和代表服务器别名的资源记录;代表域名授权的资源记录包括:SOA类型资源记录和NS类型资源记录;代表服务器对应IP地址的资源记录包括:A类型资源记录和AAAA类型资源记录;代表服务器别名的资源记录包括:CNAME类型资源记录和DNAME类型资源记录。
2)基于设定过滤条件,对时间戳、标识符ID、源IP、目的IP、请求域名及资源记录进行过滤,其中所述设定过滤条件包括:DNS流量为响应包、响应码表示响应包正常、请求类型与响应类型在资源记录类型中和源IP、目的IP、请求域名、资源记录的格式与值范围满足请求意见稿规定;
3)根据过滤后的时间戳、标识符ID、源IP、目的IP、请求域名及资源记录,生成数据包日志文件。
3.如权利要求2所述的方法,其特征在于,生成授权依赖三元组的方法包括:基于代表域名授权的资源记录生成;生成别名依赖三元组的方法包括:基于代表服务器别名的资源记录生成;生成访问依赖三元组的方法包括:基于源IP、目的IP和请求域名生成;生成辅助地址依赖三元组的方法包括:基于代表服务器对应IP地址的资源记录生成;通过以下步骤生成父域依赖三元组:
1)切分请求域名的字段,生成多个子域名;
2)利用数据包日志文件对子域名进行过滤;
3)基于请求域名与过滤后的子域名,生成父域依赖三元组。
4.如权利要求1所述的方法,其特征在于,基于动态解析依赖图进行权威服务器冗余度分析之前,通过以下步骤对动态解析依赖图进行优化:
1)利用可获取的合法域名列表,删除动态解析依赖图中包含非法域名的域名节点及相关依赖边;
2)使用可获取的区域文件,并根据数据包日志文件中的域名资源记录,删除动态解析依赖图中不一致的依赖边;
3)删除动态解析依赖图中多余的自循环依赖。
5.如权利要求1所述的方法,其特征在于,通过以下步骤构建动态解析依赖图:
1)把授权依赖三元组中的起点类型设置为域名节点zname、边类型设置为边NS、终点类型设置为域名节点sname;
2)把别名依赖三元组中的起点类型设置为域名节点oname、边类型设置为边CNAME、终点类型设置为域名节点cname;
3)把辅助地址依赖三元组中的起点类型设置为域名节点hname、边类型设置为边A、终点类型设置为域名节点aip;
4)将访问依赖三元组拆分成请求侧三元组及响应侧三元组,并把请求侧三元组中的起点类型设置为域名节点sip、边类型设置为边QF、终点类型设置为域名节点qname,把响应侧三元组中的起点类型设置为域名节点qname、边类型设置为边QT、终点类型设置为域名节点dip;
5)把父域依赖三元组中的边类型设置为边LEVEL;
6)综合各三元组的域名节点及边,构建动态解析依赖图,其中每一域名节点或边包括一或多种类型;将每一域名节点或边作为不同类型时,在各数据包中的出现次数,作为域名节点或边的类型权重,并对每一域名节点或边计算包含的所有类型的出现次数进行处理,得到该域名节点或边的总权重。
6.如权利要求5所述的方法,其特征在于,通过以下步骤得到检测结果:
1)基于动态解析依赖图,计算静态局部冗余度、静态全局冗余度、动态局部冗余度及动态全局冗余度;
2)分别将静态全局冗余度与静态局部冗余度、动态局部冗余度与静态局部冗余度、动态全局冗余度与静态全局冗余度进行对比,得到所述检测结果。
7.如权利要求6所述的方法,其特征在于,通过以下步骤获取静态局部冗余度或动态局部冗余度:
1)遍历动态解析依赖图,获取zname类型节点列表,统计zname类型节点总个数,并判断计算目标:若计算目标为动态局部冗余度,则进入步骤2);若计算目标为静态局部冗余度,则进入步骤3);
2)删除动态解析依赖图中所有非NS类型边与孤立节点,将动态解析依赖图切分为若干个连通分量,统计每个连通分量中的sname集合个数及zname集合的访问次数权重,过滤sname集合个数小于阈值T1且zname集合访问次数权重小于阈值T2的连通分量及其zname集合,过滤访问次数权重小于阈值T3的sname节点,其中T1、T2、T3的取值分别根据每个连通分量的sname集合个数列表、每个连通分量的zname集合访问次数列表、每个sname节点的访问次数列表进行处理得到;
3)获取每个zname节点指向的sname类型节点列表,统计每个zname节点包含的sname节点个数;
4)获取每个zname节点间接指向的aip节点列表,并根据网络协议版本,分别进行IP个数的统计,生成不同网络协议版本节点列表;
5)基于每个zname节点包含的不同网络协议版本节点列表,统计主机名维度、IP地址维度、子网前缀维度、自治域号维度、管理机构维度及地理位置维度上权威域名服务器的个数,得到静态局部冗余度或动态局部冗余度。
8.如权利要求6所述的方法,其特征在于,通过以下步骤获取静态全局冗余度或动态全局冗余度:
1)遍历动态解析依赖图的每个zname节点,提取该zname节点单独关联的所有点边组成的解析子图;
2)针对每个zname节点的解析子图,以sname节点为标识,计算所有关键域名服务器集合并统计最小集合的sname节点个数,并判断计算目标:若计算目标为动态全局冗余度,则进入步骤3);若计算目标为静态全局冗余度,则进入步骤4);
3)统计每个sname节点访问次数权重,在每个zname节点的所有关键域名服务器集合中删除访问权重次数小于阈值T4的节点后,统计最小集合sname节点个数,其中T4的取值可根据每个zname节点的所有关键域名服务器集合中sname节点的访问权重次数列表进行处理得到;
4)替换每个zname节点关键域名服务器集合的sname节点为对应的aip节点,并根据网络协议版本,统计各自最小集合的IP个数;
5)基于每个zname节点包含的不同网络协议版本节点列表,统计主机名维度、IP地址维度、子网前缀维度、自治域号维度、管理机构维度及地理位置维度上权威域名服务器的个数,得到动态局部冗余度或静态局部冗余度。
9.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1-8中任一所述方法。
10.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如权利要求1-8中任一所述方法。
CN202111444967.5A 2021-11-30 2021-11-30 基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置 Pending CN114430382A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111444967.5A CN114430382A (zh) 2021-11-30 2021-11-30 基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111444967.5A CN114430382A (zh) 2021-11-30 2021-11-30 基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置

Publications (1)

Publication Number Publication Date
CN114430382A true CN114430382A (zh) 2022-05-03

Family

ID=81311217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111444967.5A Pending CN114430382A (zh) 2021-11-30 2021-11-30 基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置

Country Status (1)

Country Link
CN (1) CN114430382A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150152A (zh) * 2022-06-30 2022-10-04 中国人民解放军陆军工程大学 基于权限依赖图缩减的网络用户实际权限快速推理方法
CN117857224A (zh) * 2024-03-07 2024-04-09 暨南大学 一种基于多pov的dns授权依赖安全评估方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474872A (zh) * 2019-07-05 2019-11-19 中国科学院信息工程研究所 一种基于dns解析依赖的域名服务风险评估方法与系统
CN112822223A (zh) * 2021-04-19 2021-05-18 北京智源人工智能研究院 一种dns隐蔽隧道事件自动化检测方法、装置和电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474872A (zh) * 2019-07-05 2019-11-19 中国科学院信息工程研究所 一种基于dns解析依赖的域名服务风险评估方法与系统
CN112822223A (zh) * 2021-04-19 2021-05-18 北京智源人工智能研究院 一种dns隐蔽隧道事件自动化检测方法、装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许海燕;王营康;杜跃进;闫健恩;张兆心;: "基于故障树的域名解析故障分析方法", 清华大学学报(自然科学版), no. 07 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150152A (zh) * 2022-06-30 2022-10-04 中国人民解放军陆军工程大学 基于权限依赖图缩减的网络用户实际权限快速推理方法
CN115150152B (zh) * 2022-06-30 2024-04-26 中国人民解放军陆军工程大学 基于权限依赖图缩减的网络用户实际权限快速推理方法
CN117857224A (zh) * 2024-03-07 2024-04-09 暨南大学 一种基于多pov的dns授权依赖安全评估方法

Similar Documents

Publication Publication Date Title
US10841326B2 (en) Cybersecurity system
US7523190B1 (en) Real-time performance assessment of large area network user experience
CN111953673B (zh) 一种dns隐蔽隧道检测方法及系统
US7454523B2 (en) Geographic location determination including inspection of network address
CN110324295B (zh) 一种域名系统泛洪攻击的防御方法和装置
CN114430382A (zh) 基于被动dns流量的权威域名服务器冗余度缩减检测方法及装置
de Vries et al. A first look at QNAME minimization in the domain name system
Padmanabhan et al. DynamIPs: Analyzing address assignment practices in IPv4 and IPv6
Zirngibl et al. Rusty clusters? dusting an IPv6 research foundation
CN105025025A (zh) 一种基于云平台的域名主动检测方法和系统
US11283757B2 (en) Mapping internet routing with anycast and utilizing such maps for deploying and operating anycast points of presence (PoPs)
Berger et al. Internet nameserver IPv4 and IPv6 address relationships
Matic et al. Pythia: a framework for the automated analysis of web hosting environments
CN111371914A (zh) Ip库生成方法、域名解析方法、电子设备和可读存储介质
Koc et al. A global reference model of the domain name system
US20200344113A1 (en) Anonymizing action implementation data obtained from incident analysis systems
CN110769004B (zh) 在dns客户端或代理服务器使用的dns防污染方法
US11411919B2 (en) Deep packet inspection application classification systems and methods
Maghsoudlou et al. FlowDNS: correlating Netflow and DNS streams at scale
CN104079681A (zh) 一种别名解析方法
Magnusson et al. A second look at dns qname minimization
Jin et al. Detection of hijacked authoritative dns servers by name resolution traffic classification
CN105791020A (zh) 一种快速别名的解析方法
Yang et al. BGP anomaly detection-a path-based apporach
Dolberg et al. Multi-dimensional aggregation for dns monitoring

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination