應用程式層攻擊 - AWS DDoS 耐受力最佳實務

應用程式層攻擊

攻擊者可以使用第 7 層或應用程式層攻擊,以應用程式本身為目標。在這些攻擊中,與 SYN 洪水基礎設施攻擊類似,攻擊者會嘗試使應用程式的特定功能過載,使得應用程式無法使用或無法對合法使用者回應。有時候,以只會產生少量網路流量的極低請求量也可以達成此目的。這會使得攻擊難以偵測和緩解。應用程式層攻擊的範例包括 HTTP 洪水、快取破壞攻擊和 WordPress XML-RPC 洪水。

HTTP 洪水攻擊中,攻擊者會傳送似乎來自 Web 應用程式有效使用者的 HTTP 請求。某些 HTTP 洪水會針對特定資源,而更複雜的 HTTP 洪水則會嘗試模擬與應用程式的人為互動。這會增加使用常見緩解技術 (例如請求率限制) 的因難度。

快取破壞攻擊是一種 HTTP 洪水,它會在查詢字串中使用變化來規避內容交付網路 (CDN) 快取。CDN 不需能夠傳回快取的結果,而是必須針對每個頁面請求與原始伺服器連絡,而這些來源擷取會為應用程式 Web 伺服器帶來額外的壓力。

使用 WordPress XML-RPC 洪水攻擊 (也稱為 WordPress pingback 洪水),攻擊者即可針對託管於 WordPress 內容管理軟體的網站。攻擊者會濫用 XML-RPC API 函數來產生大量 HTTP 請求。pingback 功能會允許託管在 WordPress (網站 A) 的網站透過網站 A 建立連至網站 B 的連結,通知不同的 WordPress 網站 (網站 B)。然後網站 B 即可嘗試擷取網站 A 來驗證該連結存在。在 pingback 洪水中,攻擊者會誤用此功能來導致網站 B 攻擊網站 A。此類攻擊具有明確的簽章:WordPress 通常存在於 HTTP 請求標頭的 User-Agent 中。

還有其他形式的惡意流量可能會影響應用程式的可用性。網路爬蟲機器人可以自動嘗試存取 Web 應用程式,以竊取內容或記錄具競爭性資訊 (例如定價)。暴力破解憑證填充攻擊程式的編寫是為了取得應用程式安全區域未經授權的存取權。這些不是嚴格的 DDoS 攻擊;但它們的自動化本質看起來類似 DDoS 攻擊,並且可以透過實作本白皮書中涵蓋的一些相同最佳實務來加以緩解。

應用程式層攻擊還可以針對網域名稱系統 (DNS) 服務。這些攻擊中最常見的是 DNS 查詢洪水,其中的攻擊者會使用許多格式良好的 DNS 查詢來耗盡 DNS 伺服器的資源。這些攻擊還可以包括一個快取破壞元件,其中攻擊者會將子網域字串隨機化,以略過任何指定解析程式的本機 DNS 快取。因此,解析程式無法利用快取網域查詢,而是必須重複連絡授權 DNS 伺服器,而這會將攻擊放大。

如果 Web 應用程式是透過 Transport Layer Security (TLS) 傳輸,攻擊者還可以選擇攻擊 TLS 交涉程序。TLS 的運算成本很高昂,因此會透過在伺服器上產生額外的工作負載來處理無法讀取的資料 (或無法理解 (密文)) 作為合法交握的攻擊者,可能會降低伺服器的可用性。在此攻擊的變化中,攻擊者會完成 TLS 交握,但永久重新交涉加密方法。攻擊者也可以透過開啟和關閉許多 TLS 工作階段來嘗試耗盡伺服器資源。