Cloudflare如何自動(dòng)緩解了創(chuàng)世界紀(jì)錄的3.8 Tbps DDoS攻擊

來源:Cloudflare
作者:Cloudflare
時(shí)間:2024-11-23
2796
自9月初開始,Cloudflare DDoS防護(hù)系統(tǒng)一直在抵御持續(xù)一個(gè)月的L3/4 DDoS容量耗盡攻擊。

E375BB2B-C8F8-4636-8FE7-9BFD6B879CD0.jpeg

自9月初開始,Cloudflare DDoS防護(hù)系統(tǒng)一直在抵御持續(xù)一個(gè)月的L3/4 DDoS容量耗盡攻擊。Cloudflare防御解決方案在整個(gè)9月緩解了百余次L3/4 DDoS容量耗盡攻擊,其中許多攻擊超過20億個(gè)數(shù)據(jù)包/秒(Bpps)和3 TB/秒(Tbps)。最大攻擊峰值達(dá)到了3.8 Tbps,這是迄今所有組織公開披露的規(guī)模最大的一次攻擊。檢測(cè)和緩解均完全自主完成。下圖展示了針對(duì)同一Cloudflare客戶但都被自主緩解的兩次單獨(dú)攻擊事件。

5C2597D2-7A9D-456C-89AA-874E514C6924.jpeg

緩解了一次持續(xù)65秒、每秒3.8 Tbps的DDoS攻擊

931BCD33-12DE-4E95-ABA2-C144F7D950F6.jpeg

緩解了一次持續(xù)60秒、每秒21.4億個(gè)數(shù)據(jù)包的DDoS攻擊

Cloudflare客戶受到妥善保護(hù)

使用Cloudflare HTTP反向代理服務(wù)(例如Cloudflare WAF和Cloudflare CDN)的Cloudflare客戶將會(huì)自動(dòng)受到保護(hù)。

使用Spectrum和Magic Transit的Cloudflare客戶也會(huì)自動(dòng)受到保護(hù)。Magic Transit客戶可以通過部署Magic Firewall規(guī)則,在數(shù)據(jù)包層執(zhí)行嚴(yán)格的正面和負(fù)面安全模型來進(jìn)一步優(yōu)化受到的保護(hù)。

其他互聯(lián)網(wǎng)資產(chǎn)可能并不安全

這些攻擊的規(guī)模和頻率都是前所未有。由于其龐大的規(guī)模和每秒比特/數(shù)據(jù)包的速率,這些攻擊能夠摧毀未受保護(hù)的互聯(lián)網(wǎng)資產(chǎn)以及受本地設(shè)備或云服務(wù)提供商保護(hù)的互聯(lián)網(wǎng)資產(chǎn),這些提供商沒有足夠的網(wǎng)絡(luò)容量或全球覆蓋范圍來處理此等規(guī)模的資產(chǎn)與合法流量,同時(shí)還要確保不影響其網(wǎng)絡(luò)性能。

然而,Cloudflare確實(shí)擁有必需的網(wǎng)絡(luò)容量、全球覆蓋范圍以及智能系統(tǒng),用于吸收并自動(dòng)緩解這些可怕的攻擊。

在本篇博客文章中,我們將回顧這次攻擊活動(dòng)及其造成如此嚴(yán)重影響的原因。我們會(huì)剖析第3/4層DDoS攻擊,描述攻擊目標(biāo)與攻擊生成方式;也會(huì)詳細(xì)介紹Cloudflare系統(tǒng)如何能夠自主檢測(cè)和緩解這些可怕的攻擊,同時(shí)不影響客戶的性能。我們會(huì)描述Cloudflare防御解決方案的關(guān)鍵功能,從Cloudflare系統(tǒng)如何生成實(shí)時(shí)(動(dòng)態(tài))特征來匹配攻擊流量開始,一直到如何利用內(nèi)核功能極速丟棄數(shù)據(jù)包。

攻擊活動(dòng)分析

我們觀察到,此次攻擊活動(dòng)的目標(biāo)用戶是金融服務(wù)、互聯(lián)網(wǎng)以及電信等行業(yè)的多個(gè)客戶。目標(biāo)范圍是帶寬飽和,以及資源耗盡的內(nèi)聯(lián)應(yīng)用和設(shè)備。

這些攻擊主要利用源自全球各地固定端口上的UDP,其中大部分來自越南、俄羅斯、巴西、西班牙和美國(guó)。

高包速率攻擊似乎源自多種類型的遭入侵設(shè)備,包括MikroTik設(shè)備、DVR和Web服務(wù)器,這些設(shè)備經(jīng)過精心編排協(xié)同工作,用異常大規(guī)模的流量淹沒目標(biāo)。這些高比特率攻擊似乎源自大量遭入侵的華碩家用路由器,這些路由器可能利用了Censys最近發(fā)現(xiàn)的CVE 9.8關(guān)鍵漏洞。

EF95D478-96D8-4A47-81F5-6E895858F4D0.jpeg

DDoS攻擊剖析

有必要先來了解一下DDoS攻擊的基本知識(shí),然后再討論Cloudflare如何自動(dòng)檢測(cè)并緩解有史以來最大規(guī)模的DDoS攻擊。

FA00393B-6892-4B5D-B339-9975EA4F057D.jpeg

DDoS攻擊簡(jiǎn)圖

分布式拒絕服務(wù)(DDoS)攻擊的目標(biāo)是拒絕合法用戶訪問服務(wù)。通常是通過耗盡提供服務(wù)所需的資源來實(shí)現(xiàn)目的。在最近的第3/4層DDoS攻擊背景下,這種資源是指CPU周期和網(wǎng)絡(luò)帶寬。

耗盡CPU周期

處理數(shù)據(jù)包會(huì)消耗CPU周期。對(duì)于常規(guī)(非攻擊)流量,服務(wù)接收到的合法數(shù)據(jù)包會(huì)引發(fā)該服務(wù)執(zhí)行某些操作,并且不同的操作需要不同數(shù)量的CPU處理。但在將數(shù)據(jù)包傳送到服務(wù)之前,需要對(duì)每個(gè)數(shù)據(jù)包執(zhí)行操作:需要解析和處理第3層數(shù)據(jù)包標(biāo)頭并將數(shù)據(jù)包傳送到正確的計(jì)算機(jī)和接口;需要處理第4層數(shù)據(jù)包標(biāo)頭并將其路由到正確的套接字(如果有)??赡苓€有多個(gè)其他處理步驟來檢查每個(gè)數(shù)據(jù)包。因此,如果攻擊者以足夠高的包速率發(fā)送數(shù)據(jù)包,則有可能會(huì)導(dǎo)致可用的CPU資源達(dá)到飽和狀態(tài),從而拒絕向合法用戶提供服務(wù)。

7706F6D4-FCB7-4E17-B422-77D4372610DB.jpeg

為了抵御高包速率攻擊,您必須要能夠使用盡可能少的CPU周期來檢查并丟棄不良數(shù)據(jù)包,從而留下足夠的CPU來處理優(yōu)良數(shù)據(jù)包。您可以獲取其他更多或更快的CPU來執(zhí)行處理,但這可能是一個(gè)非常耗時(shí)的流程,而且成本高昂。

耗盡網(wǎng)絡(luò)帶寬

網(wǎng)絡(luò)帶寬是指每次可以傳送到服務(wù)器的數(shù)據(jù)總量??梢园褞捒醋魇禽斔堋H绻粽吣軌?qū)⒈绕淠芰Ψ秶鷥?nèi)更多的垃圾數(shù)據(jù)推送到管道中,則不良與優(yōu)良數(shù)據(jù)均在上游(即管道的入口處)遭到丟棄,因此,DDoS攻擊取得成功。

C0CBBF3F-A030-4D86-9230-5F2A4E4370F1.jpeg

抵御可能會(huì)導(dǎo)致網(wǎng)絡(luò)帶寬飽和的攻擊可能并非易事,因?yàn)槿绻幱谝扬柡凸艿赖南掠危瑒t能做的事情非常少。實(shí)際上您只有幾個(gè)選擇:獲得一個(gè)更大的管道,找到一種潛在方法將優(yōu)質(zhì)流量轉(zhuǎn)移到某個(gè)未飽和的新管道中,或者但愿您可以要求管道的上游端停止向管道中發(fā)送部分或全部數(shù)據(jù)。

生成DDoS攻擊

如果從攻擊者的角度來考慮這個(gè)問題,您就會(huì)意識(shí)到存在類似的限制。正如接收數(shù)據(jù)包需要消耗CPU周期一樣,創(chuàng)建數(shù)據(jù)包也需要消耗CPU周期。例如,如果發(fā)送和接收數(shù)據(jù)包的成本相同,則攻擊者需要CPU能力來生成攻擊,而我們需要相同的CPU能力來抵御攻擊。但是,在大多數(shù)情況下,事實(shí)并非如此,也就是存在成本不對(duì)稱,因?yàn)楣粽吣軌蚴褂帽冉邮者@些數(shù)據(jù)包所需更少的CPU周期來生成數(shù)據(jù)包。不過,值得注意的是,生成攻擊并不是免費(fèi)的,可能需要大量的CPU算力。

對(duì)于攻擊者來說,讓網(wǎng)絡(luò)帶寬達(dá)到飽和狀態(tài)甚至更加困難。因?yàn)楣粽咝枰軌蜉敵霰饶繕?biāo)服務(wù)分配的更多帶寬。它們實(shí)際上需要能夠超出接收服務(wù)的容量。這真的難以實(shí)現(xiàn),所以導(dǎo)致實(shí)施網(wǎng)絡(luò)帶寬攻擊的最常見方式是使用反射/放大攻擊,例如DNS放大攻擊。這些攻擊讓攻擊者能夠?qū)⑿?shù)據(jù)包發(fā)送給中間服務(wù),然后中間服務(wù)發(fā)送大數(shù)據(jù)包給受害者。

在這兩種情況下,攻擊者都需要獲取或獲得許多設(shè)備的訪問權(quán)限,才能發(fā)起攻擊??梢酝ㄟ^多種不同方式獲得這些設(shè)備。它們可能是來自云服務(wù)提供商或托管服務(wù)的服務(wù)器類計(jì)算機(jī),也可能是遭入侵的設(shè)備,例如感染了攻擊者惡意軟件的DVR、路由器以及網(wǎng)絡(luò)攝像頭。這些計(jì)算機(jī)共同構(gòu)成了僵尸網(wǎng)絡(luò)。

Cloudflare如何抵御大型攻擊

鑒于我們已經(jīng)了解了DDoS攻擊的基本原理,現(xiàn)在可以進(jìn)一步闡述一下Cloudflare抵御此類攻擊的方法。

利用全球Anycast擴(kuò)大攻擊面

第一個(gè)因素是,Cloudflare網(wǎng)絡(luò)建立在Anycast的基礎(chǔ)之上。簡(jiǎn)而言之,Anycast可實(shí)現(xiàn)由世界各地的多臺(tái)計(jì)算機(jī)來廣播單個(gè)IP地址。發(fā)送到該IP地址的數(shù)據(jù)包將由距離最近的計(jì)算機(jī)處理。這意味著,如果攻擊者使用分布式僵尸網(wǎng)絡(luò)發(fā)起攻擊,則整個(gè)Cloudflare網(wǎng)絡(luò)會(huì)以分布式方式接收攻擊內(nèi)容。例如,德克薩斯州達(dá)拉斯的一臺(tái)受感染DVR會(huì)將數(shù)據(jù)包發(fā)送到位于達(dá)拉斯的Cloudflare服務(wù)器;倫敦的一個(gè)受感染網(wǎng)絡(luò)攝像頭會(huì)將數(shù)據(jù)包發(fā)送到位于倫敦的Cloudflare服務(wù)器。

DB99AD05-8052-4153-BE21-635C3C047B44.png

Anycast與Unicast網(wǎng)絡(luò)

此外,Anycast網(wǎng)絡(luò)讓Cloudflare能夠?qū)⒂?jì)算資源和帶寬資源分配到最需要這些資源、距離最近的地區(qū)。人口密集的地區(qū)將會(huì)生成大量的合法流量,位于這些地區(qū)的數(shù)據(jù)中心將擁有更多帶寬和CPU資源來滿足這些需求。而人口稀少的地區(qū)自然會(huì)生成較少的合法流量,因此,可以適當(dāng)?shù)卣{(diào)整這些地區(qū)的Cloudflare數(shù)據(jù)中心的規(guī)模。由于攻擊流量主要來自遭入侵的設(shè)備,這些設(shè)備往往會(huì)以與正常流量相匹配的方式分布,從而將攻擊流量按比例發(fā)送到可以處理它們的數(shù)據(jù)中心。同樣地,在數(shù)據(jù)中心內(nèi),流量會(huì)分布到多臺(tái)計(jì)算機(jī)。

此外,對(duì)于高帶寬攻擊,Cloudflare網(wǎng)絡(luò)還有另一個(gè)優(yōu)勢(shì)。Cloudflare網(wǎng)絡(luò)中的大部分流量并不以對(duì)稱方式消耗帶寬。例如,某HTTP請(qǐng)求從位于Cloudflare幕后的站點(diǎn)獲取網(wǎng)頁,雖然它是一個(gè)相對(duì)較小的傳入數(shù)據(jù)包,但會(huì)產(chǎn)生較大的傳出流量返回到客戶端。這意味著,Cloudflare網(wǎng)絡(luò)傳出的合法流量往往遠(yuǎn)多于其接收的流量。然而,這種網(wǎng)絡(luò)鏈路和分配的帶寬是對(duì)稱的,也就是說,有豐富的傳入帶寬可用于接收容量耗盡攻擊流量。

生成實(shí)時(shí)特征

當(dāng)流量到達(dá)數(shù)據(jù)中心內(nèi)的單獨(dú)服務(wù)器時(shí),攻擊的帶寬已經(jīng)得到了足夠的分布,以至于沒有上游鏈路處于飽和狀態(tài)。這并不意味著攻擊已完全停止,因?yàn)槲覀兩形磥G棄不良數(shù)據(jù)包。為此,我們需要對(duì)流量進(jìn)行采樣,評(píng)估攻擊特征,然后創(chuàng)建規(guī)則來阻止不良數(shù)據(jù)包。

采樣流量并丟棄不良數(shù)據(jù)包是l4drop組件的職責(zé),此組件使用XDP(eXpress Data Path)并利用擴(kuò)展版伯克利數(shù)據(jù)包過濾器,也稱之為eBPF(extended BPF)。這讓我們能夠在內(nèi)核空間執(zhí)行自定義代碼,并直接在網(wǎng)絡(luò)接口卡(NIC)級(jí)別來處理(丟棄、轉(zhuǎn)發(fā)或修改)每個(gè)數(shù)據(jù)包。此組件有助于系統(tǒng)有效地丟棄數(shù)據(jù)包,而不會(huì)消耗計(jì)算機(jī)上過多的CPU資源。

19750431-739D-47C9-9343-8B6606F9DA1A.jpeg

Cloudflare DDoS防護(hù)系統(tǒng)概述

我們使用XDP采樣數(shù)據(jù)包,以尋找表明攻擊的可疑特征。樣本包括源IP、源端口、目的IP、目的端口、協(xié)議、TCP標(biāo)志、序列號(hào)、選項(xiàng)、包速率等字段。由我們的秘密武器denial of service daemon(dosd).Dosd執(zhí)行此分析。它有許多過濾器,可以根據(jù)我們精選的啟發(fā)式檢查方法來指示何時(shí)啟動(dòng)緩解措施。對(duì)我們的客戶來說,這些過濾器按攻擊手段進(jìn)行邏輯分組并作為DDoS托管規(guī)則公開。Cloudflare客戶可以根據(jù)需要,在一定程度上自定義行為。

在收到取自XDP的樣本后,dosd會(huì)生成可疑流量模式特征的多種排列。然后,dosd將使用數(shù)據(jù)流式傳輸算法確定最佳特征,以緩解攻擊。一旦符合攻擊特征,dosd會(huì)將緩解規(guī)則作為eBPF程序內(nèi)聯(lián)推送,以精準(zhǔn)地丟棄攻擊流量。

Dosd在服務(wù)器級(jí)別、數(shù)據(jù)中心級(jí)別和全球網(wǎng)絡(luò)級(jí)別進(jìn)行攻擊檢測(cè)和緩解,而且都是軟件定義的。這使我們的網(wǎng)絡(luò)極具韌性,幾乎能即時(shí)緩解各種攻擊。不存在路徑外的“清洗中心”或“清洗設(shè)備”。相反,每臺(tái)服務(wù)器都運(yùn)行Cloudflare產(chǎn)品套件全棧,包括DDoS檢測(cè)和緩解組件。這一切均自動(dòng)完成。每臺(tái)服務(wù)器還會(huì)在數(shù)據(jù)中心內(nèi)的服務(wù)器之間以及數(shù)據(jù)中心之間傳播(多播)緩解攻擊指令。這將保證無論是本地攻擊還是全球分布攻擊,dosd都已經(jīng)內(nèi)聯(lián)安裝了緩解規(guī)則,以確保緩解措施的穩(wěn)健性。

強(qiáng)大的防御措施,抵御猛烈的攻擊

我們軟件定義的自動(dòng)化DDoS檢測(cè)和緩解系統(tǒng)在Cloudflare整個(gè)網(wǎng)絡(luò)上運(yùn)行。在本篇博客文章中,我們主要關(guān)注Cloudflare動(dòng)態(tài)特征識(shí)別功能,但其實(shí)我們的防御系統(tǒng)資源要豐富得多。Advanced TCP Protection系統(tǒng)和Advanced DNS Protection系統(tǒng)與動(dòng)態(tài)指紋識(shí)別一起發(fā)揮作用,識(shí)別復(fù)雜且基于TCP的高度隨機(jī)化DDoS攻擊,還利用統(tǒng)計(jì)分析來阻止基于DNS的復(fù)雜DDoS攻擊。此外,我們的防御解決方案集成了實(shí)時(shí)威脅情報(bào)、流量分析及機(jī)器學(xué)習(xí)分類,作為自適應(yīng)DDoS防護(hù)的一部分,用于緩解流量異常。

這些系統(tǒng)與種類繁多的Cloudflare安全性產(chǎn)品組合均以世界上數(shù)一數(shù)二的全球網(wǎng)絡(luò)為基礎(chǔ)而構(gòu)建,確保Cloudflare客戶免受全球規(guī)模最大的攻擊。

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來源:Cloudflare
版權(quán)說明:本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家