回答:
人々がIPヘッダーを変更したり、送信元IPアドレスを変更したりできることは知っていますが、ネットワークデバイスがこれらのメッセージを検出するのは簡単なはずです。
ヘッダーの偽のIP送信元アドレスは、商用ネットワーク機器で検出およびブロックできます。他の偽のIPv4ヘッダーは、識別が少し難しい場合があります。ほとんどの人は、偽の送信元IPアドレスを検出する機能を「ユニキャストリバースパス転送」と呼びます。これはuRPFと略されます。uRPFはRFC 3704で定義されており、インターネットのベストカレントプラクティスと見なされています。 uRPFは、顧客宅内機器の最初のルーター、または企業ネットワークのエッジルーターに適用する必要があります。
そうでない場合、なぜそんなに難しいのですか?オーバーヘッドが多すぎますか?
ルーターがCPUベースのルーターでない限り、パフォーマンスが低下することはありません。ISPが使用するルーターやスイッチの多くには、この機能がハードウェアのASICに組み込まれています。通常、これをオンにしてもパフォーマンスが大幅に低下することはありません。機能の競合が発生することもありますが、ほとんどの場合、これは大きな問題ではありません。
ISPエンジニアリング/運用担当者のポリシーと能力はさまざまであり、多くのISP(特に小規模の国)は物事を「機能させる」ために忙しいため、物事を「機能させる」ためのサイクルがありません。
送信元IPアドレスの変更を防ぐには、アクセスリスト(ACL)またはユニキャストリバースパスフィルタリング(uRPF)が必要です。
どちらも無料ではありません。uRPFは通常、追加のルックアップまたはより複雑な単一ルックアップを必要とするため、一部のプラットフォームではルックアップパフォーマンスが半分になる可能性さえあります。ACLは検索を遅くし、メモリを使用します。
uRPFはメンテナンスフリーです。一度設定すると、忘れてしまいます。ACLには、インターフェイスの背後にあるアドレスを認識し、ACLを最新の状態に保つシステムが必要です。
ACLはuRPFよりも広くサポートされており、uRPFはL3スイッチレベルのデバイスでは比較的まれな機能です。「実際の」ルーターでは通常、両方の機能が利用できます。
両方の機能を使用できる場合でも、ネットワークの間違った場所でuRPFを構成すると、ネットワークが破損する可能性があり、プラットフォーム固有のACL制限を理解していないと、停止する可能性があります。
通常、あなた自身は送信元アドレスのなりすましを防ぐことに利益がありません、利益を得るのは主にインターネット全体です。あなたはものを壊してしまうかもしれないので、あなたはそれをしようとするゼロ以外のリスクを負います。そして、あなたの顧客は何の利益も得ず、それらを実装するために誰もあなたにもっとお金を払うことはありません。だから報酬はそれを行うには低いです。
責任のあるサービスプロバイダーがそれを行うのは正しいことですが、展開されているアクセスデバイスのかなりの部分でスプーフィング対策が行われることを期待するのは現実的ではありません。より現実的な目標は、IP中継接続でACLを実行する場合です。そこには約6000程度のずんぐりしたAS番号しかないためです。
これがさらに問題であるのは、UDPリフレクション攻撃が原因です。UDPリフレクション攻撃は、QUICやMinimaLTなどのプロトコルで修正できます。これにより、リフレクションに利得がないことを保証できます。これは、受信クエリが送信応答よりも大きいことが保証されているため、なりすましの利点が失われるためです。
DDoS攻撃としてUDPリフレクションを使用することも、最近非常に人気があります。消費者が認識していない消費者のCPEデバイスには、広くオープンなDNSサーバーがたくさんあります。そのため、攻撃を反映するためにホーム接続が混雑しているため、これらの消費者は苦しんでいます。また、数十バイトの小さなクエリで大幅な増幅を実現する簡単な方法もあり、数千バイトを超える大きな回答を得ることができます。毎秒数百ギガビットの反射型DDoS攻撃があり、毎日より小さく、日曜日の夜に、43Gbpsの攻撃を1人の顧客に転送しました。
インターネットルーティングは非対称であるため、送信元アドレスフィルタリングは実世界では重要です。したがって、原則として、この送信元からのパケットがこの着信インターフェイスに現れる可能性があるかどうかについて、知識に基づいた推測が必要です。
そのための簡単な公式はありません。ほとんどすべてのケースで機能するすべてのルールには、ビジネスセンスを損なうユースケースも存在するためです。
リバースパスフィルタリングは、「内部」と「外部」の明確な定義があるエッジルーターで適切に機能します。部外者が「内部」アドレスを使用したり、その逆を行ったりすることはできません。冗長性のために複数のエッジルーターを使い始めるとすぐに複雑になります。
バックボーンルーターの場合、リバースパスフィルタリングを実装する唯一の方法は、ピアが動作中のルートをアナウンスするときに着信パケットを許可することです(優先するかどうかに関係なく)。これは非常に長いルックアップであり、簡単に回避でき、トランジットを故意に購入したが、そのリンクでプレフィックスをアナウンスしないというユースケースを壊します。