ICMPスプーフィングはどの程度実用的ですか?
シナリオ1:NAT環境で、NATはどのようにしてICMPセッション(接続指向ではないため、技術的にはセッションではない)を追跡しますか?ECHO / ECHO応答の場合、Windowsは同じ識別子(0x1)とシーケンス番号を使用し、パケットごとに256インクリメント。2つのホストが同じ外部サーバーにpingを送信する場合、NATは着信ICMPパケットをどのように区別しますか?内部ネットワークが送信元アドレスをフィルタリングしない場合、ECHO応答を偽造することはどれほど難しいですか?使用例:監視に使用されるicmp ping、偽造されたICMP応答(宛先に到達できない、高遅延など)を受信すると、ロードバランサーが正しくない/不要なアクションを実行する場合がある
シナリオ2:通過パス上のパケットを検査する、一部のIPSデバイス(GFWなど)。ICMPエラーメッセージを偽造してステルス接続を強制終了することは、どれほど実用的ですか。TCP RSTを送信する代わりに、宛先ポート到達不能/パケットが大きすぎる(これは興味深いかもしれません:))偽造ソースIP(反対側の正当なIPまたはパスのさらに下のいくつかのホップ)を送信します。元のIPヘッダーを追跡し続けると、最初の64バイトは高価になる可能性がありますが、現在利用可能なコンピューティング能力があれば、それは可能ですか?
基本的に、NATの内部または外部のいずれかから、偽造されたICMPが損傷/混乱を引き起こす可能性はどのくらいありますか?ICMPフラッドについて話しているのではありません。
ところで、NATはTCP / UDP以外のIPプロトコルを処理できますか?実際には、さまざまなICMPタイプをどのように処理するのか正確にはわかりません。