什麼是 DDoS 攻擊?

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

Share facebook icon linkedin icon twitter icon email icon

DDoS

學習目標

閱讀本文後,您將能夠:

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

什麼是 DDoS 攻擊?

分散式阻斷服務 (DDoS) 攻擊是以大量網際網路流量淹沒目標或其周圍基礎結構,惡意嘗試阻斷目標伺服器、服務或網路的正常流量。DDoS 攻擊利用多個遭受入侵的電腦系統作為攻擊流量的來源,以達到有效攻擊。被利用的機器可包括電腦和其他與網路連線的資源,例如 IoT 裝置。綜觀而言,DDoS 攻擊就像公路上的交通堵塞,防止正常交通車輛抵達所需的目的地。

DDoS Attack

DDoS 攻擊的工作原理

DDoS 攻擊需要攻擊者掌控線上機器的網路,才能執行攻擊。電腦和其他機器 (例如 IoT 裝置) 會受到惡意程式碼的感染,將每個機器轉變為傀儡程式 (或僵屍)。接著攻擊者就能遠端控制傀儡程式群組,稱為殭屍網路

建立殭屍網路後,攻擊者就能夠透過遠端控制的方法,將更新後的指令傳送至每個傀儡程式,藉此導引機器。若受害者的 IP 位址是殭屍網路的目標,則每個傀儡程式會將請求傳送至目標以便回應,這可能造成目標伺服器或網路流量過高,導致對正常流量阻斷服務。因為每個傀儡程式都是一個合法的網際網路裝置,所以很難從正常流量當中分離出攻擊流量。

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

不同的 DDoS 攻擊向量會以不同的網路連線元件作為目標。為了理解不同的 DDoS 攻擊如何運作,必需知道網路連線構成的方式。網際網路上的網路連線由許多不同的元件或「層」組成。就像從地面建造房屋,模型中的每一步驟都有不同的用途。以下顯示的 OSI 模型是概念架構,用來描述 7 個相異層中的網路連線。

The OSI Model

幾乎所有 DDoS 攻擊都牽涉以流量淹沒目標裝置或網路,不過攻擊仍可分為三個類別。攻擊者可能利用一個或多個不同的攻擊向量,或可能根據目標採取的應對措施循環攻擊向量。

應用程式層攻擊

攻擊目的:

這些攻擊的目標有時候稱為第 7 層 DDoS 攻擊 (指涉 OSI 模型的第 7 層),其目的是為了耗盡目標的資源。攻擊以伺服器上產生網頁以及提供網頁以回應 HTTP 請求的層作為目標。單一 HTTP 請求在用戶端方面執行時很便宜,但目標伺服器回應時卻很昂貴,因為伺服器通常必須載入多個檔案並執行資料庫查詢,才能建立網頁。第 7 層攻擊很難防禦,因為很難將流量標識為惡意。

應用程式層攻擊範例:

HTTP 洪水攻擊

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

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

通訊協定攻擊

攻擊目的:

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

通訊協定攻擊範例:

Syn Flood DDoS Attack

SYN 洪水攻擊

SYN 洪水攻擊可比喻為工人在供應倉庫中接收來自商店櫃台的請求。工人接收請求,前往並取得包裹,並在將包裹拿到櫃台前等待確認。然後工人獲得更多未確認的包裹請求,直到他們無法再攜帶其他包裹,工作量過大,並開始不回應請求。

此攻擊透過偽裝來源 IP 位址,對目標傳送大量 TCP「初始連線請求」SYN 封包,藉此利用 TCP 交握。目標機器會回應每個連線請求,然後等待交握的最終步驟,但這個最終步驟永遠不會發生,因此在過程中耗盡目標的資源。

巨流量攻擊

攻擊目的:

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

放大範例:

NTP Amplification Attack

DNS 放大

DNS 放大就好比某個人打電話給餐館說「每一道菜都訂一份,請給我回電話,說明整個訂單」,他們所提供的回撥電話號碼是目標機器的號碼。只要一點功夫,就會產生長時間的回應。

透過偽裝 IP 位址 (目標的真實 IP 位址) 向開放的 DNS 伺服器提出請求,目標 IP 位址就能接收來自伺服器的回應。攻擊者會建構請求,讓 DNS 伺服器以大量資料回應目標。結果,目標接收了經過放大的攻擊者初始查詢。

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

緩解 DDoS 攻擊的關鍵問題是區分攻擊和一般流量。例如,若在推出產品時造成心急的客戶湧入公司網站,則截斷所有流量就會成為錯誤做法。若該公司突然湧入來自不明惡意執行者的流量,則可能有必要努力緩解攻擊。困難的地方在於如何區分真正的客戶和攻擊流量。

在現代網際網路,DNS 流量以許多形式出現。流量的各種設計範圍從非偽裝的單一來源攻擊,到複雜的適應性多向量攻擊。多向量 DDoS 攻擊使用多個攻擊通道,以各種不同的方式淹沒目標,這可能會在任一攻擊軌道上干擾為了緩解所做的努力。同時以多層通訊協定堆疊作為目標的攻擊,例如與 HTTP 洪水攻擊 (目標為第 7 層) 搭配的 DDoS 放大 (目標為第 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 具有 30 Tbps 網路,其規模大於記錄上最大的 DDoS 攻擊。

若您目前遭受攻擊,您可以採取一些步驟來擺脫壓力。若您已經在使用 Cloudflare,可以按照這些步驟緩解攻擊。我們在 Cloudflare 實施的 DDoS 保護是多方面的保護,以便緩解許多可能的攻擊向量。進一步瞭解 Cloudflare 的 DDoS 保護及其運作方式。