我們已隆重推出Advanced DNS Protection系統(tǒng),它是一種強(qiáng)大的防御機(jī)制,旨在抵御最復(fù)雜的基于DNS的DDoS攻擊。該系統(tǒng)旨在提供頂級(jí)安全性,確保您的數(shù)字基礎(chǔ)設(shè)施能夠從容應(yīng)對(duì)不斷變化的威脅。
我們之前既有的系統(tǒng)已經(jīng)成功地檢測(cè)出并緩解了針對(duì)DNS的“較簡(jiǎn)單”的DDoS攻擊,但在應(yīng)對(duì)較為復(fù)雜的攻擊時(shí)仍會(huì)有些力不從心。Advanced DNS Protection系統(tǒng)能夠利用我們?cè)谶@篇博文中展示的新技術(shù)來(lái)彌補(bǔ)不足之處。
Advanced DNS Protection目前處于測(cè)試階段,所有Magic Transit用戶均可免費(fèi)使用。請(qǐng)繼續(xù)閱讀,深入了解DNS DDoS攻擊、新系統(tǒng)的工作原理以及有關(guān)未來(lái)新功能的預(yù)期。
您可以即刻進(jìn)行注冊(cè),以深入了解我們可以如何使您的DNS服務(wù)器得到可靠的安全防護(hù)、同時(shí)確保持續(xù)可用及高性能。
三分之一的DDoS攻擊以DNS服務(wù)器為目標(biāo)
分布式拒絕服務(wù)(DDoS)攻擊是一種網(wǎng)絡(luò)攻擊,旨在破壞網(wǎng)站及其他在線服務(wù)并使它們脫機(jī)。當(dāng)DDoS攻擊得逞并導(dǎo)致網(wǎng)站脫機(jī)時(shí),會(huì)造成巨大的收入損失和品牌聲譽(yù)受損。
2023年DDoS攻擊類型分布情況
破壞網(wǎng)站并造成脫機(jī)的一種常見(jiàn)方法是向其服務(wù)器灌入超過(guò)其處理能力的流量。這就是所謂的HTTP洪水攻擊。這是一種通過(guò)大量HTTP請(qǐng)求直接攻擊網(wǎng)站的DDoS攻擊。根據(jù)我們2023年第四季度DDoS威脅趨勢(shì)報(bào)告顯示,在2023年,我們的系統(tǒng)自動(dòng)緩解了520萬(wàn)次HTTP DDoS攻擊,占所有DDoS攻擊的37%。
HTTP洪水攻擊示意圖
不過(guò),還有另一種方法可以讓網(wǎng)站脫機(jī):間接攻擊網(wǎng)站。威脅者不是向網(wǎng)站服務(wù)器灌入大量流量,而是向DNS服務(wù)器灌入大量流量。如果DNS服務(wù)器被超過(guò)其能力的查詢數(shù)量壓垮,主機(jī)名到IP地址的轉(zhuǎn)換就會(huì)失敗,網(wǎng)站就會(huì)因?yàn)镈NS服務(wù)器無(wú)法響應(yīng)合法查詢而間接中斷。
一個(gè)值得注意的例子是2016年10月針對(duì)DNS提供商Dyn的攻擊。這是一次由臭名昭著的Mirai僵尸網(wǎng)絡(luò)發(fā)起的毀滅性DDoS攻擊。它導(dǎo)致Airbnb、Netflix和Amazon等主要網(wǎng)站的服務(wù)中斷,Dyn花了整整一天的時(shí)間才恢復(fù)服務(wù)。對(duì)于可能導(dǎo)致重大聲譽(yù)和收入影響的服務(wù)中斷來(lái)說(shuō),這算是很長(zhǎng)的時(shí)間記錄了。
七年多過(guò)去了,Mirai攻擊和DNS攻擊仍然非常普遍。在2023年,DNS攻擊是第二大最常見(jiàn)的攻擊類型,占所有DDoS攻擊(460萬(wàn)次)的33%。由Mirai變體僵尸網(wǎng)絡(luò)發(fā)起的攻擊是排名第五的最常見(jiàn)網(wǎng)絡(luò)層DDoS攻擊類型,占所有網(wǎng)絡(luò)層DDoS攻擊的3%。
DNS查詢洪水攻擊示意圖
什么是基于DNS的復(fù)雜DDoS攻擊?
如果每次查詢都有重復(fù)出現(xiàn)的模式,那么基于DNS的DDoS攻擊就更容易緩解。這就是所謂的“攻擊指紋”?;诠糁讣y的緩解系統(tǒng)可以識(shí)別這些模式,然后部署緩解規(guī)則,在不影響合法流量的情況下對(duì)攻擊流量進(jìn)行有針對(duì)性的過(guò)濾。
例如,假設(shè)攻擊者向目標(biāo)發(fā)送了大量DNS查詢。在這個(gè)例子中,攻擊者只是隨機(jī)化了IP地址。所有其他查詢字段保持一致。緩解系統(tǒng)檢測(cè)到了這種模式(源端口為1024,查詢的域?yàn)閌example.com`),并將生成一個(gè)短暫的緩解規(guī)則來(lái)過(guò)濾這些查詢。
攻擊指紋識(shí)別概念簡(jiǎn)圖
然而,有些基于DNS的DDoS攻擊更為復(fù)雜和隨機(jī),沒(méi)有明顯的攻擊模式。如果沒(méi)有一致的模式來(lái)鎖定攻擊,就幾乎不可能使用基于指紋的緩解系統(tǒng)來(lái)緩解攻擊。此外,即使在高度隨機(jī)化的攻擊中檢測(cè)到攻擊模式,該模式也很可能非常通用,以至于會(huì)錯(cuò)誤地減少合法用戶流量和/或無(wú)法捕捉到整個(gè)攻擊。
在這個(gè)例子中,攻擊者還在DNS查詢洪水攻擊中隨機(jī)化了查詢域。與此同時(shí),一個(gè)合法客戶端(或服務(wù)器)也在查詢`example.com`。它們被分配了一個(gè)隨機(jī)端口號(hào),恰好是1024。緩解系統(tǒng)檢測(cè)到的模式(源端口為1024,查詢的域?yàn)閌example.com`)只捕捉到攻擊中符合指紋的部分。緩解系統(tǒng)漏掉了攻擊中查詢其他主機(jī)名的部分。最后,緩解系統(tǒng)錯(cuò)誤地捕獲了與攻擊流量相似的合法流量。
隨機(jī)DNS洪水攻擊簡(jiǎn)圖
這只是一個(gè)非常簡(jiǎn)單的例子,借以說(shuō)明攻擊指紋識(shí)別如何無(wú)法阻止隨機(jī)化的DDoS攻擊。當(dāng)攻擊者通過(guò)信譽(yù)良好的公共DNS解析器(一種DNS解析器,也稱為遞歸DNS服務(wù)器,是一種負(fù)責(zé)從其他各種DNS服務(wù)器追蹤網(wǎng)站IP地址的DNS服務(wù)器)“洗白”其攻擊流量時(shí),這一挑戰(zhàn)就會(huì)被放大。這就是所謂的DNS Laundering攻擊。
DNS解析過(guò)程示意圖
在DNS Laundering攻擊期間,攻擊者將查詢由受害者的權(quán)威DNS服務(wù)器管理的實(shí)時(shí)域的子域。定義子域的前綴是隨機(jī)的,并且使用的次數(shù)絕不會(huì)超過(guò)一次。由于存在隨機(jī)化元素,遞歸DNS服務(wù)器永遠(yuǎn)不會(huì)有緩存響應(yīng),而是需要將查詢轉(zhuǎn)發(fā)到受害者的權(quán)威性DNS服務(wù)器。這樣,權(quán)威性DNS服務(wù)器就會(huì)受到大量查詢的轟炸,直到無(wú)法為合法查詢提供服務(wù),甚至完全崩潰。
DNS Laundering攻擊示意圖
復(fù)雜的DNS DDoS攻擊的復(fù)雜性在于其吊詭性:雖然它們相對(duì)容易被發(fā)現(xiàn),但有效地緩解它們卻要困難得多。造成這一困難的原因是,權(quán)威DNS服務(wù)器不能一概阻止來(lái)自遞歸DNS服務(wù)器的查詢,因?yàn)檫@些服務(wù)器也會(huì)發(fā)出合法請(qǐng)求。此外,權(quán)威DNS服務(wù)器無(wú)法過(guò)濾針對(duì)目標(biāo)域的查詢,因?yàn)樗且粋€(gè)真正的域,需要保持可訪問(wèn)性。
利用Advanced DNS Protection系統(tǒng)緩解基于DNS的復(fù)雜DDoS攻擊
上述基于DNS的復(fù)雜DDoS攻擊的增加促使我們開(kāi)發(fā)出一種新的解決方案——一種能夠更好地保護(hù)客戶并彌補(bǔ)傳統(tǒng)指紋識(shí)別方法不足的解決方案。這個(gè)解決方案就是Advanced DNS Protection系統(tǒng)。與Advanced TCP Protection系統(tǒng)類似,它是我們構(gòu)建的軟件定義系統(tǒng),由我們的具狀態(tài)緩解平臺(tái)flowtrackd(流量跟蹤守護(hù)進(jìn)程)提供支持。
Advanced DNS Protection系統(tǒng)是對(duì)我們現(xiàn)有DDoS防御系統(tǒng)套件的補(bǔ)充。Advanced DNS Protection系統(tǒng)采用與我們的其他DDoS防御系統(tǒng)相同的方法,它也是一個(gè)分布式系統(tǒng),它的實(shí)例在世界各地的每個(gè)Cloudflare服務(wù)器上運(yùn)行。系統(tǒng)啟動(dòng)后,每個(gè)實(shí)例都能自主檢測(cè)和緩解攻擊,無(wú)需任何集中監(jiān)管。檢測(cè)和緩解瞬時(shí)發(fā)生(零秒)。每個(gè)實(shí)例還會(huì)與數(shù)據(jù)中心其他服務(wù)器上的其他實(shí)例通信。它們相互交流并共享威脅情報(bào),以便在每個(gè)數(shù)據(jù)中心內(nèi)提供全面的緩解措施。
Cloudflare儀表板的屏幕截圖,其中展示Advanced DNS Protection系統(tǒng)緩解了基于DNS的DDoS攻擊
我們基于指紋的系統(tǒng)(DDoS防護(hù)托管規(guī)則集)和具狀態(tài)緩解系統(tǒng)共同提供了穩(wěn)健的多層防御策略,可抵御最為復(fù)雜和隨機(jī)化的基于DNS的DDoS攻擊。該系統(tǒng)還可定制,從而允許Cloudflare用戶根據(jù)自身需要進(jìn)行調(diào)整。歡迎查看我們的文檔,了解有關(guān)配置選項(xiàng)的更多信息。
Cloudflare的DDoS防護(hù)系統(tǒng)示意圖
我們還新增了以DNS為中心的數(shù)據(jù)點(diǎn),以幫助客戶更好地了解DNS流量模式和攻擊。這些新數(shù)據(jù)點(diǎn)可在Cloudflare網(wǎng)絡(luò)分析儀表板中的新選項(xiàng)卡“DNS保護(hù)”中找到。新選項(xiàng)卡可讓用戶了解哪些DNS查詢已通過(guò)和被丟棄,以及這些查詢的特征,包括查詢的域名和記錄類型。您還可以使用Cloudflare GraphQL API以及通過(guò)Logpush將日志導(dǎo)出到自己的監(jiān)控儀表板來(lái)獲取分析結(jié)果。
DNS查詢:辨別“好與壞”
為了防范復(fù)雜且高度隨機(jī)化的基于DNS的DDoS攻擊,我們需要更好地判斷哪些DNS查詢對(duì)客戶來(lái)說(shuō)可能是合法的。不過(guò),僅憑查詢名稱并不容易推斷出哪些是合法的,哪些可能是攻擊的一部分。我們不能完全依賴基于指紋的檢測(cè)機(jī)制,因?yàn)橛袝r(shí)看似隨機(jī)的查詢,如abc123.example.com可能是合法的。反之亦然:對(duì)mailserver.example.com的查詢可能看起來(lái)合法,但最終可能不是客戶的真正子域。
更糟糕的是,我們的第3層數(shù)據(jù)包基于路由的緩解服務(wù)Magic Transit使用直接服務(wù)器返回(DSR),這意味著我們無(wú)法看到DNS源服務(wù)器的響應(yīng),從而無(wú)法反饋哪些查詢最終是合法的。
使用直接服務(wù)器返回(DSR)的Magic Transit圖表
最后經(jīng)由研判,我們認(rèn)為對(duì)抗這些攻擊的最佳方法是根據(jù)我們建立的歷史記錄,為每個(gè)客戶的預(yù)期DNS查詢建立一個(gè)數(shù)據(jù)模型。有了這個(gè)模型,我們就能更有把握地判斷哪些查詢可能是合法的,并丟棄那些我們認(rèn)為不合法的查詢,從而保護(hù)客戶的DNS服務(wù)器。
這是Advanced DNS Protection的基礎(chǔ)。它會(huì)檢查發(fā)送給Magic Transit客戶的每個(gè)DNS查詢,并根據(jù)數(shù)據(jù)模型和每個(gè)客戶的個(gè)別設(shè)置通過(guò)或丟棄這些查詢。
為此,我們?nèi)蚓W(wǎng)絡(luò)中的每臺(tái)服務(wù)器都會(huì)不斷地向我們的核心數(shù)據(jù)中心發(fā)送某些與DNS相關(guān)的數(shù)據(jù),如查詢類型(如A記錄)和查詢的域(但不包括查詢的來(lái)源),我們會(huì)在核心數(shù)據(jù)中心中定期計(jì)算每個(gè)客戶的DNS查詢流量概況。這些概況分布在我們的全球網(wǎng)絡(luò)中,通過(guò)查閱這些概況,可以幫助我們更自信、更準(zhǔn)確地判定哪些查詢是“好”的,哪些查詢是“壞”的??紤]到客戶對(duì)基于其配置的非預(yù)期DNS查詢的容忍度,我們會(huì)丟棄“壞”的查詢,通過(guò)“好”的查詢。
解決設(shè)計(jì)Advanced DNS Protection系統(tǒng)時(shí)出現(xiàn)的技術(shù)難題
在建立此系統(tǒng)的過(guò)程中,我們面臨幾個(gè)具體的技術(shù)挑戰(zhàn):
-數(shù)據(jù)處理
我們每天在我們的全球網(wǎng)絡(luò)上為我們的Magic Transit客戶處理幾千萬(wàn)個(gè)DNS查詢,這還不包括Cloudflare的其他DNS產(chǎn)品套件,我們使用上述與DNS相關(guān)的數(shù)據(jù)構(gòu)建自定義查詢流量概況。分析這類數(shù)據(jù)需要我們仔細(xì)處理數(shù)據(jù)管道。在構(gòu)建這些流量概況時(shí),我們?cè)趯懭牒妥x取必要數(shù)據(jù)時(shí)分別使用了寫入采樣和自適應(yīng)比特率技術(shù),以確保在保護(hù)我們的數(shù)據(jù)基礎(chǔ)設(shè)施的同時(shí)捕獲細(xì)粒度的數(shù)據(jù),并丟棄可能會(huì)影響最終用戶隱私的信息。
-查詢數(shù)據(jù)的緊湊表示
我們的一些客戶每天單單DNS查詢量就達(dá)幾千萬(wàn)次。要以未壓縮格式存儲(chǔ)和分發(fā)如此大量的數(shù)據(jù),其成本之高令人承受不起。為了解決這一難題,我們決定對(duì)每個(gè)客戶的流量概況使用計(jì)數(shù)布隆過(guò)濾器。這是一種概率數(shù)據(jù)結(jié)構(gòu),允許我們簡(jiǎn)潔地存儲(chǔ)和分發(fā)每個(gè)客戶的DNS概況,然后在數(shù)據(jù)包處理時(shí)有效地查詢它。
-數(shù)據(jù)分布
我們需要定期在我們的數(shù)據(jù)中心之間重新計(jì)算和重新分配每個(gè)客戶的DNS流量概況到我們機(jī)群中的每臺(tái)服務(wù)器。我們使用自己的R2存儲(chǔ)服務(wù)大大簡(jiǎn)化了這項(xiàng)工作。在啟用區(qū)域提示和自定義域的情況下,我們啟用了緩存,并且只使用了少量R2存儲(chǔ)桶。每次我們需要更新整個(gè)邊緣機(jī)群的客戶數(shù)據(jù)模型的全局視圖時(shí),98%的傳輸?shù)奈欢际菑木彺嬷刑峁┑摹?/p>
-內(nèi)置容錯(cuò)能力
當(dāng)新域名投入使用時(shí),我們的數(shù)據(jù)模型不會(huì)立即意識(shí)到這些域名,因?yàn)槭褂眠@些域名進(jìn)行的查詢以前從未見(jiàn)過(guò)。這種情況以及其他可能出現(xiàn)誤報(bào)的原因要求我們必須在系統(tǒng)中建立一定的容錯(cuò)能力,以允許潛在的合法查詢。為此,我們采用了令牌存儲(chǔ)桶算法。客戶可以通過(guò)更改Advanced DNS Protection系統(tǒng)的靈敏度級(jí)別來(lái)配置令牌存儲(chǔ)桶的大小。靈敏度越低,令牌存儲(chǔ)桶越大,反之亦然。令牌存儲(chǔ)桶越大,對(duì)非預(yù)期DNS查詢和偏離概況的預(yù)期DNS查詢的容錯(cuò)能力就越高。靈敏度級(jí)別越高,令牌存儲(chǔ)桶越小,方法越嚴(yán)格。
-利用Cloudflare的全球軟件定義網(wǎng)絡(luò)
歸根結(jié)底,這些都是Cloudflare擅長(zhǎng)解決的挑戰(zhàn)類型。我們的客戶信任我們,讓我們負(fù)責(zé)處理他們的流量,并確保他們的互聯(lián)網(wǎng)資產(chǎn)受到保護(hù)、可用且性能良好。我們非常重視這份信任。
Advanced DNS Protection系統(tǒng)利用我們的全球基礎(chǔ)設(shè)施和數(shù)據(jù)處理能力以及智能算法和數(shù)據(jù)結(jié)構(gòu)來(lái)保護(hù)我們的客戶。