不同于直接以主機或服務為目標并對其造成影響的DDoS洪水攻擊或應用層DDoS攻擊,NXNSAttack的攻擊目標是受害者的域名解析能力。與NXDOMAIN或DNS水刑攻擊一樣,這種DDoS攻擊的目標是通過遞歸DNS解析器,利用采用了隨機域名請求洪水的無效請求重載權威域名服務器,從而破壞這些權威域名服務器。由于請求來自合法的遞歸DNS服務器,因此在權威服務器上很難檢測并緩解這一攻擊。通過破壞域名解析,攻擊者可以有效攔截對此域名下所有服務的訪問。遭到攻擊后,新的客戶端無法找到連接到服務的IP地址,因此無法解析服務的主機名。
與數(shù)據(jù)包放大系數(shù)僅為3倍的NXDOMAIN攻擊不同,NXNSAttack提供的數(shù)據(jù)包放大系數(shù)從攻擊子域(victim.com)時的74倍到針對遞歸解析器的1621倍不等。帶寬放大系數(shù)則在攻擊子域的21倍和針對遞歸解析器的163倍之間。針對根域名服務器和一級域名服務器的數(shù)據(jù)包放大系數(shù)為1071倍,帶寬放大系數(shù)為99倍。NXNSAttack具有較高的放大率和靈活的內容匹配功能,是一種可以用于發(fā)起大規(guī)模攻擊的攻擊矢量。
隨后,研究人員公開了這一漏洞,并接觸了已經(jīng)修復了軟件和服務的供應商。漏洞披露時,以下這些DNS服務器已有可用補丁:ISCBIND(CVE-2020-8616)、NLnetlabsUnbound(CVE-2020-12662)、PowerDNS(CVE-2020-10995)和CZ.NICKnotResolver(CVE-2020-12667)。此外,以下這些開放DNS遞歸解析器提供商已更新了服務,以緩解利用此漏洞的DDoS攻擊:Cloudflare、Google、Amazon、Microsoft、Oracle(DYN)、Verisign、IBMQuad9以及ICANN。其他軟件和服務提供商也隨之進行了修復。然而,也可以做出這樣的假設,并非所有的私有和公有遞歸解析器都已經(jīng)得到了修復或即將被修復。
遭受到攻擊或漏洞濫用不僅限于公有遞歸解析器,也會影響到位于ISP、云中或企業(yè)內部的私有遞歸解析器。過去,惡意攻擊者可以利用不同的機器人程序發(fā)起隨機域名洪水攻擊,現(xiàn)在也可以利用相同的機器人程序發(fā)起破壞解析器所有者之外的任意受害者的NXNSAttack。Mirai等提供了“開箱即用”隨機域洪水支持的僵尸網(wǎng)絡源代碼可以輕松獲得,這就增加了執(zhí)行這些破壞性DDoS攻擊的可能性。
受害者沒有把握及時應對他們所面臨的風險。任何權威DNS基礎架構組件都可以為其控制之外的遞歸DNS解析器所破壞,包括二級域名(victim.com)、一級域名(.com,.info,…)和根域名服務器(‘.’)。受害者只能任由DNS服務提供商擺布。
遞歸DNS提供商可以通過應用DNS軟件供應商提供的修復程序或部署研究人員在論文中提出的Max1Fetch解決方案,來保護自身基礎架構,并保護互聯(lián)網(wǎng)免遭攻擊。或者,遞歸DNS提供商可以通過積極采用經(jīng)DNSSEC驗證的緩存(RFC8198)或利用RadwareDefensePro來進行DDoS防護,保護自身基礎架構免遭隨機域名洪水的侵擾。
HTTPS上的DNS(DOH)或TLS上的DNS(DOT)不能提供針對NXNSAttack的防護措施。DOH和DOT協(xié)議的目的是提供客戶端域名解析的隱私性,而不能保護DNS基礎架構的授權端。最糟糕的情況就是,DOH和DOT被用作規(guī)避技術,隱藏來自上游網(wǎng)絡傳感器的隨機域名洪水和TLS加密數(shù)據(jù)流內的防護措施,進而無法檢測并緩解惡意DNS攻擊。
增加域名空間的生存時間(TTL)值將提高域名下服務抵抗權威域名服務器中斷的能力,代價則是犧牲域名的靈活性。此外,這只能為在隱藏在解析器之后的且在更早的時候就已經(jīng)緩存了解析的客戶端提供解決方案,不能在遭受攻擊時提供完整或不確定的解決方案。
足智多謀且無處不在的攻擊者可以創(chuàng)建針對任何子域(victim.com)的攻擊基礎架構,進而影響相同域名服務器或服務提供商提供的其他子域。如果有足夠資源,攻擊還可以針對‘.com’、‘.info’、‘.us’、‘.ca’、‘.de’等一級域名,甚至可以嘗試中斷互聯(lián)網(wǎng)的根域名服務器。