そのアドレスを偽装した であるコンピュータの実際のIPアドレスを見つけることが可能であると確信しています。 IPスプーフィングに対するテクニックが存在しない可能性はかなり低いと思います。
スプーフィングされたIPのアドレスを見つけることはどのようにして可能ですか?どのような方法が使用されていますか?スプーフィングされたIPをどのように検出しますか?
重要なポイントを作成する必要があります。つまり、IPスプーフィングには制限があります。攻撃者が送信するパケットに偽のIPを使用する場合、ネットワーク全体にある程度の強力な能力がない限り、攻撃者は通常、応答を受信できません。これは、応答が攻撃者のIPではなく、偽のIPに送信されるためです。実際のIPアドレス。特に、これは攻撃者がTCP接続のIPアドレスを偽装することを困難にします。
実際、成功した侵入のほとんどには、偽装されていないコンポーネントがあります。攻撃者はリレーホスト(世界中の侵害されたマシン)を使用して追跡を困難にしますが、それはなりすましではありません。
「変に見える」ため、スプーフィングが検出される場合があります。 ISPを検討してください。 ISPの観点から見ると、IPアドレスには2種類あります。そのアドレス(つまり、彼が顧客に付与するアドレス)と、それ以外の世界です。 ISPルーターでは、「外部」ソースアドレスを持つパケットはoutgoingパケットではなく、incomingパケット(外部からのパケット)として認識されます。 「内部」送信元アドレスを持つパケットの場合はその逆です。 ISPの顧客の1人がスプーフィングされた外部アドレスを使用してパケットを送信すると、これは内部からの送信パケットとして表示されますが、外部ソースアドレスを使用します。 ISPルーターは、このような発生を異常なものとして検出し、報告する場合があります。 ISPは、そのようなパケットをインフラストラクチャまでさらに追跡し、原因を特定できます。
[〜#〜] ip [〜#〜] の仕組み、IP routing の仕組み、および [〜# 〜] tcp [〜#〜] はその上に実装されています(そして、偶然にも IPアドレスのなりすまし は本当に意味します)
IPはルーティングされたデータグラムプロトコルを実装します。各データグラム(パケット)には(とりわけ)送信元アドレス、宛先アドレス、およびペイロードがあります(他の多くのプロパティがありますが、この説明には影響しません)。
最も単純なケース(つまり、フィルタリングの種類や NATing が設定されていない場合)では、途中の各ルーターは宛先アドレスのみを確認し、独自のルーティングテーブルと照合して、次の宛先に転送します。正しいインターフェイスにホップします。戻りアドレスは、パスの最後にあるシステム(宛先ホスト、またはパケットが早期にドロップされた場合は通知を送り返す必要があるシステム)によってのみ確認されます。
送信元IPのスプーフィングとは、パケットの送信元アドレスを他のランダムなホストで置き換えることを意味します。通常、このパケットのソースを非表示にし、ターゲットが偽装されたホストの方向にネットワークトラフィックを送信するように強制するために(排他的ではなく)使用されます(典型的なネットワークトラフィック増幅攻撃 DNS増幅 )。
したがって、スプーフィングされたパケットの検出は、トラフィックの送信元の近くでのみ行うことができます。単純なケースでは、パスの最初のルーターは、パケットの送信元アドレスが内部のいずれにも属していないことを検出する可能性があります認識しているため、ドロップする可能性のあるネットワーク(「 egressフィルタリング 」と呼ばれます)。残念ながら、このタイプのチェックはネットワークの内部またはエッジでのみ実行でき、通常はファイアウォールによってのみ実行され、副作用を回避するために慎重に設定する必要があります(したがって、広く実装されていません)。
別のほぼ同じ手法である 入力フィルタリング は、ネットワークに着信するパケットを試行しますが、接続されたネットワークの知識に依存する必要があります。通常、これは、広範囲に接続されているすべてのネットワークを認識しているフィルターデバイスでのみ機能します(つまり、 peering のメンバー間で主に役立ちます)。
[〜#〜] tcp [〜#〜] IPプロトコルの上にストリーム接続を実装します。この実装の一部として、データを交換するためにクライアントとサーバー間で複数のIPパケットを送受信する必要があります(最初に「接続」を確立するための3ウェイハンドシェイクを介して、次にパケットの確認を介して)。 。つまり、タイプTCP=のIPパケットのソースアドレスが正しくない場合、ピアは適切な応答を送信できず、パケットはドロップされます。
一部の特殊なケースでは、TCP接続で送信元アドレスを偽装することも可能ですが、トラフィックの送信元がターゲットホストからの応答を監視または予測できる必要があります。適切な答えを偽造するために。
上記に関して:
どのようにしてスプーフィングされたIPのアドレスを見つけることができますか?
「スプーフィングされたパケットのrealアドレス」を意味すると仮定すると、ソースと同じサブネット上にいない限り、それはできません。これ以上転送されるパケットは、トラフィックの実際のソースに関する情報を失います(トラフィックがどのインターフェイスから到着したかを正確に知ることができるため、発信元である可能性のあるネットワークを制限する可能性がありますが、他に何も)。
使用されるメソッドは何ですか?
スプーフィングされたパケットの送信元を見つける唯一の方法は、そのパケットのパス上の各ホップを監視し、そのトラフィックの送信元を特定することです。次に、潜在的なソースを十分に絞り込むまで、このソースで同じことを行います。これは通常、トラフィックの実際のパス上のすべてのホップの協力が必要であり、これは低速な(そして高価な)プロセスです。それは通常、努力する価値はありません。
スプーフィングされたIPをどのように検出しますか?
それはあなたが話しているネットワークパスのどの部分に依存します。
最終的なホストでは、それは非常に困難です。たとえば、外部ネットワークからのデータグラムトラフィックがホストに到達するのを防ぎ、TCPまたは同様のプロトコル。
トラフィックの送信元またはその近くでは、はるかに簡単です。特定のインターフェイスに接続されていることがわかっているネットワークの一部ではない送信元アドレスを持つすべてのパケットをドロップするだけです。
その間に、in/egressルールを使用してトラフィックをフィルタリングできます(ただし、トラフィックのソースから離れるほど、効率は低下します)。
攻撃者(またはその他)がTCP/IPに関する限り、IPアドレスを偽装すると、正しく実行された場合、要求は偽装されたIPからの本物の要求のように見え、偽装されたIPはサーバーからの応答を受信します。攻撃者/送信者。ネットワーク(つまり、リクエストをルーティングしたマシン)をある程度動かさない限り、トレースを追跡することはできません。
上記の回答が「「外部」送信元アドレスを持つパケットは着信パケットと見なす必要がある」とは、ISPが所有するIPブロックに属さない着信要求はすべて外部として扱われるということです。