萬盛學電腦網

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

IP 欺騙攻擊原理深度解析:從 TCP 三次握手到 ISN 預測的數學博弈

IP 欺騙並非簡單的「偽造來源 IP」,而是精密利用 TCP 協議設計缺陷、序號生成算法弱點、信任關係機制漏洞的綜合攻擊鏈。本文從協議層面拆解攻擊全流程,揭示 SYN Flood 輔助、ISN 預測數學模型、路由器劫持降維打擊等核心技術細節。

TCP 三次握手與序號機制回顧

客戶端 B                    伺服器 A
   | ---- SYN (ISN_B) -----> |
   | <-- SYN+ACK (ISN_A, ACK=ISN_B+1) -- |
   | ---- ACK (ACK=ISN_A+1) --> |
  • ISN (Initial Sequence Number):32 位計數器(0~4,294,967,295),每連接唯一
  • 生成算法:早期 Berkeley 衍生系統採用 固定增量算法(如每秒 +128,000,每連接 +64,000),後期引入隨機增量(RFC 1948/6528)
  • 攻擊關鍵:攻擊者 Z 必須精確預測 A 回送的 ISN_A,才能在看不到 SYN+ACK 包的情況下發送正確 ACK 完成握手

經典 IP 欺騙攻擊鏈(RSH/Rlogin 信任關係利用)

  1. 偵察信任關係:掃描目標 A 的 /etc/hosts.equiv、~/.rhosts,確認受信任主機 B(社工、DNS 區域傳輸、SNMP 枚舉均可獲取)
  2. 癱瘓受信主機 B:發動 SYN Flood 攻擊 B 的特定服務端口(如 513/rlogin),填滿 backlog 隊列(預設 5),使 B 無法處理 A 回送的 SYN+ACK。
    Z(X) → SYN → B (源 IP 偽造為不存在的 X)
    B → SYN+ACK → X (無響應)
    B backlog 滿,正常連接被丟棄
  3. 精確預測 ISN_A:
    ① 連接 A 的 25 端口 (SMTP 無認證) 多次,記錄 ISN_A 樣本
    ② 計算 ISN_A 增量規律(如每秒 +128,000)與往返時間 RTT
    ③ 選擇無其他連接干擾的時間窗口發起攻擊
  4. 發起欺騙連接:
    Z 偽造源 IP 為 B,向 A 513 端口發送 SYN
    A 回送 SYN+ACK 給 B(B 已癱瘓無法響應)
    Z 等待 ≈ RTT/2 後,偽造 B 發送 ACK (SEQ=ISN_B+1, ACK=預測 ISN_A+1)
  5. 盲注命令:連接建立後,Z 仍無法看到 A 回應數據(發往 B)。必須盲打 RSH 協議命令(如 echo "+ +" > ~/.rhosts),植入信任關係獲取 Shell

攻擊難度與成功率的悖論

作者稱「難度大但成功率高」,實則矛盾。關鍵變量:

  • ISN 算法可預測性:舊系統固定增量極易預測;現代隨機增量(Linux 3.0+、Windows Vista+、Solaris 10+)極難
  • 網絡位置優勢:若 Z 控制 A-B 路徑上路由器,可直接攔截 SYN+ACK,難度驟降
  • 協議熟悉度:需精確構造 RSH/Rlogin 協議交互細節,非交互式腳本可完成

變體與組合技術

  • ICMP 重定向 + ARP 欺騙:誘導 A 將回送包路由至 Z,繞過癱瘓 B 步驟
  • TCP 連接重置攻擊:同樣需預測序號,斷開現有會話
  • 非盲欺騙:攻擊者位於同一廣播域,可嗅探回送包,實現雙向通訊

防禦體系:從協議層到架構層

層面措施原理
主機配置刪除 /etc/hosts.equiv、~/.rhosts;註釋 /etc/inetd.conf 中 rsh/rlogin/rexec;關閉 portmapper消除基於 IP 的信任關係
網絡邊界路由器/防火牆入站規則:丟棄源 IP 為內網地址的外部封包 (RFC 2827/BCP 38 入站過濾)防止外部偽造內網 IP 發起連接
協議加固啟用 TCP ISN 隨機化(Linux net.ipv4.tcp_rfc1948=1、Windows 默認開啟);棄用 R 服務改用 SSH(強加密、公鑰認證)切斷序號預測與明文認證鏈
內網防護部署 802.1X、IPsec 域隔離、零信任網絡存取 (ZTNA);交換機啟用 DAI (Dynamic ARP Inspection)、IP Source Guard防禦內部發起的欺騙與 ARP 攻擊
監控審計流量分析識別 SYN Flood、異常 SYN+ACK 回應、半開連接堆積;SIEM 關聯異地登入、權限提升事件早期發現與應急響應

現代視角:為什麼經典 IP 欺騙已式微?

  1. R 服務 (rsh/rlogin/rexec) 已被 SSH 取代,信任模型徹底改變
  2. 主流作業系統(Linux 2.6+、Windows Vista+、BSD、Solaris)均實現 RFC 6528 強隨機 ISN
  3. BCP 38 入站過濾在骨幹網廣泛部署,偽造源 IP 難以出局域網
  4. 應用層協議(HTTP/2、gRPC、TLS 1.3)內建身份驗證與完整性保護

但核心思想——利用協議隱性信任假設、序號可預測性、網絡位置優勢——在 DNS 緩存投毒、BGP 劫持、TCP 分段攻擊、HTTP 請求走私等現代攻擊中依然閃耀。理解經典攻擊原理,是掌握協議安全本質的最佳捷徑。

copyright © 萬盛學電腦網 all rights reserved