什麼是 DDoS 攻擊?

DDoS 攻擊是如今網際網路安全性的主要問題。 探索有關 DDoS 攻擊如何工作及如何停止這些攻擊的詳細資料。

學習目標

閱讀本文後,您將能夠:

  • 定義 DDoS 攻擊
  • 解釋 DDoS 攻擊的一般結構
  • 區分 DDoS 攻擊的 3 個主要類別
  • 瞭解多個 DDoS 防護策略

複製文章連結

什麼是 DDoS 攻擊?

分散式阻斷服務(DDoS)攻擊是一種惡意嘗試,它利用大量的互聯網流量使目標伺服器或其周圍的基礎設施不堪重負,從而阻斷目標伺服器、服務或網路的正常流量。

DDoS攻擊利用多個被破壞的電腦系統作為攻擊流量的來源,從而達到攻擊的有效性。被利用的機器可能包括電腦及其他網路資源,例如 IoT 设备


從高層次來看,DDoS 攻擊就像高速公路上的意外交通堵塞,阻止常規流量到達目的地。

DDoS 攻擊的工作原理

DDoS 攻擊是利用連接到互聯網的機器組成的網路進行的。

這些網路包含已被惡意軟體感染的電腦和其他設備(例如 IoT 設備),使它們可被攻擊者遠端控制。這些單獨的設備被稱為“機器人”(或“僵屍”),一組機器人則被稱為僵屍網路(botnet)

一旦建立了僵屍網路,攻擊者就能通過向每個機器人發送遠端指令來發動攻擊。

當受害者的伺服器或網路成為該僵屍網路的目標時,每個機器人都會向目標的 IP 位址發送請求,從而可能導致該伺服器或網路不堪重負,導致對正常流量拒絕服務

由於每個傀儡程式都是一個合法的網際網路裝置,將攻擊流量與正常流量分離可能比較困難。

如何識別 DDoS 攻擊

DDoS 攻擊最明顯的症狀是,網站或服務突然變慢或不可用。但由于多种原因(例如流量的合法激增)会导致类似的性能问题,通常需要进一步调查。流量分析工具可以帮助您发现 DDoS 攻击的一些明显迹象:

  • 來自單個 IP 地址或 IP 範圍的可疑流量
  • 大量流量來自擁有單一行為特徵(例如設備類型、地理位置或 Web 瀏覽器版本)的用戶
  • 對單一頁面或端點的請求出現無法解釋的激增
  • 奇怪的流量模式,如在非正常時段激增,或不自然的模式(例如每 10 分鐘激增)

根據攻擊類型,DDoS 攻擊還有其他更具體的跡象。

DDoS 攻擊的常見類型有哪些?

不同類型的 DDoS 攻擊瞄準網路連結的不同部分。為瞭解不同 DDoS 攻擊的工作原理,有必要瞭解網路連線的建立方法。

網際網路的網路連線由許多不同的元件或「層」組成。與從頭開始建房子類似,此模型中的每一層都有不同的用途。

下圖爲 OSI 模型,這是一個概念框架,描述分成 7 個不同層級的網路連線。

OSI 模型

盡管幾乎所有 DDoS 攻擊都涉及到以流量來淹沒目標裝置或網路,但攻擊可分為三個類別。攻擊者可能使用一種或多種不同的攻擊手段,或根據目標採取的應對措施來迴圈使用攻擊手段。

應用程式層攻擊

攻擊目的:

這些攻擊有時被稱為第 7 層 (指 OSI 模型的第 7 層)DDoS 攻擊,目的是耗盡目標的資源來阻斷服務。

攻擊的目標是伺服器上回應 HTTP 請求而生成並交付網頁的層。在用戶端執行單一 HTTP 請求僅消耗少量計算資源,但目標伺服器上做出回應需要消耗較多資源,因為伺服器往往要載入多個檔並運行資料庫查詢才能創建一個頁面。

第 7 層攻擊難以防禦,因為惡意流量和合法流量可能很難區分開來。

應用程式層攻擊範例:

HTTP 洪水 DDoS 攻擊

HTTP 洪水攻擊

此攻擊類似於同時在多個不同的電腦上反覆按下網頁瀏覽器中的重新整理,大量 HTTP 要求淹沒了伺服器,造成了阻斷服務。

此類型的攻擊範圍有可能很簡單,也可能很複雜。

較簡單的做法可能是存取一個具有相同的攻擊 IP 位址範圍、查閱者和使用者代理程式的 URL。複雜的版本可能是使用大量攻擊 IP 位址,並使用隨機查閱者和使用者代理程式,以隨機 URL 作為目標。

通訊協定攻擊

攻擊目的:

協定攻擊,又稱狀態耗盡攻擊,通過過度消耗伺服器資源和/或網路設備資源(如防火牆和負載平衡器)的資源來導致服務中斷。

通訊協定攻擊利用第 3 層和第 4 層通訊協定堆疊的弱點以使目標無法存取。

通訊協定攻擊範例:

SYN 洪水 DDoS 攻擊

SYN 洪水攻擊

SYN 洪水攻擊可比喻為工作人員在供應倉庫中接收來自商店櫃台的请求。

工作人員收到請求,獲取物品,並等待確認後將物品帶到櫃檯。工作人員收到大量取件要求但沒有得到確認,直至其不堪重負而無法攜帶更多物品為止,請求開始得不到應答。

這一攻擊利用 TCP 握手(兩台電腦建立網路連接的通信序列),向目標發送大量帶有欺騙性源 IP 位址的 TCP “首次連接請求” SYN 資料包。

目標機器回應各個連線要求,然後等待交握最後一步,此步驟從來不會出現,這樣便耗費了目標在此流程中的資源。

巨流量攻擊

攻擊目的:

此攻擊類別消耗目標與較大網際網路之間的所有可用頻寬,嘗試造成壅塞。透過使用一種放大形式或建立大量流量的另一種方式 (例如來自殭屍網路的要求) ,將大量資料傳送至目標。

放大範例:

NTP 放大 DDoS 攻擊

DNS 放大

DNS 放大好比某個人打電話給餐廳並說,“我要每道菜都訂一份,請回電並重複我整個訂單”,而回撥電話號碼實際上屬於受害者。只需要很小的功夫,就導致一個長長的回應生成併發送給受害者。

通過向某個公共 DNS 伺服器發送帶有欺騙性 IP 位址(受害者的 IP 位址)的請求,目標 IP 位址將收到來自該伺服器的回應。

緩解 DDoS 攻擊是採取什麼程序來處理的?

緩解 DDoS 攻擊的關鍵問題在於區分攻擊流量和正常流量。

例如,若在推出產品時心急的客戶大量湧入公司網站,那麼截斷所有流量就是錯誤的做法。若該公司的網站突然湧入來自不明攻擊者的流量,則可能有必要努力緩解攻擊。

難點在於將真實客戶與攻擊流量區分開來。

在現代網際網路,DNS 流量以許多形式出現。流量的各種設計範圍從非偽裝的單一來源攻擊,到複雜的適應性多向量攻擊。

多向量 DDoS 攻擊使用多個攻擊路徑來以不同方式淹沒目標,從而潛在地分散對任何一個軌道的緩解。

多手段 DDoS 攻擊的一個實例:同時瞄準通訊協定堆疊的多個層,例如DNS 放大 (以第 3/4 層為目標)和 HTTP 洪水攻擊 (以第 7 層為目標) 相結合。

緩解多向量 DDoS 攻擊需要採取各種策略以對抗不同軌道。

一般而言,攻擊越複雜,區分攻擊流量和正常流量就越難——攻擊者的目的是盡可能融入其中,導致緩解效果盡可能差。

涉及任意減少或限制流量的緩解嘗試可能會讓良好流量跟著惡意流量一起被丟棄,而攻擊可能會修改並適應,以規避反制措施。為了克服複雜的阻斷嘗試,分層的解決方案將可提供最大的效益。

黑洞路由

幾乎所有網路管理員都可以使用的一個解決方案是建立一個黑洞路由,並將流量傳送至該路由。從最簡單的形式來看,在沒有特定限制條件的情況下執行黑洞篩選時,合法和惡意網路流量均會被路由傳送至無效路徑(即黑洞),從而退出網路。

如果某个網際網路资产遇到 DDoS 攻擊,其網際網路服務提供者 (ISP) 可能會将該網站的所有流量传送到黑洞来進行防禦。這不是理想的解決方案,因爲這實際上給了攻擊者所想要的目的:使網絡不可訪問。

Rate Limiting

限制伺服器透過特定時間範圍接收的要求數量,也是一種緩解阻斷服務攻擊的方式。


儘管限速可用於減慢 Web Scraper 竊取內容並緩解暴力登入嘗試,但其本身可能不足以有效應付複雜的 DDoS 攻擊。

盡管如此,限速是有效 DDoS 防護策略的一個有用組成部分。瞭解 Cloudflare 限速

Web application firewall

Web 應用程序防火牆 (WAF) 是一種可以協助緩解第 7 層 DDoS 攻擊的工具。透過在網際網路與來源伺服器之間安裝 WAF,WAF 可充當反向代理,保護目標伺服器免受來自特定類型的惡意流量的攻擊。

By filtering requests based on a series of rules used to identify DDoS tools, layer 7 attacks can be impeded. One key value of an effective WAF is the ability to quickly implement custom rules in response to an attack. Learn about Cloudflare's WAF.

Anycast 网络擴散

此緩解方法使用 Anycast 网络將整個分散式伺服器網路的攻擊流量分散至由網路吸收的流量的點。

與沿著單獨的較小通道輸送奔流的河水類似,此方法可將分散式攻擊流量的影響擴散至其易管理的點,擴散了所有破壞性功能。

Anycast 網路緩解 DDoS 攻擊的可靠性取決於攻擊的大小以及網路的大小及效率。在 Cloudflare 執行的 DDoS 防護中,一個重要部分是 Anycast 分散式網路的使用。

Cloudflare 擁有一個 100 Tbps 的網絡,這個規模比歷來最大的 DDoS 攻擊還要高一個數量級。

如果您正在受到攻擊,可以采取措施來擺脫壓力。如果您已在使用 Cloudflare,可以按照這些步驟緩解攻擊。

我們在 Cloudflare 執行的 DDoS 保護是多層面的,目的是為了緩解許多可能的攻擊手段。瞭解更多有關 Cloudflare DDoS 保護及其工作原理的資訊。