【DDoS攻擊】ICMP 洪水攻擊是什麼?原理、情境比喻與防禦方法

ICMP 洪水攻擊是利用 ICMP 協定特性所發動的攻擊,攻擊者會偽造大量的 ICMP 訊息來佔領網路頻寬或伺服器資源,導致使用者無法連線或傳輸速度緩慢,影響使用者體驗或不滿。
➤ICMP 洪水攻擊
➤ICMP 洪水攻擊運作原理
➤ICMP 洪水攻擊情境
➤如何防禦 ICMP 洪水攻擊
ICMP 洪水攻擊
ICMP 洪水攻擊(ICMP Flood) 是一種位於 OSI 模型第三層網路層的 DDoS 網路攻擊手法,它的主要攻擊目標是主機資源(CPU、記憶體)以及網路頻寬,早年在攻擊者中非常流行,而現在雖然不再是主要的攻擊方式,但攻擊者也經常將 ICMP 洪水攻擊與其他 DDoS 攻擊手法一起使用,發起更難抵禦且複雜的網路攻擊,常見變種如 Smurf (利用廣播放大) 攻擊或 Ping of Death (發送超長封包造成系統異常)。
ICMP 的全名是「網際網路控制訊息通訊協定 Internet Control Message Protocol」,ICMP 協定主要是用來偵測網路連線的錯誤和問題,當兩個裝置間連線傳輸資料未成功時,提供連線的裝置就會回傳一條 ICMP 訊息,告訴兩個裝置為何傳輸失敗。
而 ICMP 洪水攻擊,又稱為 Ping 洪水攻擊,它利用了協定的特性(無認證、無狀態、資源消耗低...等)進行攻擊,該協議使用 echo-request 和 echo-replies(或 ping) 來檢查設備的運行狀況和連接性,在 ICMP 洪水攻擊中,攻擊者會偽造大量的 ICMP 訊息來佔領網路頻寬或伺服器資源,導致使用者無法連線或傳輸速度緩慢,進而影響使用者體驗。
ICMP 洪水攻擊運作原理
ICMP 洪水攻擊是利用 ICMP 協定的大量請求,癱瘓目標系統的 DDoS 攻擊手法,最常見的形式就是發送大量的 ICMP echo-request (ping) 封包,讓目標主機疲於回應,最終導致資源耗盡或網路壅塞。其攻擊原理如下。
攻擊者發送大量 ICMP 封包:
利用殭屍網路(Botnet) 或單一攻擊來源向目標伺服器發送大量的 ICMP echo-request 封包(也就是 ping 封包)。目標主機嘗試回應:
每收到一個 echo-request,主機就會依標準行為回傳一個 echo-reply 封包,這會消耗其 CPU、記憶體與頻寬。系統資源快速被消耗:
如果封包數量龐大或來源分散(如 DDoS),目標主機會因回應過多而資源枯竭,進而導致:系統效能下降、無法處理合法用戶請求且網路頻寬被耗盡。

ICMP 洪水攻擊情境
我們用簡單的情境來比喻DDoS的 ICMP 洪水攻擊的情境,這樣讀者會更容易理解 ICMP 洪水攻擊。
情境一:快速又密集的敲門
你現在是一位住在家裡的人(代表伺服器)
你家每天都會有人來敲門(這裡代表「ping」封包,也就是 ICMP echo-request)
通常敲門你都會打開門回應說:「我在這裡!」(這代表echo-reply)
【正常情況】
偶爾有人來敲門,你會正常應門、打個招呼,一切如常。
【ICMP 洪水攻擊的情境】
突然,上百、上千個人站在你家門口,不斷 快速又密集地敲門,每個人都要你「出來回應一下」,而且還不停重複。你試著應門、回話,但人愈來愈多,讓你:
忙到沒時間吃飯 (伺服器資源耗盡,無法處理其他任務)
忙到無法幫真正的朋友開門 (合法用戶的請求無法回應)
門口整個被堵住,誰都進不來了 (網路頻寬被占滿)
ICMP 洪水攻擊不是要「偷資料」,而是讓你「忙到沒時間做正事」,癱瘓你的正常運作。
情境二:客服中心電話同時打來
你是一家公司的客服人員 (代表伺服器)
你的工作是接電話回答客戶問題 (這裡代表「ping」封包,也就是 ICMP echo-request)
接起電話你都會回應說:「你好!」(這代表echo-reply)
【正常情況】
每天會有幾位客戶打電話來問問題,你都能輕鬆應付,回答完就繼續處理其他工作。
【ICMP 洪水攻擊的情境】
突然,有成千上萬通電話同時打進來,每通電話一接起來,對方什麼話都不說,過幾秒又打一次、打不停。你會試著接起電話回應,但電話愈來愈多,讓你:
電話線整個被佔滿 (網路頻寬耗盡)
根本沒辦法處理真正的客戶 (無法回應合法請求)
忙到超載、當機 (系統資源耗盡)
更糟的是,這些來電還可能偽裝成來自不同客戶的電話(來源 IP 偽造),讓你無法封鎖來源。
如何防禦 ICMP 洪水攻擊
ICMP 洪水攻擊會導致頻寬耗盡、伺服器過載甚至整體網路癱瘓,雖然 ICMP 是網路診斷工具(如 ping) 的一部分,但實務上可採多種方法降低風險與損害。
【防火牆過濾】
封鎖或限制 ICMP echo-request (ping)封包
設定每秒可接受的 ICMP 封包數 (Rate Limiting)
【系統設定】
關閉不必要的 ICMP 回應 (如停用 ping)
調整伺服器的網路堆疊參數 (如最大佇列長度、封包處理上限) 以提高抗突發能力
【使用 CDN / DDoS 防禦服務】
將流量導向邊緣節點過濾攻擊封包
導入流量清洗服務防止頻寬被耗盡
【即時監控與告警】
部署 IDS/IPS 偵測異常流量
設定 ping 流量異常警示,提前應對
如果以簡單的生活情境來比喻「如何防禦 ICMP洪水攻擊」就會像下面這樣。
防禦情境:電話客服遭轟炸
你是公司客服,突然上千人狂打電話來,只說「喂」就掛,讓你完全無法服務真正的客戶。防禦情境就會像這樣:
裝來電篩選功能 (防火牆封鎖異常 ping)
→ 僅允許熟悉的電話號碼接通限制打電話頻率 (設定 ICMP rate limit)
→ 一分鐘最多只能接 5 通相同號碼來電請秘書或接線中心先接聽過濾 (使用 CDN 或 Anti-DDoS)
→ 所有來電先經過過濾中心才會轉接給你裝監控系統 + 自動警報 (部署監控與告警)
→ 一偵測異常立即通知你並啟動防禦機制
這些做法可以幫你不被無用干擾塞爆電話線(頻寬) 或讓客服掛掉(主機當機),可以專心服務真正客戶(正常流量)。
ICMP 洪水攻擊雖然相較於其他複雜攻擊手法較為基礎,但其破壞力仍不可輕忽,透過正確的防禦措施與即時監控,能有效降低攻擊風險,確保系統與服務穩定運作。
參考資料:Akamai|什么是 ICMP 泛洪 DDoS 攻击?
延伸閱讀:
✔DNS攻擊有哪些?常見的DNS攻擊類型與風險!
✔HTTP攻擊是什麼?網站變慢可能是HTTP攻擊!DDoS洪水型攻擊解析
✔【DDoS攻擊】ACK 洪水攻擊 是什麼?
✔【DDoS攻擊】UDP 洪水攻擊是什麼?
✔【DDoS攻擊】SYN 洪水攻擊是什麼?