應用程式層 DDoS 攻擊

應用程式層 DDoS 攻擊針對網際網路的應用程式層,試圖中斷流向網站或服務的正常流量。

學習目標

閱讀本文後,您將能夠:

  • 定義應用程式層 (L7) 攻擊
  • 詳細瞭解應用程式層攻擊的運作方式
  • 探索如何緩解應用程式層攻擊

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

什麼是應用程式層 DDoS 攻擊?

應用程式層攻擊或第 7 層 (L7) DDoS 攻擊是指針對 OSI 模型「頂層」的惡意行為, HTTP GET 和 HTTP POST 等常見網際網路請求就發生在這一層。與 DNS 放大等網路層攻擊相比,這些第 7 層攻擊特別有效,因為它們除了消耗網路資源外還消耗伺服器資源。

應用程式層攻擊是如何運作的?

大多數 DDoS 攻擊的潛在有效性來自發起攻擊所需的資源量與吸收或緩解攻擊所需的資源量之間的差異。雖然 L7 攻擊也是如此,但同時影響目標伺服器和網路的效率,使其僅需更少的總頻寬就能實現相同的破壞性效果;應用程式層攻擊使用更少的總頻寬就能造成更大的損害。

為了探討為什麼會這樣,讓我們看一下發出請求的用戶端和回應請求的伺服器之間的相對資源消耗的差異。當使用者向在線帳戶(如 Gmail 帳戶)傳送請求時,使用者電腦必須利用的資料和資源量最小,並且與檢查登入認證、從資料庫載入相關使用者資料、然後傳回包含所請求網頁的回應過程中消耗的資源量不成比例。

即使沒有登入,很多時候,從用戶端接收請求的伺服器也必須進行資料庫查詢或其他 API 呼叫才能產生網頁。當由於許多裝置請求單個 Web 資產(例如在殭屍網路攻擊期間)而放大這種差異時,其影響可能會使目標伺服器不堪重負,從而導致對合法流量的阻斷服務。在許多情況下,僅對一個 API 發起 L7 攻擊就足以使服務離線。

為什麼應用程式層 DDoS 攻擊難以阻止?

攻擊流量和正常流量很難區分,尤其是在應用程式層攻擊(例如殭屍網路對受害伺服器執行 HTTP 洪水攻擊)的情況下。由於殭屍網路中的每個機器人都會發出看似合法的網路請求,因此流量不是欺騙流量,且可能看上去來自「正常」的來源。

應用程式層攻擊需要自適應策略,包括根據特定規則集限制流量的能力,這些規則集可能會定期波動。正確設定的 WAF 等工具可以減少傳遞到原始伺服器的虛假流量,從而大大減少 DDoS 嘗試的影響。

對於 SYN 洪水之類的其他攻擊或 NTP 放大之類的反射攻擊,如果網路本身有足夠的頻寬來接收流量,則可以使用策略來相當有效地丟棄流量。不幸的是,大多數網路無法接收 300Gbps 的放大攻擊,能夠正確路由和服務 L7 攻擊可能產生的應用程式層請求量的網路就要更少了。

哪些策略有助於緩解應用程式層攻擊?

一種方法是對發出網路請求的裝置實作質詢,以測試它是否是機器人。這是透過測試完成的,就像在線建立帳戶時常見的 CAPTCHA 測試一樣。透過提出 JavaScript 計算挑戰之類的要求,可以緩解許多攻擊。

阻止 HTTP 洪水攻擊的其他途徑包括使用 Web 應用程式防火牆、透過 IP 聲譽資料庫管理和篩選流量,以及由工程師進行動態網路分析。

在網路上擁有數百萬使用者優勢下,Cloudflare 有能力分析來自各種來源的流量,透過不斷更新的 WAF 規則和其他緩解策略來緩解潛在攻擊——通常是在這些攻擊發生之前或有機會重新針對其他目標之前。探索 Cloudflare 的 DDoS 進階防護服務