本日は、ボーダーゲートウェイプロトコル(BGP)と、ネットワークの安全性を確保するために行った最近の取り組みについてご紹介します。当社では、以前からROA(Route Origin Authorization)でプレフィックスを署名していましたが、世界中のすべてのエッジゲートウェイルーターにルートバリデーションを実装し、RPKIが無効なプレフィックスをドロップするようにしました。
この変化を理解するには、TCPプロトコルの仕組みを理解する必要があります。BGPは、インターネットを機能させるためのプロトコルの1つです。インターネットは広大なネットワークで構成されています。これらの独立したネットワークは、地域インターネット登録機関(RIR)によって提供される独自のIPアドレス範囲を持っています。この範囲をBGPは「プレフィックス」と呼んでいます。
次に、これらのプレフィックスは、自律システム(AS)と呼ばれる抽象的なシステムにまとめられ、自律システム番号 (ASN)と呼ばれる番号で識別されます。最後に、すべての独立したネットワークのBGPスピーキングエッジルータを ピアと呼びます。BGPが機能するためには、各ピアはネットワークプレフィックスアナウンスの形で近隣のピアとルーティング情報を交換します。ピアは、ルーティングポリシーに応じて、自分が持っているすべてのルートを交換することができるので、あるASが他のASと直接接続していなくても、そのASのプレフィックスを知ることができます。このような場合、仲介ASは、エッジASと経路情報を交換するトランジットASの役割を果たします。
![トランジットASとのBGPピアリング:AS 22222](https://www.linode.com/wp-content/uploads/2021/11/diagram1@2x-1064x298.png)
BGPハイジャック
意図的、偶発的を問わず、自分が管理していないプレフィックスを偽って広告することをBGPハイジャックといいます。その結果、DDoS、監視、スパムなど様々な攻撃を受けることになります。
![AS 66666からのBGPハイジャックの成功例](https://www.linode.com/wp-content/uploads/2021/11/diagram2@2x-1064x625.png)
BGPハイジャック攻撃が成功するためには、他のネットワークが以下のいずれかの方法でハイジャックされたパスをベストパスとして選択する必要があります。
- BGPは一般に最短のASパス長を優先するため、敵対者は正当なプレフィックス所有者よりも短いASパス長を提示する可能性があります。他のBGP属性を使ってパスを優先することもできますが、この動作はASNのルーティングポリシーに大きく依存します。
- 敵対者は、真の発信元ASから発表される可能性のあるものよりも、より具体的なプレフィックスを発表しなければなりません。プレフィックス長に基づくハイジャックは、複雑なBGPポリシーに依存しないため、成功する可能性が高くなります。
このような攻撃を成功させるためには、攻撃の複雑さはかなりのものですが、BGPハイジャックは、何らかの形での認証がなければ阻止することはほぼ不可能です。そこで、RPKIの出番となるわけです。
RPKI
RPKIはデジタル署名のようなものだと考えてください。RPKIは、BGPを話すルーターが、特定のプレフィックスを発信することを許可された特定の自治システムのみを受け入れることを証明します。基本的に、RPKIを使用すると、ルーターから発行されたBGPルートアナウンスメントは、ROA証明書に基づいて署名および検証され、ルートがリソース保有者からのものであること、および有効なルートであることが確認できます。
RPKIを有効にしたネットワークでは、ROAでルートプレフィックスを署名し、RPKI署名が無効なソースからのBGP広告を削除しています。これは、DDoS、スパム、フィッシング、データモニタリングなど、BGPハイジャックに関連する多くの脅威に対する予防策として機能します。
私たちは、インターネットをより安全な場所にするための役割を果たしています。RPKIの詳細については、ARINのドキュメントをご参照ください。
コメント