web-dev-qa-db-ja.com

BGPで使用されているセキュリティメカニズムとその理由

誤ってインターネットを乗っ取ろうとするインドサット について読みました。ポーランドのinfosec関連のWebサイトで、発表されたルートのほとんどが伝播に失敗したことを読みましたが、一部はインターネット全体に到達しました。これは私に不思議に思いました-どのセキュリティメカニズムがBGPプロトコルを保護し、なぜこれらのいくつかの特定のルートで失敗し、アカマイや他の人々を傷つけたのですか?

27
d33tah

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-VULN(RFC4272 )、で説明されているように、データを変更、削除、偽造、または再生する攻撃から保護するBGP内部のメカニズムはありません 、ネットワークルーティング動作全体を混乱させる可能性があります。 TCP/IPプロトコルとして、BGPはすべてのTCP/IP攻撃(IPスプーフィング、セッション盗用など)の影響を受けます。部外者はBGPピア間の通信に信頼できるBGPメッセージを挿入し、それにより偽のルーティング情報を挿入できます。
  • ルーターが新しいルーティング情報をアドバタイズするとき、BGPは割り当てられたAS番号を使用することを保証しません。つまり、BGPルーターは任意のAS番号を持つルートをアドバタイズできます。
  • ASは、別のASによって割り当てられていない、または別のASに属しているアドレス空間からプレフィックスをアドバタイズできます。これはprefix hijackingと呼ばれ、 man-in-the-middle攻撃 を実行するために使用できます。これは最初は DefCon 16で示されました) Alex PilosovとAnton "Tony" Kapelaによる。
  • BGPは、無効なルートまたは悪意のあるルートを検出することをはるかに容易にする正しいルーティング情報の共有されたグローバルなビューを提供しません。

要するに、BGPは誤ったルートアドバタイズメントに非常にさらされており、この状況を修正する計画は今日ありません。

BGPセキュリティ保護

したがって、セキュリティの観点からはかなり悪いように見えます。しかしその一方で、BGPにはいくつかの肯定的なセキュリティの側面もあります。

  • BGPピアリングアソシエーションは、存続期間が長く静的である傾向があります。これは、ピアとルートアドバタイズメント間のこれらの関連付けを効率的に監視できることを意味し、インターネットハイジャックの場合にさまざまな関係者からの迅速な対応を可能にします。 BGP監視を提供する多くのサービスがあります(一部の 無料およびオープンソース および 商用製品 );
  • BGPルーターはルートフィルタリングを実装できます。これにより、インバウンドアナウンスの選択を実行できます。ただし、そのための展開された標準はほとんどなく、これを実装するかどうか、および実装方法は各ISPが決定します。
  • BGPは、TCP MD5署名オプション(a [〜#〜] mac [〜#〜] を実装しています RFC 2385 で定義されています) TCPリセット(RST)Dos攻撃からBGPセッションを保護します。現在、ほとんどのルーターメーカー(例 Cisco )とオープンソースOS(例- FreeBSD )。しかし、この保護は限られた数の攻撃しかカバーせず、弱いテクノロジーに依存しています。
  • 面倒なセキュリティ保護対策がないため、DDoSやマルウェアが sinkholes and blackhole routing を介して拡散することにも迅速に対応できます。

今後の改善

標準化団体内および研究コミュニティ内での最近の取り組みにより、BGPセキュリティに新しいアーキテクチャを提供することが試みられました。これも:

  • Public Key Infrastructure を使用して、ピア間で公開暗号鍵を共有し、ルーターがBGPアナウンスの整合性をグローバルな規模で確立できるようにするとともに、エンティティが特定のリソースをアドバタイズすることを承認されていることを証明します。
  • IPsec を使用して、BGPセッションとピア間で渡されるメッセージを保護します。
  • ドメイン間ルート情報を検証するための独立機関を確立します。この第三者機関は、BGPルーターが受信したアナウンスを確認するために使用します。

これらの問題を修正し、高度なBGP攻撃に対して適切なレベルの保護を提供するには、BGPのメジャーアップデートが必要です。 RFC 4278BGPセキュリティメカニズムの成熟度調査、このような状況でのこのようなスキームの限界的な利益は低く、移行の取り組みに値しないと考えます。


興味深いと思われるその他のリソース:

TCP認証オプションTCP-AO および The TCP認証オプションRFC の実装

BGPの目的は何ですかTTLセキュリティ?

BGP Looking Glass :彼らのウェブサイトによると:

BGP Looking Glassサーバーは、ルーティング情報を表示する目的でリモートからアクセスできるインターネット上のサーバーです。基本的に、サーバーは、Looking Glassサーバーを実行している組織のルーターへの制限付きの読み取り専用ポータルとして機能します。通常、公的にアクセス可能なLooking Glassサーバーは、ISPまたはNOCによって実行されます。

31
ack__

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に対する他の攻撃がまだ存在しています。

5
jingyang

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から始めるのが良いでしょう。

2
Dgitsss

数日前に非常によく似た質問をしました BGPフィルタリングはルーティングハイジャックを防ぐためにどのように機能しますか?

私の研究から、そのような「攻撃」から保護する唯一の方法は、インドサットのPoVからのアウトバウンドルートと、その他の世界のPoVからのインバウンドルートをフィルタリングすることであると思われます。

Indosatには、アウトバウンドとして受け入れられる正当なルートのリストがありますが、その他は拒否されます。次に、Indosatは、現在の正当なルートについて他のプロバイダーに連絡する必要があります。そうすることで、それらは受信フィルターを適用してそれらのみを許可し、その他を拒否することができます。

まだわからないのは、フィルターが内部でどのように機能するかです。これが私の質問の範囲でした。

1
eez0