誤ってインターネットを乗っ取ろうとするインドサット について読みました。ポーランドのinfosec関連のWebサイトで、発表されたルートのほとんどが伝播に失敗したことを読みましたが、一部はインターネット全体に到達しました。これは私に不思議に思いました-どのセキュリティメカニズムがBGPプロトコルを保護し、なぜこれらのいくつかの特定のルートで失敗し、アカマイや他の人々を傷つけたのですか?
BGPは、インターネットを機能させるルーティングプロトコルです。現在のリビジョンは BGP v4 で、1995年から使用されています。インターネットサービスプロバイダー(ISP)は1つまたは複数のネットワークを制御しており、BGPを使用して、交換することでネットワークをピアにアドバタイズします。それらが制御するネットワークに関するルーティング情報(インターネットルート)。それらのネットワークは、 自律システム(AS) と呼ばれる独立したルーティングドメインです。各ASには一意の識別子(AS番号、またはASN)が割り当てられており、今日割り当てられているASNは約40'000です。これらのAS間のルーティングプロセスはドメイン間ルーティングと呼ばれ、BGPはこれを実現するために使用されるプロトコルです。
各BGPルーターには、ルーティング情報を格納するルーティング情報ベース(RIB)が含まれています。ルーターがRIBを更新することを決定すると、その後、この情報を、接続されている他のすべての隣接するBGPルーターに「ねえ、ネットワーク1.2.3.0/12にルーティングできます」と伝えます。 AS番号X、Y、Zを介して。次に、自分のテーブルを更新して情報をさらに伝達するかどうかを決定します。
BGPにはピアの自動検出はありません。代わりに、ルーティング情報を交換するようにピアを手動で構成する必要があります。
BGPプロトコル自体は、多くのセキュリティメカニズムを提供していません。
BGP設計には、ルーティング動作の中断を引き起こす可能性のあるピアまたは外部からの攻撃または意図的なエラーに対する特定の保護は含まれていませんでした。このような攻撃の例には次のものがあります。
要するに、BGPは誤ったルートアドバタイズメントに非常にさらされており、この状況を修正する計画は今日ありません。
したがって、セキュリティの観点からはかなり悪いように見えます。しかしその一方で、BGPにはいくつかの肯定的なセキュリティの側面もあります。
標準化団体内および研究コミュニティ内での最近の取り組みにより、BGPセキュリティに新しいアーキテクチャを提供することが試みられました。これも:
これらの問題を修正し、高度なBGP攻撃に対して適切なレベルの保護を提供するには、BGPのメジャーアップデートが必要です。 RFC 4278 、BGPセキュリティメカニズムの成熟度調査、このような状況でのこのようなスキームの限界的な利益は低く、移行の取り組みに値しないと考えます。
興味深いと思われるその他のリソース:
TCP認証オプションTCP-AO および The TCP認証オプションRFC の実装
BGP Looking Glass :彼らのウェブサイトによると:
BGP Looking Glassサーバーは、ルーティング情報を表示する目的でリモートからアクセスできるインターネット上のサーバーです。基本的に、サーバーは、Looking Glassサーバーを実行している組織のルーターへの制限付きの読み取り専用ポータルとして機能します。通常、公的にアクセス可能なLooking Glassサーバーは、ISPまたはNOCによって実行されます。
「 BGPセキュリティの問題と解決策の調査 」という記事は、質問への回答として非常に役立ちます。
BGPは、特にISPがルートアドバタイズを誤って設定した場合に特に、ルーティング関連の攻撃に対して脆弱です。悪意のないインシデントには、パキスタンテレコムによるYouTubeのブロック、マレーシアのISPによるYahooまたはトルコのISPによるインターネットの乗っ取りなどが含まれます。このようなインシデントはインターネット全体を破壊する可能性があり、攻撃者が危害を加えるために使用される可能性があります。
したがって、セキュリティ担当者はBGPの脆弱性を十分に認識しており、解決策を講じています。たとえば、調査によれば、米国政府はサイバースペースを確保するための国家戦略の一部としてBGPセキュリティを挙げています。さらに、インターネット技術特別調査委員会(IETF)は、BGPを保護するための新しい ドラフト に取り組んでいます。
BGPでは、ルーター(またはBGPスピーカー)は、新しいルートが利用可能になるとルートアドバタイズメントを送信し、ルートが存在しなくなると撤回メッセージを送信します。各自律システム(AS)は、次のASへのルートをアドバタイズする前に、ASパスの先頭にAS番号を追加します。つまり、BGPは、特定の宛先に到達するために可能なルートをアドバタイズするパスベクトルプロトコルです。
転送パスを決定するために、各IPルーターは、宛先IPアドレスと一致する最も長い(より具体的な)プレフィックスを優先します。たとえば、211.120.132.0/22のルートアドバタイズメントは211.120.0.0/12よりも具体的です。したがって、何らかの理由でトラフィックがルーターを通過するようにしたい場合は、より具体的な数百のルートをアドバタイズできます。そのような疑わしいBGPアナウンスのフィルタリングは、そのようなルーティング攻撃を防ぐための1つの簡単な方法です。 ISPは、顧客が所有していないプレフィックスについて顧客からのルートをフィルタリングし、各隣接ルーターがアナウンスできるプレフィックスの数を制限したり、ボーゴンなどを制限したりできます。ただし、すべてのISPがルートのフィルタリングに「ベストプラクティス」を適用するわけではないため、フィルタリングだけでは不十分です。したがって、無意識のうちにそれらを転送する他のISPから誤ったルートを受信する可能性があります。
Secure BGP (S-BGP)は、現在のルーティングの問題に対する注目すべきソリューションの1つですが、暗号計算のオーバーヘッドが大きく、インターネットレジストリの連携があるため、あまり普及していません。 S-BGPでは、PKIと証明書を使用して、指定されたプレフィックスとパス情報の所有権を認証します。これにより、ISPが所有していないルートアドバタイズメントをISPがスプーフィングするのを本質的に防ぎます。したがって、S-BGPのインターネットへの展開を促進するために、より多くのインセンティブを与える必要があります。
私はルーティング関連の攻撃のみに焦点を合わせてきました。ただし、調査で判明した機密性、メッセージの整合性、またはDoSに対する他の攻撃がまだ存在しています。
BGPには2つの潜在的なセキュリティ問題があります。間違ったデバイスと話している可能性があります。または、正しいデバイスが間違ったことを言っている可能性があります。
BGPを間違ったデバイスと通信することは、誰かがBGPネイバーにケーブルを別のルーターに向けて再ルーティングし、そのルーターにBGPネイバーを偽装させるのと同じくらい劇的です。より一般的なリスクは、TCPリセット攻撃で構成されます。TCP=セッションは無期限にアクティブなままであり、長時間アイドル状態になる可能性があります。そのため、システムAとBにTCPセッションがあり、システムAが再起動すると、Aは再起動後にBからTCPパケットを受信します。当然、AはもはやアクティブなTCPセッションがあります。そのため、Bに「TCPリセット」パケットを送信します。これにより、Bはセッションを破棄するように求められます。
TCPには強力なセキュリティ機能がないため、サードパーティは偽装したTCP Bから来たように見えるAにリセットを送信できます。AはそのTCPセッション、つまりその上で実行中のBGPセッションTCPセッション、新しいセッションをセットアップできるようになるまでAとB間のトラフィックフローを中断します。攻撃者正しいIPアドレス、ポート番号、およびTCP=シーケンス番号を含むパケットを送信する必要があります。通常、IPアドレスを見つけるのはそれほど難しくなく、1つのポート番号は179(BGPポート番号)です) 。したがって、攻撃者は残りのすべてのポート番号とシーケンス番号を含むパケットを送信するだけで、1分以内に適切な組み合わせに到達し、そのBGPセッションに別れを告げることができます。
これから保護できるセキュリティメカニズムは3つあります。BGPTCP MD5 password、 BGPsec およびGeneralized TTLセキュリティメカニズム( GTSM)。
BGP TCP MD5パスワードシステムについては、1998年に公開された RFC 2385 で説明されています。6ページしかありませんが、これは非常に短いRFCです。以前のRFCでは、2385から始めるのが良いでしょう。
数日前に非常によく似た質問をしました BGPフィルタリングはルーティングハイジャックを防ぐためにどのように機能しますか?
私の研究から、そのような「攻撃」から保護する唯一の方法は、インドサットのPoVからのアウトバウンドルートと、その他の世界のPoVからのインバウンドルートをフィルタリングすることであると思われます。
Indosatには、アウトバウンドとして受け入れられる正当なルートのリストがありますが、その他は拒否されます。次に、Indosatは、現在の正当なルートについて他のプロバイダーに連絡する必要があります。そうすることで、それらは受信フィルターを適用してそれらのみを許可し、その他を拒否することができます。
まだわからないのは、フィルターが内部でどのように機能するかです。これが私の質問の範囲でした。