Silence is not Golden: Disrupting the Load Balancing of Authoritative DNS Servers.
CCS 2023
笔记
本文讨论了一类新的DNS漏洞,这些漏洞可能会破坏权威DNS服务器的负载平衡机制。该文件的要点和关键论点如下:
- 授权域名服务器在 DNS 系统中提供最终资源记录。负载平衡机制用于在多个权威服务器之间分配 DNS 流量。
- 破坏负载均衡机制允许攻击者操纵合法的 DNS 请求并绕过防御机制,从而导致潜在的 DNS 流量劫持和缓存中毒攻击。
- 该文档提出了一种名为 Disablance 的新型攻击,该攻击针对具有不同 NS 记录的域,这些域为权威服务器的多个站点提供服务。
- 这种攻击是由于域名服务器配置错误而成为可能,这些域名服务器忽略了其权限之外的域,并结合了使用全局共享状态进行域名服务器选择的递归解析器。
- 通过操纵递归解析器的域名服务器选择结果,攻击者可以将 DNS 请求重定向到特定的权威服务器,并破坏负载均衡机制。
- 该研究证实,流行的DNS实现,包括BIND9,PowerDNS和Microsoft DNS,容易受到禁用的影响。
- 开发了一个名为 DMiner 的测量框架来测量易受攻击的权威服务器的流行程度。结果显示,Disablance可以针对很大比例的顶级域。
- 通过分析受影响域的合法 DNS 流量的放大和转移来证明禁用的影响。
- 漏洞和发现已报告给受影响的供应商和服务提供商,其中一些已采取行动修复问题。
关键论点:
- 权威 DNS 服务器中的负载平衡机制可能会受到破坏,从而允许攻击者操纵合法的 DNS 流量。
- Disabblance 是一种新型攻击,它针对具有不同 NS 记录的域并破坏负载平衡机制。
- 流行的 DNS 实现容易受到禁用的影响。
- 很大一部分顶级域名可以成为 Disablance 的目标。
- 通过分析合法 DNS 流量的放大和转移来证明禁用的影响。
- 供应商和服务提供商已被告知这些漏洞,其中一些已采取行动解决这些问题。
后续的研究方向
-
开发自动化工具或框架来检测和缓解基于 DNS 的攻击,例如 Disablance。这可能涉及实时监控 DNS 流量、分析模式和异常情况,以及实施主动防御机制。
-
研究不同DNS负载均衡技术的有效性,并提出新的方法来增强DNS基础设施的弹性和可扩展性。这可能包括探索使用机器学习算法或分布式共识协议进行负载均衡。
-
进一步研究DNS操纵对不同类型应用和服务的影响。这可能涉及在基于 DNS 的攻击期间分析关键服务的性能和可用性,并制定策略以减轻对最终用户的影响。
-
探索区块链技术在 DNS 安全性和弹性方面的潜在用途。这可能涉及调查去中心化DNS系统的可行性,以及使用智能合约来确保DNS记录的完整性和可用性。
-
与 DNS 服务提供商、托管服务提供商和网络运营商合作,制定保护 DNS 基础设施的最佳实践和指南。这可能包括共享威胁情报、实施 DNSSEC(DNS 安全扩展)以及促进采用安全的 DNS 协议,例如 DNS over HTTPS (DoH) 或 DNS over TLS (DoT)。
-
调查物联网 (IoT) 设备和边缘计算等新兴技术对 DNS 基础设施的影响,并制定策略以确保 DNS 在这些环境中的安全性和可扩展性。
-
进行大规模的测量和实验,以评估基于 DNS 的防御机制的有效性,并识别 DNS 基础设施中的潜在漏洞。这可能涉及与研究机构、网络运营商和 DNS 服务提供商合作,以收集真实世界的数据并验证调查结果。
-
探讨 DNS 测量和研究的伦理考量和影响。这可能涉及研究与 DNS 数据收集相关的隐私问题,确保负责任地披露漏洞,以及提高 DNS 运营的透明度和问责制。
这些只是 DNS 安全性和弹性领域后续研究的几个可能方向。DNS 攻击性质的不断演变以及关键服务对 DNS 的日益依赖使其成为持续研究和创新的重要领域。
摘要
授权的域名服务器提供最终的资源记录。由于DNS的安全性和稳健性对互联网的一般操作至关重要,因此域所有者需要部署多个候选域名服务器以实现负载平衡。一旦负载平衡机制被破坏,对手就可以操纵对指定候选域名服务器的大量合法DNS请求。因此,它可能会绕过用于过滤恶意流量的防御机制,这些恶意流量可能会使受害者域名服务器过载,或者降低DNS流量劫持和缓存中毒攻击的门槛。
在这项研究中,我们报告了一类DNS漏洞,并提出了一种新的攻击,名为Disablance,其目标是具有不同NS记录的域,这些记录被切断到权威服务器的多个站点。域名服务器的错误配置忽略了其权限之外的域,再加上使用全局共享状态进行域名服务器选择的递归解析器,使攻击成为可能。通过瞄准由大量域配置的权威域名服务器,Disablance允许对手以低成本悄悄破坏权威域名服务器的DNS负载平衡。通过简单地配置DNS在他们控制下的域的记录指向目标域名服务器并执行少量请求时,对手可以临时操纵给定的DNS解析程序,使特定的权威服务器过载。因此,Disablance可以将所有托管域的良性DNS请求重定向到特定的域名服务器,并破坏负载平衡机制。我们的广泛研究证明,双宝龙的安全威胁是现实的和普遍的。首先,我们证明了主流DNS实现,包括BIND9、PowerDNS和Microsoft DNS,容易受到Disablance的攻击。其次,我们开发了一个测量框架来测量野外易受攻击的权威服务器。22.24%的前100万FQDNs和3.94%的前1万SLD被证明可能是Disablance的受害者。我们的测量结果还显示,37.88%的稳定开放解析器和14个流行的公共DNS服务中的10个可以用来进行Disablance,包括Cloudflare和Quad9。此外,通过与世界领先的DNS服务提供商的深入讨论,我们观察到并认识到了Disablance的关键安全威胁。我们已经报告了发现的漏洞,并向受影响的供应商提供了建议。到目前为止,腾讯云(DNSPod)和亚马逊已经根据我们的建议采取行动解决了这个问题。
引言
域名系统(DNS)为将用户友好的域映射到IP地址提供关键服务。如今,DNS是主流互联网服务的基本基石之一,并在现代安全模式中提供可信的锚,如数字证书颁发[28,36]和电子邮件发件人身份验证[43,45]。因此,域名命名服务的稳健性对全球互联网活动至关重要。
为了提高命名服务的稳定性并抵御拒绝服务(DoS)攻击,DNS规范引入了一种“内置”负载平衡机制[7]。由于DNS是作为分布式系统构建的,因此域的委派可以依赖于一组权威的域名服务器,以提高健壮性。根据DNS规范的要求,每个DNS区域应至少维护两个权威服务器[62]。RFC 2182进一步要求这些域名服务器在地理和拓扑上是多样化的[72]。因此,域所有者通常部署多个权威服务器。随着时间的推移,满足上述标准要求的SLD的百分比正在增加[7]。
破坏权威服务器的DNS负载平衡机制的后果极其严重。与大多数经典的DoS攻击不同,破坏负载平衡允许对手重定向合法的DNS流量并使受害者过载,而不会产生恶意流量。这一事实已在大量工作中得到证明。例如,这种过载可以绕过检测和过滤恶意流量的防御机制[34,61,96]。此外,当对手禁用DNS负载平衡时,他们会显著降低执行其他攻击的门槛,如流量劫持和缓存中毒,因为大多数流量都指向特定的域名服务器。例如,Dai等人[26]证实,消除DNS负载平衡提供的候选者对于从Let’s Encrypt获得欺诈证书至关重要。此外,这种攻击为对手提供了操纵递归解析器如何在域名服务器之间分配DNS流量的机会。因此,此类攻击对基于DNS的负载平衡系统(如上层web应用程序)的基础设施的影响更为严重。
研究空白
然而,鉴于其重要性,很少有研究调查DNS负载平衡标准解决方案的安全风险。最近的一项研究提出了DNS负载平衡攻击的分类[26],包括IP碎片、速率限制和低速率突发。然而,我们认为上述攻击在现实世界中的影响是严格有限的[54,56,99100]。有证据表明,Alexa Top 100K域中只有不到0.7%的权威服务器易受IP碎片攻击[99]。速率限制攻击依赖于暴力DoS流量,目标可以很容易地检测到这种流量[56]。低速率突发攻击需要精确的时间同步,在现实世界中实施具有挑战性[100]。
我们的研究
在本文中,我们报告了一类新的DNS漏洞,这些漏洞可以以隐蔽的方式破坏流行域的DNS负载平衡机制。这些域通常配置有指向权威服务器的多个NS记录,而权威服务器又承载许多其他域。特别是,我们提出的攻击可以通过执行少量DNS查询来发起。因此,它允许对手以成本效益高且隐蔽的方式破坏DNS负载平衡机制。
我们发现的漏洞的根本原因有两方面。首先,揭示了权威服务器的普遍错误配置。可能是出于减轻DoS攻击的考虑,广泛的权威服务器被配置为不响应其权限之外的DNS请求。其次,在主流递归解析器中实现的选择候选域名服务器的功能已被证明是有缺陷的。通常,DNS解析程序会尝试选择具有最低网络延迟的权威服务器。如果此查询失败,它将进行故障转移,并在下一个权威服务器上尝试查询[3,64,95,97]。为了提高以下DNS解析的效率,将缓存未能响应的域名服务器的状态[11]。不幸的是,状态可能是全局共享的资源,在这种情况下,它适用于该特定域名服务器的所有查询。
通过结合上述特征,对手可以操纵递归解析器的域名服务器选择结果。具体来说,他们可以注册一个域,并将域名服务器记录设置到受害者的所有权威服务器,但他们希望过载的服务器除外。可利用的权威服务器会忽略未托管在其上的域的DNS请求。然后,攻击者向全局分布的解析程序(包括公共DNS和开放解析程序)生成DNS查询。由于受害者的大多数域名服务器都无法响应,因此不可用状态将缓存在全局解析器中。因此,以下对委派给此类域名服务器的所有域的合法查询将转发到目标授权服务器。我们将提议的攻击称为DNS负载平衡禁用程序(Disablance)。
我们的发现
在本文中,我们对Disablance进行了系统的评估研究,并证明了所提出的攻击在现实世界中是真实有效的。首先,通过审查源代码和进行模拟实验,我们确认了流行的DNS软件(BIND9[38]、PowerDNS[68]和Microsoft DNS[58,59])是易受攻击的,可以用来启动Disablance。需要强调的是,对手可以通过发送几个特制的DNS请求,导致DNS解析程序用数千个DNS查询过载给定的权威服务器。
其次,我们设计并实现了一个名为DMiner的测量框架,以了解受影响的权威服务器的普遍性。我们的测量结果表明,Disablance可以针对22.24%的前1M SecRank[93]FQDN和3.94%的前2M Tranco[48]SLD。一些可利用的流行域正在为关键的网络服务提供服务,如电子商务、云和医疗服务。甚至一些世界领先的DNS托管服务提供商也被证明受到了影响,如腾讯云[82](托管排名前100万的SecRank的6.26%和排名前100的Tranco的0.81%)。为了粗略估计对手可能影响的流量,我们分析了与我们识别的易受攻击的SLD相对应的FQDN的被动DNS数据。在DMiner测试易受攻击的域名服务器的一周时间里,我们观察到61601477个唯一的FQDN,表明Disablance可以分流大量的DNS流量。
第三,Disablance可以放大所有托管域的合法请求,并将其转移到给定的权威服务器。放大单个受影响的域,Disablance将其合法DNS流量平均放大8.51倍(最大46倍)。有趣的是,对可用性和稳定性要求很高的域,部署了更权威的服务器进行DNS负载平衡,正受到更大的放大影响(例如,8家金融机构32倍,科技公司46倍)。
我们报告了已发现的漏洞,并与领先的DNS服务提供商进行了深入讨论。令人惊讶的是,一家DNS提供商报告了其网络中存在Disablance的证据。在81个多小时的时间里,他们操作的公共递归解析器被观察到查询海外权威服务器,而没有向任何候选人推荐。据报道,目标域名服务器的网络延迟极高(比正常情况高21倍)。他们承认Disablance对其托管服务的现实安全威胁,包括绕过现有的DoS防御机制。
贡献
新颖的攻击。我们对DNS负载平衡机制进行了深入研究,发现了一个漏洞,对手可以利用该漏洞破坏其功能。
评估攻击的全面测量。我们开发了一个测量框架,并系统地评估了我们提出的攻击对现实世界的影响。
负责任的披露。我们已负责任地向供应商和服务提供商披露问题,并提供缓解方案。到目前为止,腾讯云和亚马逊已经采取行动解决了这个问题。