萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

IP 分片攻擊深度解析:從 Ping of Death 到 Teardrop 的原理與防禦

為何存在 IP 分片?

鏈路層 MTU(以太網 1500 位元組)限制資料幀長度。IP 層封包超過 MTU 時必須分片,關鍵欄位:Identification(分片同屬一封包)、DF(禁止分片)、MF(更多片段)、Fragment Offset(偏移量×8 為位元組位置)。分片獨立路由,目的端 IP 層重組。

分片攻擊的根源:重組演算法缺陷

IP 總長度欄位 16 位元,上限 65535 位元組。惡意構造超長或偏移重疊分片,利用舊版核心重組邏輯漏洞導致緩衝區溢出、死機或拒絕服務。

經典攻擊剖析

1. Ping of Death

發送超長 ICMP Echo Request(>65535 位元組),目標重組時緩衝區溢出崩潰。現代 OS 已修補,標準 ping 指令亦限制封包大小(Linux 65507、Win2K 65500),需專用工具發送。區別於 Ping Flood(洪水攻擊)單純佔用頻寬。

2. Jolt2

死循環發送偏移量 0x1FFE(重組長度 65549 > 65535)的 ICMP/UDP 末分片(MF=0),ID 固定 1109,校驗和為 0。未打補丁 Win2K CPU 瞬間飆 100% 死鎖,同時製造巨大流量。常被用於測試 IDS 高負載檢測效能。

3. Teardrop

發送兩個 UDP 分片:第一片偏移 0、長度 36 位元組(含 IP+UDP 首部);第二片偏移 0x3(24 位元組)或 0x4(32 位元組),導致重疊。舊版 Linux(1.x-2.0.x)與 WinNT/95 接收 10-50 個此類分片即崩潰。

防禦建議

  • Windows 打最新 SP,Linux 核心已免疫。
  • 網路邊界丟棄分片封包,或用 iptables 限制分片速率。
  • 防火牆若具重組功能,必須確保演算法無漏洞,否則單點故障波及全網。
  • Win2K 可用 IP 安全策略啟用「分片檢查」。

參考資料

TCP/IP Illustrated Vol.1、MS00-029、BugTraq jolt2 分析等。

copyright © 萬盛學電腦網 all rights reserved