什麼是 DDoS 攻擊?

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

Share facebook icon linkedin icon twitter icon email icon

DDoS

Learning Objectives

After reading this article you will be able to:

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

什麼是 DDoS 攻擊?

分散式阻斷服務 (DDoS) 攻擊是指透過淹沒具有大批網際網路流量的目標或其周圍的基礎結構,惡意嘗試中斷目標伺服器、服務或網路的正常流量。DDoS 攻擊透過以攻擊流量來源利用多個遭受入侵的電腦系統,來實現效果。開發的機器可能包括電腦及 IoT 裝置等其他網路資源。從高層級來看,DDoS 攻擊類似於高速公路堵塞的交通壅塞,避免常規流量到達其所需的目的地。

DDoS 攻擊

DDoS 攻擊的工作原理

DDoS 攻擊要求攻擊者獲取對線上機器網路的控制,以便執行攻擊。電腦及其他機器 (例如 IoT 裝置) 受到惡意程式碼的感染,使每個機器變為傀儡程式 (或僵屍)。隨後,攻擊者遠端控制傀儡程式群組,又稱殭屍網路

一旦建立了殭屍網路,攻擊者便能透過以遠端控制方式向每個傀儡程式傳送更新指示,為機器提供導向。當受害者的 IP 位址成為殭屍網路的目標時,每個傀儡程式都將透過向目標傳送要求來進行回應,可能使目標伺服器或網路溢位容量,從而使阻斷服務變為正常流量。由於每個傀儡程式都是一個合法的網際網路裝置,將攻擊流量與正常流量分離可能比較困難。

DDoS 攻擊的普遍類型有哪些?

不同的 DDoS 攻擊向量以網路連線的不同元件為目標。為瞭解不同 DDoS 攻擊的工作原理,有必要瞭解網路連線的建立方法。網際網路的網路連線由許多不同的元件或「層」組成。與從頭開始建房子類似,此模型中的每個步驟都有不同的用途。以下顯示的 OSI 模型,是一個用於以 7 個不同的層級描述網路連線的概念框架。

OSI 模型

盡管幾乎所有 DDoS 攻擊都涉及到淹沒目標裝置或具有流量的網路,但攻擊可分為三個類別。攻擊者可能利用一個或多個不同的攻擊向量,或根據目標采取的應對措施循環潛在攻擊向量。

應用程式層攻擊

攻擊目的:

有時指第 7 層 DDoS 攻擊 (涉及第 7 層 OSI 模型),這些攻擊的目的在於耗盡目標資源。攻擊以在伺服器上產生並在回應 HTTP 要求時傳送的網頁的層為目標。單一 HTTP 要求在用戶端執行上非常便宜,但在目標伺服器上回應卻比較昂貴,因為伺服器通常必須載入多個檔案並執行資料庫查詢,以便建立一個網頁。第 7 層攻擊很難抵禦,因為流量可能很難標記為惡意。

應用程式層攻擊範例:

HTTP 洪水攻擊

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

此類型的攻擊範圍有可能很簡單,也可能很複雜。較為簡單的實施可能存取帶有同一範圍的攻擊 IP 位址、推薦者和使用者代理的一個 URL。複雜版本可能使用大量攻擊 IP 位址,並以使用隨機推薦者和使用者代理的隨機 url 為目標。

通訊協定攻擊

攻擊目的:

通訊協定攻擊,又稱狀態表耗盡攻擊,透過消耗 Web 應用程式伺服器或防火牆或 Load Balancer 等中間資源的所有可用狀態表容量造成服務中斷。通訊協定攻擊利用第 3 層和第 4 層通訊協定堆疊的弱點以使目標無法存取。

通訊協定攻擊範例:

DDoS Syn 洪水攻擊

SYN 洪水攻擊

SYN 洪水攻擊類似於庫房的工作人員從店鋪前端接收要求。工作人員接收要求,獲取套件,並在將該套件呈現至前端前等待確認。隨後,工作人員無需確認即可獲取許多更多的套件要求,直至其無法承載任何更多套件、應接不暇且要求開始無人解答。

此攻擊透過向目標傳送大量帶有偽裝來源 IP 位址的 TCP「初始連線要求」SYN 封包,利用 TCP 交握。目標機器回應各個連線要求,然後等待交握最後一步,此步驟從來不會出現,這樣便耗費了目標在此流程中的資源。

巨流量攻擊

攻擊目的:

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

放大範例:

NTP 放大攻擊

DNS 放大

DNS 放大就好比某個人需要給酒店通電話一樣,並表示「我每個房間都訂一間,請給我回電並告知我的整個預訂」,其中,他們所提供的回撥電話號碼是目標機器的號碼。不費吹灰之力,便產生很長的回應。

透過向帶有偽裝 IP 位址 (目標的真實 IP 位址) 的開放式 DNS 伺服器提出要求,目標 IP 位址隨即接收來自伺服器的回應。攻擊者建立要求,例如 DNS 伺服器回應帶有大量資料的目標。因此,目標接收攻擊者初始查詢的放大。

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

緩解 DDoS 攻擊的核心問題在於區分攻擊與正常流量。例如,如果產品發行使公司網站與焦急的客戶淹沒,切斷所有流量便是個錯誤。如果該公司來自惡劣執行者的流量突然出現激增,可能有必要採取緩解攻擊的措施。難點在於區分真實客戶與攻擊流量。

在現今的網際網路中,DDoS 流量存在多種形式。從未偽裝的單一來源攻擊到複雜及適應性多向量攻擊,流量在設計上可能有所不同。多向量 DDoS 攻擊使用多個攻擊路徑來以不同方式淹沒目標,從而潛在地分散對任何一個軌道的緩解。同時以多層通訊協定堆疊為目標的攻擊,例如結合 HTTP 洪水攻擊 (以第 7 層為目標) 的 DNS 放大 (以第 3/4 層為目標,即為多向量 DDoS 的範例。

緩解多向量 DDoS 攻擊需要採取各種策略以對抗不同軌道。一般而言,攻擊越複雜,流量可能越難以與正常流量區分開來,攻擊者的目的在於盡可能多地混合,使緩解盡可能效率低下。涉及任意減少或限制流量的緩解嘗試,可能會分離出帶有惡意的善意流量,並且此攻擊還可能修改和適應以規避應對策略。為克服複雜的中斷嘗試,分層解決方案將帶來最大優勢。

黑洞路由

幾乎能用於所有網路管理員的一個解決方案是建立一個黑洞路由,並將流量傳送至該路由。簡單來說,在沒有特定限制條件的情況下執行黑洞篩選時,合法和惡意網路流量均會被路由傳送至無效路徑或黑洞,並退出網路。如果網際網路資產遇到 DDoS 攻擊,資產的網際網路服務提供者 (ISP) 可能會向黑洞傳送該網站的所有流量進行防禦。

Rate Limiting

限制伺服器透過特定時間範圍接收的要求數量,也是一種緩解阻斷服務攻擊的方式。盡管 Rate Limiting 可以有效避免 Web Scraper 竊取內容並緩解暴力登入嘗試,但它可能不足以有效處理複雜的 DDoS 攻擊。盡管如此,Rate Limiting 是有效 DDoS 防護策略的一個實用元件。瞭解 Cloudflare Rate Limiting

Web Application Firewall

Web Application Firewall (WAF) 是一種可以協助緩解第 7 層 DDoS 攻擊的工具。透過在網際網路與來源伺服器之間安裝 WAF,WAF 可充當一個反向代理,保護目標伺服器免受特定類型的惡意流量的攻擊。透過基於一系列用於識別 DDoS 工具的篩選要求,可以阻止第 7 層攻擊。有效 WAF 的一個核心價值是在回應攻擊時快速執行自訂規則的能力。瞭解 Cloudflare WAF

Anycast Network 擴散

此緩解方法使用 Anycast Network 將整個分散式伺服器網路的攻擊流量分散至由網路吸收的流量的點。與沿著單獨的較小通道輸送奔流的河水類似,此方法可將分散式攻擊流量的影響擴散至其易管理的點,擴散了所有破壞性功能。

Anycast Network 緩解 DDoS 攻擊的可靠性,取決於攻擊的大小和網路的大小及效率。由 Cloudflare 執行的 DDoS 防護的重要部分是 Anycast 分散式網路的使用。Cloudflare 設有一個 25 Tbps 網路,它是一個大於最大記錄 DDoS 攻擊的數量級。

如果您目前受到攻擊,您可以采取措施來擺脫此壓力。如果您已登入 Cloudflare,您可以按照這些步驟緩解攻擊。我們在 Cloudflare 執行的 DDoS 防護是多層面的,目的是為了緩解許多可能的攻擊向量。瞭解更多有關 Cloudflare DDoS 防護及其工作原理的資訊。