一. 前言

国家政府域名作为网络空间中的关键信息基础设施之一,代表着可信赖的信息来源、重要的关基服务以及政府人员的工作入口,特别是在疫情期间为大量处于隔离状态的人们提供支持。本文介绍一篇发表在DSN 2022的论文工作[1],如图1所示。其作者主要针对190+个国家/地区政府域名在权威域名服务器中的可用性和合法性进行测量,结合主动探测与被动流量日志,发现部分国家政府域名解析,存在缺陷授权和授权不一致的配置问题,可用于攻击者注册后进行域名劫持,影响国家电子政务可靠性;同时,从长期发展趋势看,政府域名解析依赖也进一步集中到少数第三方DNS服务提供商,存在一定程度上的单点失效风险。

图1 论文标题、作者信息

二. 基本概念

首先介绍域名系统相关基本概念。

2.1 域名系统:大型分布式数据库

域名系统(Domain Name System,DNS)本质上是一个大型分布式数据库,提供域名与IP地址间的相互映射,使得用户可以通过易于记忆的域名来访问资源,而不需要记住它们的IP地址。DNS由许多不同类型的域名服务器组成,可大致分为服务端的权威域名服务器和客户端的本地域名服务器两种。

2.2 权威域名服务器:分块存储资源记录

权威域名服务器(Authoritative Domain Name Server, ADNS)负责存储特定域名下所有直接子域名的相关资源记录,并负责响应本地域名服务器对这些资源记录的解析请求。所谓分布式数据库,就是因为存在多层级的ADNS,它们之间通过授权机制,把大型数据库拆分成多块,分配给不同的ADNS负责解析。每个ADNS只负责解析被授权给它的那些域名,而无法解析其他未授权的域名。

2.3 授权:分层委托域名解析

授权(Delegation)是指某个ADNS将其负责域名的某个子域名及其相关解析资源记录,委托给另一个ADNS的过程。其实质是父域ADNS把某个子域名及其相关资源记录存储到子域ADNS中,之后所有到达父域ADNS的子域及其下子域的解析请求,都会交由子域ADNS负责。

DNS通过如此的层层授权机制,把所有域名相关资源记录,分布式存储到不同的ADNS中,仅需要在父域ADNS中保留到子域ADNS的指向资源记录,本地域名服务器就可以通过指向记录,逐步、逐层的找到最终想要的域名解析请求结果。

2.4 配置问题:授权记录缺失或不一致

缺陷授权和授权不一致是两种DNS常见配置问题。缺陷授权(Lame Delegation)是指当一个域名的NS记录中包含的ADNS不响应该域名查询时,即表示该域名解析存在缺陷授权。而授权不一致(Delegation Inconsistency)是指当针对同一个域名(子域),在其父域的ADNS和该域名自身的ADNS中,该域名对应的资源记录不一致。这两种配置问题可能导致额外解析流量、增加响应延迟、域名劫持风险和隐私泄露。

三. 实验数据集构建

该文主要分三个阶段构建数据集。首先确定哪些是政府域名,形成初始政府域名种子集;其次从被动DNS数据(PDNS)挑选命中特定政府域名种子集进行扩展,并利用主动探测收集和验证扩展后的活跃政府域名;最后基于域名在PDNS中的存续时长进行过滤,得到后续实验分析的数据集。

3.1 政府域名挑选:确定初始政府域名种子集

为了尽可能的保障政府域名选择上的可信度,作者首先从联合国电子政务知识库[2]中收集了193个联合国成员国的国家门户网站链接,同时通过人工检查国家政府网站[3]的方式,发现其中存在11个无法解析的域名、2个国家网站链接上的注册域与成员国调查问卷(MSQ)中的注册域不同[3]、部分链接域名属于第三方被提供搜索结果和广告的情况,于是利用MSQ对国家门户链接中的域名进行人工修正,得到初始国家政府域名种子列表。

之后,作者对于每个域名,提取其后缀或注册域,如给定域名www.australia.gov.au,得到后缀gov.au、注册域australia.gov.au,并利用IANA根数据库[4]中列出的国家代码顶级域注册提供商的文档,来确定后缀是否保留供政府使用。结果发现3个案例(laogov.gov.la、timor-leste.gov.tl和jis.gov.jm)无法验证后缀。

通过上述两个步骤,作者成功获取到具有足够可信度的国家政府域名种子集dgov。

3.2 政府域名扩充:结合PDNS命中和主动探测验证

为了进一步增加政府域名列表,作者通过在Farsight的DNSDB[5]中检索dgov及其子域的NS记录,从2020年1月1日到2021年2月记录中提取了所有FQDN。之后去掉只出现1次的域名,得到一个包含147,000+个域名的列表供后续请求解析,其中二级域不到1%、三级域占大多数(85.4%)、四级域占10.9%。

然后作者针对这147,000+个域名列表,采用主动探测的方式来验证其ADNS部署状态。在2021年4月,他们利用部署在其大学网络中的服务器,请求这些域名的NS记录,普遍运行两轮查询以避免因为临时的网络状态而没有响应结果。

图2表示在PDNS数据中,2011到2020年域名和国家个数变化趋势,发现包含NS记录的域名数量从2011年的11.35万个增长到2020年的19.26万个,同时ADNS数量也存在类似的增长趋势。

图2. 2011到2020年域名和国家个数变化趋势

主动探测验证得到115,000个活跃域名,这些域名都至少有一个来自父域ADNS的响应结果。而其中96,000个域名,至少有一个这样的响应结果不为空。图3表示按国家/地区划分的响应域名个数分布。

图3. 按国家/地区划分的响应域名个数分布

3.3 数据过滤:基于域名在PDNS中存续时长

由于作者主要关注表征稳定、一致的DNS部署策略,他们通过删除最后一次出现时间戳和第一次出现时间戳之间差异小于7天的记录,来区分稳定记录和瞬时记录,过滤PDNS数据中的瞬时记录。

四. 政府域名DNS部署特点测量

该文主要做了四个实验,通过分析权威域名服务器备份情况、使用第三方DNS服务提供商情况、缺陷授权和父子域授权记录不一致的情况,来观测政府域名DNS部署现状。

4.1 权威域名服务器备份

RFC要求一个域至少有2个ADNS,同时这些ADNS应该位于不同的物理位置和自治域网络中[6]。该文把依赖单个ADNS的域名称为d1NS,使用PDNS数据检查每个域名在过去十年中的解析部署趋势。

4.1.1 单个权威域名服务器

通过对过去十年d1NS个数变化进行测量,发现2011年至2020年,d1NS总数有所增加,但增速低于数据集中域名的总数,前者增长1.2倍(从4800个增加到5900个),后者增加1.7倍(从11.35万个增加到19.26万个)。

进一步发现,d1NS的增长现象不是因为存在一组固定域名,而是因为ADNS部署中这种现象较为普遍和持久。如图4所示,基于2011年发现的d1NS集合,计算2012年到2020年每年发现的d1NS集合中的占比情况,包括新出现的(2011年未出现)、有重叠的(同2011年相同)、淘汰(未在该年发现)的d1NS。结果发现重叠d1NS占比稳步减少,到2020年,来自2011年的d1NS中只有21%仍然活跃。同时,测量两个连续年份之间的重叠占比也有类似趋势,所有新出现的d1NS占比范围为14%~23%,淘汰的d1NS占比为16%~26%。

图4. 2012-2022年出现的d1NS与2011年出现的d1NS对比

进一步检查每年有多少d1NS使用私有ADNS部署策略。如果ADNS主机名与该域名位于同一个政府域名后缀中,则认为该域名使用私有部署。如图5所示,每年使用私有ADNS部署的d1NS的百分比超过71%,而使用此类部署的域名总占比不到34%。进一步发现,部分d1NS属于规模相对较小的政府相关机构。对于此类域名,通过拥有多个ADNS获得的高可靠性可能不值得维护其所需的努力或使用第三方提供商所涉及的安全风险。

图5. 使用私有ADNS部署的占比变化趋势

如图6所示,在所有国家政府关联的域名中,98.4%的域名使用至少两个ADNS,并且对于超过一半(109个)的国家,没有域名使用少于两个ADNS,不过也存在15个国家/地区,至少10%的域名使用d1NS。

图6. ADNS个数在不同国家的累计分布

4.1.2 权威域名服务器位置多样性

除了ADNS的个数外,其地理和网络位置的多样性对域名解析可靠性也具有关键作用。该文利用主动测量获取每个ADNS解析到的IPv4地址集(IPns),并基于Maxmind的GeoIP2ASN数据库[7],得到IPns中IP所属的/24前缀(24ns)和ASN(ASNns)的数量。如图7所示,存在域名共享解析到相同IP地址的ADNS,大多数ADNS涵盖多个/24前缀,但只有不到三分之一涵盖多个ASN。

图7. 不同国家ADNS位置多样性情况

4.2 第三方DNS服务提供商

该文识别域名服务器是否是第三方DNS服务提供商的方法主要是,在域名服务器主机名及其SOA记录的MNAME和RNAME字段中,利用正则表达式匹配过滤包含具有特定提供商命名关键字的域名,如亚马逊的amazon等。然后通过检查哪些政府域名与这些标记第三方提供商的权威服务器所关联,即表示该政府域名解析依赖第三方DNS服务提供商。

如图8所示,该文发现,使用Amazon和Cloudflare的域名占比,在过去几年,从几乎没有增加到超过2%,存在缓慢但稳定地增长趋势。虽然占比数值不大,但其实使用第三方提供商的域名数量增加了多个数量级,而且其中许多域名只使用第三方提供商的ADNS。说明顶级提供商的域名解析集中度一直在增加。如果这种趋势继续下去,对ADNS部署日益集中化的担忧将同样适用于政府域名。

图8. 使用第三方DNS服务提供商的政府域名占比变化

为了检查是否存在某些其他第三方提供商在政府域名中具有更大的影响力,该文统计了2011年和2020年按服务国家/地区数量排名的前10名提供商。如图9所示,发现了除在通用域名中常见提供商外的几个提供商,且与2011年相比,2020年排名前10位的提供商在数据集中所占域名的比例更大。使用任何单一提供商的国家/地区数量从2011年的52个增加到2020年的85个,增长了60%,再次凸显了解析依赖中心化程度的提高。

图9. 按服务国家/地区个数排序的Top10提供商

4.3 缺陷授权

该文把没有为请求域名,列出可提供响应结果的ADNS情况称为完全缺陷授权。至少一个ADNS不响应的情况,称为部分缺陷授权。通过主动探测数据来检查部分和完全缺陷授权,发现29.5%的域名存在完全缺陷授权,25.4%的域名存在部分缺陷授权

劫持风险主要来源于不是政府管理的ADNS域名,如果是在政府域名下的ADNS,劫持风险很小。通过检查不在政府域中的ADNS域名,发现805个可以注册,影响了49个国家/地区的1,121个域名。图10显示了这些国家/地区受影响的域名数量,以及受影响域名最多的国家/地区的可用ADNS域名数量。结果发现在其子域名有缺陷授权的国家中,近三分之一国家/地区的授权指向单个ADNS。超过一半(625)的域名,根本没有收到来自ADNS的任何权威响应,说明这些域的ADNS不再处于活动状态。对于域名受影响最严重的土耳其、巴西和墨西哥,其大多数子域都在这组域名中。

图10. 不同国家/地区受缺陷授权影响的域名个数

4.4 授权不一致

该文遵循[8]中使用的框架,对父子域授权记录不一致进行逐层分析剖解。针对查询的每个域名,首先检查父域名(P)中列出的ADNS与该域名的ADNS(C)中列出的ADNS是否相同。如果不是,则检查这两组是否至少有一个共同的ADNS。当不存在交集时,则继续探索ADNSP和C解析到的IPv4地址(分别表示为IP(P)和IP(C))之间存在何种程度的交集。如果P和C与至少一个ADNS重叠,则将检查P是否包含C中的所有权威ADNS。

如图11所示,对于大多数(76.8%)响应域名,P和C中的ADNS之间没有出现授权不一致,占比远低于[8]中的90%。进一步发现是因为二级域的一致性程度(93.5%)比三层或更多层级的域(77%或更少)高得多,层次结构中更靠下的域名之间会出现更多授权不一致。

图11. 父子域授权一致性占比情况

五. 总结

虽然国家政府域名是关键信息基础设施之一,对电子政务的开展具有关键作用,但部分国家/地区的政府域名DNS部署配置仍然存在一些错误情况,可能导致额外解析流量、增加响应延迟、域名劫持和隐私泄露风险。

本文介绍的这篇研究工作[1],通过搜集政府域名初始种子集、基于PDNS和主动探测扩展政府域名数据、过滤短期出现域名的方式,构建了分析全球政府域名部署的实验数据集,并在其上分析了权威域名服务器备份、使用第三方DNS服务提供商、缺陷授权和父子域授权记录不一致的情况。作者发现虽然绝大多数政府域名都有多个权威域名服务器,但其在/24网段、ASN上的多样性仍较低;且依赖第三方DNS服务商的政府域名数量成倍增加,解析依赖进一步集中到少数第三方提供商上;发现超过20+%的域名存在缺陷授权和授权不一致的配置问题。

后续面向政府机构在网络空间资源映射的研究工作,可以借鉴其构造政府域名种子数据集的方式,监测政府域名解析授权情况,发现政府域名劫持风险,有助于提高政府域名解析可靠性和可用性,推进电子政务发展。

参考文献

[1] Houser R, Hao S, Cotton C, et al. A Comprehensive, Longitudinal Study of Government DNS Deployment at Global Scale[C]//2022 52nd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). IEEE, 2022: 193-204.

[2] https://publicadministration:un:org/egovkb/Data-Center

[3] https://publicadministration:un:org/egovkb/en-us/Reports/UN-E-Government-Survey-2020

[4] https://www.iana.org/domains/root/db

[5] https://www:farsightsecurity:com/solutions/dnsdb/

[6] R. Elz, R. Bush, S. Bradner, and M. Patton, “Selection and Operation of Secondary DNS Servers,” RFC 2182, 1997.

[7] https://www.maxmind.com/en/geoip2-databases.

[8] R. Sommese, G. C. M. Moura, M. Jonker, R. van Rijswijk-Deij, A. Dainotti, K. C. Claffy, and A. Sperotto, “When Parents and Children Disagree: Diving into DNS Delegation Inconsistency,” in PAM, 2020.

声明:本文来自绿盟科技研究通讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。