IPトレースバックとは、インターネット上のパケットの発信元を確実に特定するためのあらゆる方法を指します。IPプロトコルはIPパケットの送信元IPアドレスの認証を提供しないため、 IPアドレススプーフィングと呼ばれる手法で送信元アドレスを偽装することが可能となり、インターネットのセキュリティと安定性に潜在的な問題を引き起こす可能性があります。
偽の送信元IPアドレスを使用すると、サービス拒否攻撃(DoS攻撃)や一方通行攻撃(被害者ホストからの応答が既知であるため、攻撃を継続するために返信パケットを受信する必要がない攻撃)が可能になります。IPトレースバックは、攻撃元を特定し、インターネットの保護対策を講じる上で非常に重要です。この問題に対する既存のアプローチのほとんどは、DoS攻撃の検出に特化しています。このようなソリューションでは、攻撃経路に収束するために大量のパケットが必要となります。
Savage ら[ 1 ]は、パケットがインターネット上のルーターを通過する際に確率的にマーキングすることを提案した。彼らは、ルーターがパケットにルーターの IP アドレスまたはパケットがルーターに到達するまでに通過した経路のエッジのいずれかをマーキングすることを提案している。
最初の代替案である、ルーターの IP アドレスでパケットをマークする方法では、95% の精度で正しい攻撃パスを取得するには、294,000 個ものパケットが必要であることが分析で示されています。2 番目のアプローチであるエッジ マーキングでは、エッジを構成する 2 つのノードが、それらの間の距離とともに、それぞれの IP アドレスでパスをマークする必要があります。このアプローチでは、単純なノード マーキングよりも各パケットに多くの状態情報が必要になりますが、収束ははるかに速くなります。彼らは、これらのアプローチの状態情報をより扱いやすいものに削減する 3 つの方法を提案しています。[ 1 ]
最初のアプローチは、パス上のエッジを形成する各ノードを互いにXOR することです。ノードa はパケットに自身の IP アドレスを挿入し、それをbに送信します。bで検出されると(距離内に 0 を検出することによって)、b は自身のアドレスをaのアドレスと XOR します。この新しいデータ エンティティはエッジ ID と呼ばれ、エッジ サンプリングに必要な状態を半分に減らします。次のアプローチは、このエッジ ID をさらに取得し、k 個のより小さなフラグメントに分割することです。次に、フラグメントをランダムに選択し、フラグメント オフセットとともにエンコードして、ダウンストリーム ルータから正しい対応するフラグメントを選択して処理できるようにします。十分なパケットが受信されると、被害者は (複数の攻撃者が存在する場合でも) 通過した一連のパケットのすべてのエッジを再構築できます。[ 1 ]
SongとPerrigの研究によると、断片化されたエッジIDを再構築するために必要な組み合わせの数が多いため、このような攻撃グラフの再構築は計算負荷が高い。さらに、このアプローチでは誤検出が多数発生する。例えば、DDoS攻撃で攻撃ホストが25台しかない場合でも、再構築プロセスには数日かかり、数千件の誤検出が発生する。[ 2 ]
そこで、SongとPerrigは次のようなトレースバック方式を提案している。IPアドレスをハッシュとインターリーブしてエンコードする代わりに、IPアドレスを11ビットハッシュにエンコードし、5ビットのホップカウントを保持する。これらは両方とも16ビットのフラグメントIDフィールドに格納される。これは、5ビットのホップカウント(最大32ホップ)がほぼすべてのインターネットルートに十分であるという観察に基づいている。さらに、マーキングにおけるルータの順序を決定できるように、2つの異なるハッシュ関数を使用することを提案している。次に、任意のホップが自身をマークすることを決定した場合、まず距離フィールドが0かどうかをチェックする。これは、前のルータが既に自身をマークしていることを意味する。この場合、自身のIPアドレスの11ビットハッシュを生成し、それを前のホップとXOR演算する。ホップカウントがゼロでない場合は、自身のIPハッシュを挿入し、ホップカウントをゼロに設定してパケットを転送する。ルーターがパケットにマークを付けないことを決定した場合、オーバーロードされたフラグメントIDフィールドのホップカウントをインクリメントするだけです。[ 2 ]
SongとPerrigは、この方法では衝突に対する耐性が十分ではないと指摘し、独立したハッシュ関数のセットを使用し、そのうちの1つをランダムに選択し、IPとFIDまたは関数IDをハッシュ化してからエンコードすることを提案している。彼らは、このアプローチにより衝突の確率が実質的に(1/(211)m)に減少すると述べている。詳細については、SongとPerrigを参照のこと。[ 2 ]
研究者らは、確率的パケットマーキング(PPM)の厳密な情報理論的分析も行っています。Adlerは、単一パスの場合、PPMは1ビットのヘッダーしか利用できない場合でも成功できることを示しました(ただし、指数関数的に増加するパケット数を犠牲にする必要があります)。また、対応する下限を証明しました。任意の 1 ビット スキームのパケット (n はパス記述のビット単位の長さ)。さらに、b ヘッダー ビットの使用に関するトレードオフを確立しました。最大で 1 ビットのパケットを使用してパスを高い確率で再構築する単純なステートレス b ビット スキームがあります。任意の固定パケット任意の𝑏ビット方式では少なくとも期待されるパケット数。言い換えれば、パケットの複雑さは 𝑛 に対して単指数関数的であるが、𝑏 に対しては二重指数関数的に減少する。つまり、マーキングビットが1つ増えるごとに、2 進数の増加の指数は半分になる。𝑘 個の異なるパスを使用するマルチパス攻撃の場合、Adler は少なくとも次のことを証明した。マーキングビットは(情報理論的に)必要であり、ヴァンデルモンド行列に基づく符号化を実現した。制限された攻撃者モデルの下でのビット。[ 3 ]
これらの境界は、Adler、Edmonds、およびMatoušekによって改善されました。単一の攻撃経路の場合、彼らは、任意のメモリレスPPMスキームには少なくともパケット。また、ほぼ一致する(「準最適」な)上限も示しました。各ルーターが以下のいずれかを選択するルーター考えられるメッセージ()、それらは、パケットで十分です。したがって、真の境界は、Adler が最初に提供した上限のほぼ平方根であり、彼の下限のほぼ二乗です。この論文では、マルチパス攻撃のための新しいプロトコルと分析も提示し、PPM が有効なシナリオを一般化しています。[ 4 ]
BelenkyとAnsariは、決定論的なパケットマーキング方式の概要を説明しています。彼らは、LANとASが接続境界で構成されている、インターネットのより現実的なトポロジーを説明し、ネットワークの入り口で受信パケットに単一のマークを付けようとしています。彼らのアイデアは、0.5のランダムな確率で、受信インターフェースのIPアドレスの上半分または下半分をパケットのフラグメントIDフィールドに挿入し、アドレスのどの部分がフラグメントフィールドに含まれているかを示す予約ビットを設定することです。このアプローチを使用することで、わずか7パケット後に0.99の確率で0の誤検出を達成できると主張しています。[ 5 ]
RayanchuとBaruaは、このアプローチに別の解釈を加えたもの(DERMと呼ばれる)を提案している。彼らのアプローチは、入力インターフェースのエンコードされたIPアドレスをパケットのフラグメントIDフィールドで使用するという点で類似している。BelenkyとAnsariと異なる点は、IPアドレスをそのIPアドレスの16ビットハッシュとしてエンコードすることである。彼らは当初、既知のハッシュ関数を選択した。彼らは、マーキングを行うエッジルータが2^16を超えると、衝突が発生する可能性があると述べている。[ 6 ]
彼らは、ユニバーサルセットからランダムに分散されたハッシュ関数の選択を導入し、それをIPアドレスに適用することで、衝突問題を軽減しようと試みます。どちらのハッシュ化シナリオでも、送信元アドレスとハッシュは、受信したアドレスのどの部分かを示すビットとともに、後で参照できるようにテーブルにマッピングされます。複雑な手順とランダムなハッシュ選択により、アドレスの衝突を減らすことができます。決定論的なアプローチを使用することで、マーク(16ビットハッシュ)の再構築手順にかかる時間を短縮できます。ただし、ハッシュ化によってそのマークをエンコードすると、衝突の確率、ひいては誤検出の確率が生じます。[ 6 ]
ShokriとVarshoviは、「動的決定論的パケットマーキング」(DDPM)を用いて、動的マーキングとマークベース検出の概念を導入しました。動的マーキングでは、大規模DDoSネットワークで攻撃エージェントを特定できます。DRDoSの場合、被害者は攻撃をさらに一歩遡ってソースまで追跡し、少数のパケットだけでマスターマシンまたは実際の攻撃者を特定できます。提案されたマーキング手順は、マークベース検出によって被害者側でのDRDoS攻撃検出の可能性を高めます。マークベース方式では、検出エンジンはパケットのマークを考慮して、DDoS攻撃に関与する単一サイトのさまざまなソースを識別します。これにより、検出確率が大幅に向上します。エンドツーエンドの引数アプローチ、運命共有、およびスケーラブルで適用可能なスキームの必要性を満たすために、エッジルータのみが単純なマーキング手順を実装します。エッジルータに追加される遅延と帯域幅オーバーヘッドはごくわずかであるため、DDPMは実装可能です。[ 7 ]
S. Majumdar、D. Kulkarni、C. Ravishankar は、ICDCN 2011 でDHCPパケットの発信元をトレースバックする新しい方法を提案しています。彼らの方法は、DHCP パケットを受信したエッジスイッチのMAC アドレスと入力ポートを含む新しい DHCP オプションを追加します。この新しいオプションは、エッジスイッチによって DHCP パケットに追加されます。このソリューションは DHCP RFC に準拠しています。以前の IP トレースバックメカニズムは、トレースバック情報で IP ヘッダーフィールドを過負荷にしており、IP RFC に違反しています。他のメカニズムと同様に、この論文もネットワークが信頼できることを前提としています。この論文では、この実用的なアプローチを設計する際に考慮されたルーター/スイッチのさまざまなパフォーマンスの問題が提示されています。ただし、このアプローチは一般的な IP パケットには適用できません。 [ 8 ]
ルーターベースのアプローチでは、ルーターは通過するパケットに関する情報を保持する役割を担います。例えば、Sagerはパケットをログに記録し、後でデータマイニングを行うことを提案しています。この方法は帯域外で行われるため、高速パスを妨げないという利点があります。
Snoeren らは、ルータ内でのマーキングを提案している。彼らの論文で提案されているアイデアは、パケットの不変部分 (送信元、宛先など) とペイロードの最初の 8 バイト (衝突の確率が低いほど十分に一意である) に基づいて、パケットのフィンガープリントを生成することである。より具体的には、m 個の独立した単純なハッシュ関数がそれぞれ 2n-1 の範囲の出力を生成する。生成されたインデックスにビットが設定され、他のすべてのハッシュ関数の出力と組み合わせることでフィンガープリントが作成される。すべてのフィンガープリントは、後で取得するために 2n ビットのテーブルに格納される。この論文では、この目的に適した単純なハッシュ関数のファミリーを示し、そのハードウェア実装を提示している。[ 9 ]
各ルータで必要なスペースは限られており、制御可能です(2n ビット)。n が小さいほど、パケットハッシュの衝突(および誤識別)の確率が高くなります。パケットを追跡する場合、発信元ルータに転送され、そこでフィンガープリントの一致がチェックされます。時間が経過するにつれて、フィンガープリント情報は他のパケットによって生成されたハッシュによって「上書き」されます。したがって、このアプローチの選択性は、パケットの通過から追跡照会までの経過時間とともに低下します。[ 9 ]
ルーターベースの方式に関するもう 1 つの既知のアプローチは、Hazeyama らによるものです。彼らのアプローチでは、Snoeren が概説した SPIE のアプローチ[ 9 ]を、レイヤ 2 リンク ID とネットワーク ID ( VLANまたは真の ID)、パケットを受信したレイヤ 2 スイッチの MAC アドレス、およびパケットが来たリンク ID を記録するアプローチと統合しようとしています。この情報は、2 つのルックアップ テーブルに格納されます。どちらのテーブルにも、ルックアップ用のスイッチ (レイヤ 2 ルーター) の MAC ID が含まれています。彼らは、MAC アドレスが偽装されている場合でも、パケットをトレースする方法としてMAC:ポートタプルに依存しています。 [ 10 ]
ストレージ制限の問題を軽減するために、彼らはスノエレンのハッシュ方式と実装(SPIE)を使用し、ハッシュ化のために自分たちの情報を受け入れるようにそれを修正しています。彼らは、自分たちのアルゴリズムが遅い(O(N2))ことを認めており、330万個のパケットハッシュしか保存されていないため、ダイジェストテーブルが無効になるまでのおおよその時間は1分です。これは、攻撃への対応はリアルタイムでなければならないことを意味しますが、これは単一の管理LANドメインでのみ可能です。[ 10 ]
スティーブン・M・ベロビンが提案するICMPトレースバック方式では、低い確率でICMPトレースバックパケットをIPパケットの宛先ホストに転送します。これにより、パケットまたはルータで状態を維持する必要がなくなります。さらに、低い確率により、処理オーバーヘッドと帯域幅要件が低く抑えられます。ベロビンは、タイミング攻撃バーストの試みを阻止するために、擬似乱数に基づいて選択することも提案しています。このアプローチの問題点は、ルータがセキュリティ上の問題からICMPメッセージをブロックすることが一般的であることです。
このタイプのソリューションでは、監視者が攻撃対象ホストから始まるルーターの送受信ポートを検査することで、既存の攻撃フローを追跡します。そのため、このようなソリューションには、攻撃経路上のルーターへの特権アクセスが必要となります。
この制約を回避し、このプロセスを自動化するために、ストーン氏はISPのエッジルーターを使用したオーバーレイネットワーク上で疑わしいパケットをルーティングすることを提案している。トポロジーを簡素化することで、疑わしいパケットを専門のネットワークに容易に再ルーティングし、詳細な分析を行うことができる。
DoS攻撃の性質上、このような攻撃は追跡が可能なほど長時間継続します。レイヤ3トポロジの変更は、執拗な攻撃者に対して隠蔽するのが困難ですが、ルーティングの変更が発見され、それに対応するまでDoS攻撃を軽減する可能性があります。攻撃者が対応した後、再ルーティング方式は再び適応して再ルーティングを行うことができ、DoS攻撃に振動が生じ、攻撃の影響をある程度吸収する能力が得られます。
ハル・バーチとウィリアム・チェスウィックは、リンクの制御されたフラッディングによって、このフラッディングが攻撃ストリームにどのような影響を与えるかを判断することを提案している。リンクをフラッディングすると、攻撃者からのパケットを含むすべてのパケットが同じ確率でドロップされる。このことから、特定のリンクがフラッディングされ、攻撃者からのパケットが遅くなった場合、そのリンクは攻撃経路の一部であると結論付けることができる。そして、攻撃経路が発見されるまで、上流のルーターは再帰的にこのテストを実行するように「強制」される。[ 11 ]
トレースバックの問題は、なりすましパケットの存在によって複雑化します。そのため、なりすましパケットを防止するための対策として、イングレスフィルタリングと呼ばれる技術が開発されています。イングレスフィルタリングは、このルータを使用できる正当な送信元ネットワークのセットを追跡することで、ネットワークへの入力ポイントにおけるなりすましパケットを制限します。
ParkとLeeは、レイヤ3におけるイングレスフィルタリングの拡張を提案している。彼らは、既存のOSPFルーティング状態を基本的に利用して、ルータがパケットをルーティングすべきかどうかについてインテリジェントな判断を下すことで、少なくともサブネットに対して偽のパケットを検出する手段を提案している。