訂閱以接收新文章的通知:

Cloudflare 自發邊緣 DDoS 保護之剖析

2021/03/18

閱讀時間:8 分鐘
A deep-dive into Cloudflare’s autonomous edge DDoS protection

很高興來談談我們的 DDoS (分散式阻斷服務) 保護系統。這套系統現已部署到 Cloudflare 全球所有 200 多個資料中心,正在積極為所有客戶提供保護,防禦第 3-7 層 (OSI 模型) 上的 DDoS 攻擊,無需人工干預。這還顯著提高了我們網路的韌性。作為我們非計量 DDoS 保護承諾的一部分,我們不會因客戶受到 DDoS 攻擊就增加收費。

自發邊緣保護

為了迅速、精準地幫助客戶防禦 DDoS 攻擊,我們打造了一套自發邊緣偵測與緩解系統,無需尋求集中共識,便可自發做出決策。這套系統完全由軟體定義,在我們網路邊緣的商用伺服器上執行。這由我們的阻斷服務精靈 (dosd) 驅動,後者最初於 2019 年中上線,用來防禦第 3/4 層 DDoS 攻擊。自那時起,我們不斷投入心力來增強和改善其能力,藉此永遠領先攻擊者一步,並破壞攻擊的經濟效益。最新一輪改良擴展了我們的邊緣緩解元件,除了第 3/4 層外,現在也能防禦第 7 層攻擊。

這套系統在我們所有邊緣資料中心的每一台伺服器上執行,不斷分析封包和 HTTP 請求,掃描 DDoS 攻擊。一旦偵測到攻擊,系統立即將一條附有即時產生簽名的緩解規則推送到 Linux 堆疊中的大多數最佳位置,在此套用最具成本效益的緩解措施。

A conceptual diagram of Cloudflare DDoS mitigation systems
Cloudflare DDoS 緩解系統概念圖‌‌

新增的邊緣偵測能力是我們現有全球威脅偵測機制 Gatebot 的補充,後者位於我們網路的核心位置。利用 Gatebot 在網路核心位置偵測攻擊,這非常適合規模較大的分散式巨流量攻擊,這類攻擊要求在整個 Cloudflare 邊緣協調,而規模較小的局部攻擊則需要不同的應對方法。在邊緣偵測網路層和 HTTP 攻擊,表示我們可以更加迅速地進行採樣,同時偵測大型和小型攻擊,並且即刻產生緩解規則。在過去的幾個月裡,dosd 偵測到所有第 3/4 層 DDoS 攻擊中的 98.6%。同樣,自從部署 dosd 的擴展版本以來,這已緩解了所有第 7 層攻擊中的 81%。

之前的部落格文章中已介紹過 Gatebotflowtrackd,因此本文著重介紹擴展後的 dosd 能力。

利用 Linux 網路極速丟棄封包和請求

十年前,Linux 網路很慢。而如今,我們能極速丟棄封包,卻也歸功於 Linux,特別是 Linux iptables 和 eXpress Data Path (XDP)。

封包的一生

如果封包的目的地是受 Cloudflare 保護的客戶,這個封包將傳送到最近的 Cloudflare 資料中心 (經由 BGP Anycast 傳輸)。到達那裡後,封包將經網路交換機使用等價多路徑路由組 (ECMP) 從路由器發往伺服器。到達伺服器後,網路介面卡 (XDP) 將封包傳送到一組 eXpress Data Path (XDP) 程式中。第一組 XDP 程式 L4Drop 套用源自此前所偵測攻擊的緩解規則,並將封包樣本傳送給 dosd 做進一步分析。

如果封包沒有被視為惡意並丟棄,這將被傳送到我們的專利第 4 層負載平衡器 Unimog。根據伺服器健康狀況和效能指標,Unimog 決定應該將封包保留在同一台伺服器,還是將其傳遞到資料中心內以便進一步處理其另一台伺服器。經過 Unimog 後,封包將通過 iptables 防火牆。然後,如果目標是第 7 層應用程式 (例如受 Cloudflare WAF 保護的服務),封包將傳送到我們的 HTTP 反向代理。反向代理在使用者空間執行,HTTP 請求經過我們的 Web 應用程式防火牆規則和其他客戶設定的篩查。如果封包的目的地是 TCP/UDP 應用程式 (Spectrum) 或一個受到路由而非受到代理的 IP 目的地 (Magic Transit),這將通過那些系統,而非我們的 HTTP 代理。

Life of a packet
封包的一生

除了 L4Drop,我們的 HTTP 代理也將 HTTP 請求的樣本和中繼資料傳送到 dosd。這種邊緣採樣的速度相當於核心採樣的 10 倍,因為訊號可在本機分析 (並採取行動),而非傳送到一個核心資料中心。同樣,dosd 對封包採樣的速度相當於 gatebot 的 81 倍。

dosd、gatebot 和 flowtrackd 彼此配合,一同分析所收到的樣本並在偵測到 DDoS 攻擊時套用緩解規則。這將緩解規則推送到 Web 代理以緩解 HTTP 攻擊。攻擊請求將受到封鎖、速率限制或質詢等動作的處理,具體取決於系統的決策。然而,如果攻擊體量很大,緩解規則將在堆疊中往下推送到 iptables 防火牆,並在第 4 層利用 IP Jails 丟棄第 7 層攻擊,以實現更具經濟效益的緩解。同樣地,對於第 3/4 層攻擊,系統將使用 L4Drop 內的擴展柏克萊封包篩選 (eBPF)  程式在 iptables 防火牆內緩解。利用這些元件,我們能夠實現規模化自動緩解 DDoS 攻擊。

破壞攻擊經濟性

如上所述,我們的擴展自發系統和現有的威脅緩解元件都是為了保護客戶免受 DDoS 攻擊而開發。然而,發動攻擊的難度和成本已變得非常低。惡意執行者使用這些攻擊來擊垮網站、行動應用程式、遊戲或任何連入網際網路的資產。這樣的擴展保護措施很有必要,因為如我們在 DDoS 趨勢報告中所記載,攻擊在過去一年有所增加。此外,攻擊也擴大了規模,而且更加複雜,例如模擬聲學節拍的攻擊。同樣重要的是,小型攻擊能弄垮一個小型 Web 資產,因此無論是大型還是小型攻擊,我們都要進行封鎖。

許多時候,攻擊者可利用公開的工具免費發動 DDoS 攻擊,或支付少許費用租用 DDoS 即服務機器人網路,例如暗網上的 Moobot。根據 2020 年暗網價格指數,只需 10 美元起,就能發動一次持續一小時、每秒 1000-5000 個請求的 DDoS 攻擊。發動攻擊的成本遠低於其造成的損失。透過造成服務中斷或僅僅使其效能下降,攻擊者就能使受害者損失慘重。例如,擊垮電商網站可讓使用者無法登入和購物。甚至等待時間變長也會導致使用者放棄購物車並轉向競爭對手。一分鐘服務中斷很可能帶來數萬美元損失。

鑒于 DDoS 攻擊的頻率、複雜程度和規模,我們需要採取新的方法,不僅要快速正確,還要一絲不苟。這正是我們開發本文所述擴展保護的原因。

協助打造更安全的網際網路環境

Cloudflare 的使命是協助打造更加美好的網際網路,讓所有人擁有更安全、更快速、更可靠的體驗。DDoS 團隊的願景源自於這個使命:我們的目標是使 DDoS 攻擊煙消雲散。上世紀 90 年代和本世紀初,垃圾電子郵件成為一個嚴重問題。如今,電子郵件服務幫助人們告別了垃圾郵件,我們也要對 DDoS 攻擊做同樣的事。

若要進一步瞭解 Cloudflare 的 DDoS 保護解決方案,請與我們連絡。如需親手評估 Cloudflare 的免費方案,請在此註冊。

我們保護整個企業網路,協助客戶有效地建置網際網路規模的應用程式,加速任何網站或網際網路應用程式抵禦 DDoS 攻擊,阻止駭客入侵,並且可以協助您實現 Zero Trust

從任何裝置造訪 1.1.1.1,即可開始使用我們的免費應用程式,讓您的網際網路更快速、更安全。

若要進一步瞭解我們協助打造更好的網際網路的使命,請從這裡開始。如果您正在尋找新的職業方向,請查看我們的職缺
DDoS (TW)dosd (TW)

在 X 上進行關注

Omer Yoachimik|@OmerYoahimik
Cloudflare|@cloudflare

相關貼文

2023年10月26日 下午1:00

2023 年第三季 DDoS 威脅報告

在過去的一個季度,DDoS 攻擊激增了 65%。遊戲和博彩公司受到最嚴重的攻擊,Cloudflare 緩解了數千起超流量 DDoS 攻擊。最大規模的攻擊達到了 2.01 億 rps。在過去的一個季度,DDoS 攻擊激增了 65%,而 Cloudflare 緩解了數千起針對 HTTP/2 Rapid Reset 漏洞的超流量攻擊。請閱讀我們的報告,深入瞭解各個地區和產業的最新 DDoS 攻擊趨勢...