28.5.1 BGP のセキュリティと堅牢性
BGP はパスベクトルルーティングプロトコルのクラスに属し、各ノードは各目的地の「最適」ルートをすべての近隣に広告するようになっています。 BGP ノードは、近隣から送信されたすべてのパスを保存しますが、いくつかの与えられたポリシーに従って「最適」なものだけを使用し、アドバタイズします。 このプライマリパスに障害が発生すると、BGPはこのパスを取り下げて、次善のバックアップルートを選択します。
BGP の人気の根本的な理由は、各インターネット サービス プロバイダー (ISP) が希望するポリシーを公開せずに実装できるように、ルートを設定および使用する際に非常に柔軟性が高いことです。 残念ながら、この柔軟性と不透明性は、異なる ISP による互換性のない設定、経路の品質や状態に対するグローバルな可視性の欠如、経路の問題を処理するための協調的なアプローチの不能など、BGP の多くの問題の原因でもあります。 たとえば、すべての経路がコスト推定に基づいて厳密に選択されている場合でも、経路の可用性情報は明示的に伝えられるのではなく、通常は推測されるため、BGPはしばしば長い収束遅延や振動などの望ましくない動作を見せます。 その結果、BGPはこのパスのローカル評価が正しくないことに気づかずに、失敗したパスを次善のパスで代用することがあります。 このように経路の有効性に関する情報がないため、BGPは有効な経路を選択する前に多くのバックアップ経路を経由してしまうことがあります。 撤退/広告のサイクルは、かなりの時間続くことがあります。 この遅延は、収束遅延(または回復時間)として知られています。 これらの脆弱性は、攻撃者によって悪用され、BGP を他の方法よりも悪い方法で動作させることさえ可能です。
収束問題は、文献で広く検討されています。 特に、Labovitz らによって、孤立したルート撤退の収束遅延は、30% のケースで 3 分を超え、15 分にもなることが示されています。 また、回復時のパケットロス率は30倍、パケット遅延は4倍になることが分かっています。 また、さまざまな手法でBGP収束遅延を改善する試みも多く行われています .
次に、ルーティング テーブル自体の堅牢性について検証します。 ルーティング テーブルを直接破損することは困難ですが、矛盾したルーティング テーブルを作成するために、正当なルーティング テーブルの更新メッセージがハイジャックされる可能性があります。 あるいは、ルータの計算機、メモリなどのリソースを使い果たすために、偽のアップデートメッセージを送信することも可能である。 関連する問題として、QoS 設定への干渉があり、これを悪用して適切なトラフィック処理を中断させることができます。 経路更新メッセージの抑制、重複、変更により、誤配信や輻輳が発生する可能性があります。 このような攻撃は文献で広く検討されており、更新メッセージの認証やパケット内容やヘッダの暗号化などの暗号手段による防御が行われている。
セキュア BGP (SBGP) は、IP プレフィックスと AS 番号の整合性を確保するための 2 つの PKI 階層を利用することにより、署名されたルート更新を使用します。 SBGPの主な目的は、ルートアップデートに記録された「AS-path」と広告されたIPプレフィックスの整合性を確保することです。 (AS-pathとは、BGPの経路広告や撤退メッセージが宛先に到達するまでに通過するASのリストです)。 PKI階層の使用は、すべてのIPプレフィックスとASパスに対して信頼の連鎖を持つために不可欠であるが、複数の公開鍵操作が必要なため、この方式は非常に時間がかかる。 Hu、Perrig、Johnsonは、BGPのルーティングアップデートを保護するための高速なメカニズムについて議論している。 著者らは、PKIを使用するよりはるかに効率的な対称型暗号を使用することを主張している。 彼らは、更新が改ざんされず、ノードが経路に追加または削除されることを保証するために、更新パケットが通る経路上の各ノードでメッセージ認証コード(MAC)を含むハッシュチェーンの使用を提唱している。 このような方式は更新を安全に行うことができますが、鍵交換の問題や、ハッシュチェーン全体でMACをチェックするオーバーヘッドの問題が残ります。
暗号化技術は、不正な変更に対してルーティング更新を保護することができますが、余分な複雑さをもたらし、したがって、誤設定の可能性を増加させます。 実際、PKI 階層を使用する SBGP の問題は、セクション 28.3.3 で説明した DNSSEC の問題に似ています。
まれに、敵対者による侵害によって、AS 自体が悪質になる場合があります。 たとえば、悪意のある BGP AS は、機能していないルートを撤回しないことを決定したり、現在のルートセットに機能しているルートを入れなかったりすることがあります。 また、悪意のある AS は、ある宛先への最も望ましい(例えば、最短)経路を持っていると偽って宣伝する可能性もあります。 これにより、宛先へのすべてのトラフィックがこの AS を経由するようになり、AS はトラフィックを盗聴するか、単にその一部または全部を破棄してサービス拒否を引き起こす可能性がある。 また、AS-pathの修正も同様の影響を引き起こす可能性がある。 一部の悪意のある AS にもかかわらず、堅牢なルーティングを実現することは非常に困難ですが、そのような AS を単に検出して隔離するだけで十分な場合もあります
。