
透過 IP 選項,我們可以指定 IP 封包在連接到伺服器時所採用的路由。如果我們知道某個特定伺服器提供了一些基於IP 位址的額外功能,我們是否可以透過欺騙IP 封包來利用此功能,以便來源IP 位址是特權IP 位址,而來源路由上的主機之一是我們自己的。
因此,如果特權IP位址是x1,伺服器IP位址是x2,我自己的IP位址是x3。我從 x1 向 x2 發送一個資料包,該資料包應該通過 x3。 x1 實際上並沒有發送資料包。只是x2認為資料包是從x1經過x3來的。現在作為回應,如果 x2 使用相同的路由策略(出於對 x1 的禮貌),那麼所有資料包都會被 x3 接收。
目標通常是否會使用路由標頭中指定的相同 IP 位址序列,以便來自伺服器的封包通過我的 IP,從中獲取所需的資訊?
在上述情況下我們能不能欺騙 TCP 連線嗎?
這種攻擊在實踐中使用過嗎?有人用過嗎?
答案1
現在有一些好的想法。但不用擔心,這已經是已知的攻擊:
- http://www.citi.umich.edu/u/provos/papers/secnet-spoof.txt
- http://technet.microsoft.com/en-us/library/cc723706.aspx
由於來源路由資料包通常在組織邊界處被阻止,並且在伺服器作業系統(例如 FreeBSD 和 OpenBSD)(以及至少一些 Linux 發行版,例如 Arch)中預設禁用來源路由,因此減輕了其危險。引用第一個連結:
由於大量組織阻止來源路由資料包和位址位於其網路內部的資料包,因此該建議的影響大大減弱。因此,我們將這些資訊更多地作為技術上的「注意」訊息來呈現,並重申 TCP 序號的隨機化並不是針對這種攻擊的有效解決方案。