Radware:DNS解析器惊爆安全漏洞NXNSAttack

简介

2020年5月19日,特拉维夫大学和以色列跨学科中心的学者们发现,DNS递归解析器在实施过程中存在漏洞,可以被用于发起针对任意受害者的破坏性DDoS攻击。研究人员将利用此漏洞的攻击称为NXNSAttack,并在研究论文中进行了详细说明。

不同于直接以主机或服务为目标并对其造成影响的DDoS洪水攻击或应用层DDoS攻击,NXNSAttack的攻击目标是受害者的域名解析能力。与NXDOMAIN或DNS水刑攻击一样,这种DDoS攻击的目标是通过递归DNS解析器,利用采用了随机域名请求洪水的无效请求重载权威域名服务器,从而破坏这些权威域名服务器。由于请求来自合法的递归DNS服务器,因此在权威服务器上很难检测并缓解这一攻击。通过破坏域名解析,攻击者可以有效拦截对此域名下所有服务的访问。遭到攻击后,新的客户端无法找到连接到服务的IP地址,因此无法解析服务的主机名。

与数据包放大系数仅为3倍的NXDOMAIN攻击不同,NXNSAttack提供的数据包放大系数从攻击子域(victim.com)时的74倍到针对递归解析器的1621倍不等。带宽放大系数则在攻击子域的21倍和针对递归解析器的163倍之间。针对根域名服务器和一级域名服务器的数据包放大系数为1071倍,带宽放大系数为99倍。NXNSAttack具有较高的放大率和灵活的内容匹配功能,是一种可以用于发起大规模攻击的攻击矢量。

随后,研究人员公开了这一漏洞,并接触了已经修复了软件和服务的供应商。漏洞披露时,以下这些DNS服务器已有可用补丁:ISC BIND (CVE-2020-8616)、NLnet labs Unbound (CVE-2020-12662)、PowerDNS (CVE-2020-10995)和CZ.NIC Knot Resolver (CVE-2020-12667)。此外,以下这些开放DNS递归解析器提供商已更新了服务,以缓解利用此漏洞的DDoS攻击:Cloudflare、Google、Amazon、Microsoft、Oracle (DYN)、Verisign、IBM Quad9以及ICANN。其他软件和服务提供商也随之进行了修复。然而,也可以做出这样的假设,并非所有的私有和公有递归解析器都已经得到了修复或即将被修复。

遭受到攻击或漏洞滥用不仅限于公有递归解析器,也会影响到位于ISP、云中或企业内部的私有递归解析器。过去,恶意攻击者可以利用不同的机器人程序发起随机域名洪水攻击,现在也可以利用相同的机器人程序发起破坏解析器所有者之外的任意受害者的NXNSAttack。Mirai等提供了“开箱即用”随机域洪水支持的僵尸网络源代码可以轻松获得,这就增加了执行这些破坏性DDoS攻击的可能性。

受害者没有把握及时应对他们所面临的风险。任何权威DNS基础架构组件都可以为其控制之外的递归DNS解析器所破坏,包括二级域名(victim.com)、一级域名(.com, .info, …)和根域名服务器(‘.’)。受害者只能任由DNS服务提供商摆布。

递归DNS提供商可以通过应用DNS软件供应商提供的修复程序或部署研究人员在论文中提出的Max1Fetch解决方案,来保护自身基础架构,并保护互联网免遭攻击。或者,递归DNS提供商可以通过积极采用经DNSSEC验证的缓存(RFC8198)或利用Radware DefensePro来进行DDoS防护,保护自身基础架构免遭随机域名洪水的侵扰。

HTTPS上的DNS (DOH)或TLS上的DNS (DOT)不能提供针对NXNSAttack的防护措施。DOH和DOT协议的目的是提供客户端域名解析的隐私性,而不能保护DNS基础架构的授权端。最糟糕的情况就是,DOH和DOT被用作规避技术,隐藏来自上游网络传感器的随机域名洪水和TLS加密数据流内的防护措施,进而无法检测并缓解恶意DNS攻击。

增加域名空间的生存时间(TTL)值将提高域名下服务抵抗权威域名服务器中断的能力,代价则是牺牲域名的灵活性。此外,这只能为在隐藏在解析器之后的且在更早的时候就已经缓存了解析的客户端提供解决方案,不能在遭受攻击时提供完整或不确定的解决方案。

足智多谋且无处不在的攻击者可以创建针对任何子域(victim.com)的攻击基础架构,进而影响相同域名服务器或服务提供商提供的其他子域。如果有足够资源,攻击还可以针对‘.com’、‘.info’、‘.us’、‘.ca’、‘.de’等一级域名,甚至可以尝试中断互联网的根域名服务器。