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