
IP オプションを使用すると、サーバーに接続する際に IP パケットが通るルートを指定できます。特定のサーバーが IP アドレスに基づいて追加機能を提供していることがわかっている場合、ソース IP アドレスが特権 IP アドレスになり、ソース ルーティング上のホストの 1 つが自分のものになるように IP パケットを偽装することで、これを利用することはできないでしょうか。
したがって、特権 IP アドレスが x1、サーバー IP アドレスが x2、自分の IP アドレスが x3 の場合、x1 から x2 にパケットを送信し、x3 を通過することになっています。x1 は実際にはパケットを送信しません。x2 はパケットが x3 経由で x1 から来たと認識しているだけです。ここで、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 Linux) などのサーバー OS ではソース ルーティングがデフォルトで無効になっているという事実によって、その危険性は軽減されます。最初のリンクから引用します。
この勧告の影響は、ソース ルート パケットやネットワーク内部のアドレスを持つパケットをブロックする組織が多数あるため、大幅に減少しています。したがって、この情報は、技術に詳しい人への「注意喚起」メッセージとして提示し、TCP シーケンス番号のランダム化はこの攻撃に対する効果的な解決策ではないことを改めて強調します。