Cloudflareは米国時間4月18日、BGP(Border Gateway Protocol)の経路の漏えいやハイジャックは長い間避けられないことだと見なされてきたが、この状況はもう終わりにすべきだとして、インターネットサービスプロバイダ(ISP)のBGPの安全性をチェックするツールを公開した。
BGPはISP(インターネットサービスプロバイダー)の経路制御に使われているプロトコルで、1980年代から使用されている。これまで幾つもの改善を経てきている。例えば、TLS(Transport Layer Security)やDNSSEC(DNS Security Extension)などの安全性を確保する手段の導入や、経路の漏えいやハイジャックを防ぐためのRPKI(Resource Public Key Infrastructure)などのプロジェクトがそれに当たる。
ただし、ISPレベルでの攻撃は今も続いている。例えば、ロシアの国営通信プロバイダーであるRostelecomは、BGPのハイジャックを意図的に繰り返しているのではないかと疑われている。
また2019年には、中国電信(チャイナテレコム)が欧州のトラフィックを2時間にわたって同社のサーバーに引き込んだ。ただし、このインシデントが意図的なものだったのか、人為的なミスだったのかは明らかになっていない。
BGPのハイジャックは、データの侵害やインターネットの機能停止につながる可能性がある。
Cloudflareは同日、「そろそろBGPを安全にすべきだ」と述べ、もはやISPには行動しない言い訳はできないと主張した。同社は、ISPの説明責任を問うための試みとして、インターネットユーザーが、自分が使用しているISPがRPKIを使用しているかどうかを確認することができるウェブサイト「isBGPSafeYet.com」を立ち上げた。RPKIはBGPが不正な経路情報をフィルタリングするための仕組みだ。
このテストでは、RPKIを使用しているかどうかを検証するために、2つのプレフィックスを使用している。このページにアクセスすると、ブラウザーから「valid.rpki.cloudflare.com」と「invalid.rpki.cloudflare.com」の2つのページが読み込まれる。最初のページは、RPKIを使用しているプレフィックスの背後にあるネットワークに置かれており、2つ目のページはRPKIを使用していないプレフィックスのネットワークに置かれている。
もし両方のページが問題なく取得できた場合は、利用しているISPは無効な経路を受け入れており、RPKIを使用していない。Cloudflareによれば、valid.rpki.cloudflare.comのページしか取得できなかった場合、使用しているISPはセキュリティ対策を講じており、ユーザーは「経路漏えいの影響を受けにくい」状態にあるという。
ISPをテストした結果、RPKIが使用されていないことが判明した場合、ウェブページには次のツイート可能なメッセージが表示される。
残念ながら、私が利用しているインターネットプロバイダー(XXX)はBGPを安全な形で使用していません。自分が利用しているISPがBGPを安全な形で使用しているか、それともインターネットを悪質な経路ハイジャックに対して脆弱な状態のままにしているかを調べたければ、https://isbgpsafeyet.comをチェックしてみてください
つまり同社は、周囲からの圧力によって、ISPのRPKI導入を促進しようという考え方を取っているということだ。
RPKIはBGPハイジャックを完全に防止できるわけではないが、同社によれば、このテストはRPKIを導入しているネットワークの約半数が情報漏えいの影響を受けにくい状態にあることを示しているという。
isbgpsafeyet.comで使用されているスクリプトはGitHubで入手できる。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。