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