BGPハイジャック(プレフィックスハイジャック、ルートハイジャック、IPハイジャックとも呼ばれる)は、ボーダーゲートウェイプロトコル(BGP)を使用して維持されるインターネットルーティングテーブルを改ざんすることにより、IPアドレスのグループを不正に乗っ取る行為です。[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
インターネットは、固有のIPアドレスで識別される接続されたホストが、世界中の他のホストと通信できるようにするグローバルネットワークです。これは、データをあるルーターから別のルーターへと転送し、各パケットを宛先に近づけながら繰り返し移動させることで実現されます。そのためには、各ルーターに最新のルーティングテーブルを定期的に供給する必要があります。グローバルレベルでは、個々のIPアドレスはプレフィックスにグループ化されます。これらのプレフィックスは自律システム(AS)によって生成または所有され、AS間のルーティングテーブルはBGP( Border Gateway Protocol)を使用して維持されます。
単一の外部ルーティングポリシーに基づいて動作するネットワーク群は、自律システム(AS)と呼ばれます。例えば、Sprint、Verizon、AT&TはそれぞれASです。各ASには固有のAS識別番号があります。BGPは、自律システム間でIPルーティングに関する情報を交換するために使用される標準ルーティングプロトコルです。
各ASはBGPを使用して、トラフィックを配信できるプレフィックスをアドバタイズします。たとえば、ネットワークプレフィックス192.0.2.0 / 24がAS 64496内にある場合、そのASはプロバイダやピアに対して、 192.0.2.0 / 24宛てのトラフィックを配信できることをアドバタイズします。
BGPにはセキュリティ拡張機能が用意されており、ルート検証のためのサードパーティ製ルートデータベースも存在するものの、BGPプロトコルはデフォルトではピアから送信されるすべてのルートアナウンスを信頼するように設計されています。多くのISPはBGPセッションに対する厳格なチェックを実施していません。
IPハイジャックは、意図的または偶発的に、いくつかの方法で発生する可能性があります。
これらの方法に共通するのは、通常のネットワークルーティングを妨害することです。パケットはネットワークの誤った部分に転送され、無限ループに陥って破棄されるか、問題のあるASの手に委ねられることになります。
通常、ISPはBGPトラフィックをフィルタリングし、ダウンストリームネットワークからのBGPアドバタイズメントに有効なIPアドレス空間のみが含まれるようにしています。しかし、過去のハイジャック事件を見ると、必ずしもそうではないことがわかります。
リソース公開鍵基盤(RPKI)は、アドレスブロック範囲の所有権を示す暗号証明書チェーンを介してルーティングの発信元を認証するように設計されていますが、まだ広く展開されていません。展開されれば、発信元における不注意(偶発的または意図的)によるIPハイジャックを検出およびフィルタリングできるようになるはずです。
IPハイジャックは、悪意のあるユーザーがスパム送信や分散型サービス拒否(DDoS)攻撃に使用するIPアドレスを取得するために利用されることがある。
ルータが意図的か偶発的かを問わず、誤った BGP ルーティング情報を配信する場合、インターネット技術タスクフォース(IETF) は RFC 7908 でこれを「ルートリーク」と定義しています。これらのリークは、「ルーティングアナウンスが意図した範囲を超えて配信されること」と特徴付けられます。言い換えれば、ある自律システム (AS) から別の AS への学習済み BGP ルートに関するアナウンスは、受信者、送信者、および/または先行する AS パス上のいずれかの AS の意図したポリシーに違反します。このようなリークは、長年にわたる「ボーダーゲートウェイプロトコル ルーティングシステムのシステム上の脆弱性」によって可能になります。[ 6 ]
TCPリセット攻撃と同様に、セッションハイジャックは進行中のBGPセッションへの侵入を伴います。つまり、攻撃者はBGPセッション内のピアの1つになりすますことに成功し、リセット攻撃を実行するために必要な情報と同じ情報を必要とします。違いは、セッションハイジャック攻撃は、BGPピア間のセッションを単に停止させる以上のことを目的として設計される可能性がある点です。たとえば、盗聴、ブラックホール化、またはトラフィック分析を容易にするために、ピアが使用するルートを変更することが目的となる場合があります。
デフォルトでは、BGPピアは他のピアから受信したすべてのルートをデバイスのルーティングテーブルに追加し、その後、これらのルートのほぼすべてを他のBGPピアにアドバタイズしようとします。マルチホーム構成の組織では、意図せずある自律システム(AS)から学習したプレフィックスを別の自律システム(AS)にアドバタイズしてしまう可能性があり、その結果、エンドユーザーが該当するプレフィックスへの最適なパスになってしまうという問題が生じる可能性があります。
例えば、AT&TとVerizonの両方とピアリングしているCiscoルーターを使用している顧客が、フィルタリングを設定していない場合、意図せず2つの大手通信事業者間のリンクを確立してしまう可能性があります。その結果、通信事業者は高速専用回線を利用する代わりに、顧客を経由して(場合によってはT1回線で)トラフィックの一部または全部をルーティングすることを優先する可能性があります。この問題は、これら2つの通信事業者とピアリングしている他のエンティティにも影響を与え、それらのAS(自律システム)が誤って設定されたリンクを優先するようになる可能性もあります。
実際には、大規模なインターネットサービスプロバイダ(ISP)では、エンドユーザーが広告できる内容に制限を設けているため、この問題が発生することは稀です。しかし、顧客の広告をフィルタリングしないISPは、意図せず誤った情報をグローバルルーティングテーブルに伝播させてしまう可能性があり、大規模なティア1プロバイダにも影響を及ぼす可能性があります。
BGPハイジャックの概念は、意図的か否かを問わず、広告をフィルタリングしないインターネットサービスプロバイダ(ISP)を特定すること、または中間者攻撃を受けやすい脆弱な内部BGPセッションやISP間BGPセッションを持つISPを特定することを含みます。特定されると、攻撃者は任意のプレフィックスを広告することができ、正当な送信元からのトラフィックの一部または全部を攻撃者に迂回させることができます。この行為は、侵入したISPを過負荷状態に陥れるため、またはプレフィックスが広告されているエンティティに対してサービス拒否(DoS)攻撃やなりすまし攻撃を実行するために行われます。攻撃者が接続の完全な喪失を含む重大な障害を引き起こすことは珍しくありません。
2008 年初頭の事件では、少なくとも 8 つの米国の大学が、ある朝の約 90 分にわたってトラフィックがインドネシアにリダイレクトされるという被害に遭ったが、この攻撃は関係者によってほとんど隠蔽されていた。また、2008 年 2 月には、 PTAが国内からのサイトへのアクセスをブロックすることを決定したため[ 7 ] 、 YouTube のアドレス空間の大部分がパキスタンにリダイレクトされたが、誤ってグローバル BGP テーブルでそのルートをブラックホール化してしまった。フィルタリングと MD5/TTL 保護は、ほとんどの BGP 実装ですでに利用可能であり (これにより、ほとんどの攻撃の発生源が防止される)、問題は、各 AS が発信できる許可されたプレフィックスのリストを決定する共通の効率的な方法がないため、ISP が他の ISP からの広告をフィルタリングすることはめったにないという概念から生じている。誤った情報がアドバタイズされた場合のペナルティは、他の大規模ISPによる単純なフィルタリングから、隣接するISPによるBGPセッションの完全なシャットダウン(これにより2つのISP間のピアリングが停止する)まで多岐にわたり、問題が繰り返されると、多くの場合、すべてのピアリング契約が永久に終了することになります。また、大手プロバイダが小規模で問題のあるプロバイダをブロックまたはシャットダウンした場合でも、グローバルBGPテーブルは、すべてのピアが対応策を講じるか、または問題のISPがソース側で問題を修正するまで、利用可能な他のルートを介してトラフィックを再構成および再ルーティングすることが多い点にも注目すべきです。
この概念から派生した有用な手法の一つにBGPエニーキャストがあり、ルートDNSサーバーで頻繁に利用されています。これは、複数のサーバーが同じIPアドレスを使用できるようにすることで、冗長性を確保し、数百ものサーバーIPアドレスを公開することなくDoS攻撃に対する保護層を提供するものです。この場合、プレフィックスをアドバタイズする各ポイントは、実際のデータ(この場合はDNS)にアクセスでき、エンドユーザーの要求に正しく応答します。