SCAN DISPATCH :インフラ攻撃(2) BGP中間者攻撃による、インターネットトラフィックの盗聴 | ScanNetSecurity
2024.05.04(土)

SCAN DISPATCH :インフラ攻撃(2) BGP中間者攻撃による、インターネットトラフィックの盗聴

 SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。

国際 海外情報
 SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。

──

 自社のインターネットトラフィックが、知らない間に盗聴されている…。そんなシナリオを可能とする新手のインフラ攻撃、BGP中間者攻撃(BGP Man in the Middle Attack)が研究者の間で話題になっている。

 この攻撃手段を使うと、「任意の被害者向けのトラフィックを攻撃者のサイトを中間するようにリダイレクトしてそのトラフィックを盗聴、改ざん」できる。この攻撃はBGP4プロトコルの仕組み自体を悪用したものなので、脆弱性を修繕すれば攻撃ベクターが無くなるタイプのものではなく、攻撃を検知するには、BGP警報サービスによってトラフィックを監視してもらう必要がある。現在のところこの一部の人しか攻撃の危険性を理解していないないため、防御手段を施している組織は少ないと推測されている。

 去年のDEFCONにて、"Stealing the Internet: An Internet Scale Man-In-The-Middle Attack"というタイトルのBGP中間者攻撃の実例のプレゼンがあってから、この攻撃手法には注目が集まっていた。今年のBlackHat DCでは、このコラムで何度か紹介したRenesys社のEarl Zmijewski 氏が、"Defending Against BGP Man-In-The-Middle Attacks"というタイトルにて更なる仔細をプレゼンしている。Zmijewski 氏のプレゼンは、DEFCONでのAlex Pilosov氏とTony Kapela氏が発表した実例を基に、攻撃の仔細、回避方法、そして在野での攻撃例の収集結果をまとめたものだ。

 BGP中間者攻撃は、去年の2月にパキスタン政府の要望でパキスタン・テレコムがYouTubeへのアクセスを遮断した事件のように「攻撃者が被害者のアナウンスよりも一層スペシフィックなprefixをアナウンスすることによって」トラフィックをリダイレクトすることから始まる。が、これだけだと、リダイレクトされたトラフィックは被害者に届かないため、被害者はすぐに気がついてしまう。そこで、リダイレクトしたトラフィックを、被害者に気付かれないように被害者に戻す部分が今回の攻撃の中心となる。

 ご存知のようにインターネットトラフィックは、どんな組織でも自由に参加できるBGP4というシステムとプロトコルでその道順(パス)が決定されている。参加している組織はAS(Autonomous System)と呼ばれ、それぞれ個別のAS番号(ASN:Autonomous System Number)が与えられる。BGPのルールは、ASNはそれぞれが「自分はだれそれのASN行きのルートを持っている」とアナウンスし、近隣のASNがこれを受け取り一番スペシフィックなパスを選択する、というシンプルなもの。どこかの国際的な組織ががこれを決定するものでもない。このルールは「ASNは全て善人」という信頼を基礎にして成り立っている。つまり、攻撃者のASNも問題なくBGPに参加できるのだ。そのため、攻撃者のASNが一番スペシフィックなパスをアナウンスすれば、トラフィックは攻撃者のASN経由に流れてしまう。

 攻撃自体は非常に簡単だ。攻撃者ASNを100、被害者を200としよう。ASN200が10.10.220.0/22をアナウンスする。ASN200とASN100との間の正規のトラフィックが、ASN20とASN10を経由して流れている。攻撃者ASN100は、この正規のパスを崩すことなく、ASN30やASN40からASN200に行くトラフィックを、全てASN200経由で流れるようにしたい。そのためにASN100は、10.10.220.0/23 and 10.10.222.0/23という、より一層スペシフィックなprefixにASN10、ASN20、そしてASN200をプリペンドしてアナウンスする。こうすることによってASN200行きのトラフィックの90%は、ASN100を経由することになる。

 さて問題となるのは、この攻撃を被害者が検知できるかどうかだ。被害者が自分自身でそれを行うのは難しく、第三者の"looking glass server"と呼ばれるサービスを使ってチェックする。Looking glass serverとは、一般公開されているlooking glass softwareが作動しているサーバだ。このサービスを使えば攻撃の有無を確認できるが、攻撃者は被害者向けのパケットのTTLをわざと長くすることによって、自分が特定されることを回避できる。図1が攻撃者がTTLを調整していないTracerouteで、10から19までが攻撃者のホップだ。図2が攻撃者が10から19のホップをTTLを調整したことで消去してたTraceroute。ホップの9と10の間に異常な遅れが見られるだけであとは正常に見える。また、攻撃者が被害者に地理的に近い場合は、図2の場合で9から10のホップ間にかかる時間も小さいため、これだけではBGP中間者攻撃が行われているかどうかは特定できない。

図1:
https://www.netsecurity.ne.jp/images/article/bgp01.jpg

図2:
https://www.netsecurity.ne.jp/images/article/bgp02.jpg

 「わが社はHTPPSやVPNを使っているから大丈夫」と誰もが考えるだろうが、Zmijewski氏は「誰と誰がインターネットでどのようなトラフィックをどれほど頻繁に交換しているかということが分かるだけでも、諜報する価値はあるし、暗号化されているパケットを改ざんして混乱を招くことも可能」と言う。また「VPNの暗号はそれほど強いものでなく、平文化もある程度のコンピューティングパワーがあればできるし、HTTPSの中間者攻撃はすでに存在する」から、そう安心もできない。

 そこで必要となってくるのが、BGP警報サービスだ。Zmijewski 氏が推薦する(Zmijewski 氏の社のRenesys Routing Intelligenceも含む)ものは、

・IAR (Internet Alert Registry)
・PHAS (Prefix Hijack Alert System)
・RIPE NCC MyASN Service
・BGPmon
・WatchMY.NET
・Renesys Routing Intelligence

がある。こうしたサービスを使う場合でも、自組織の全てのprefixのアナウンスメントをきちんと書き出してそれをBGP警報サービスに知らせて、両方を常にシンクロナイズしておく必要があるので、大組織の場合はなかなか大変だろう。また、自社がBGP警報サービスを使用していても、取引先が使用してなければ無意味にになる。

 さて、Zmijewski 氏は、BGP中間者攻撃検知用のアルゴルリズムを開発し、これを2008年7月から2009年1月までのインターネット全体のBGPデータにかけてみた。その結果…

【執筆:米国 笠原利香】


【関連記事】
SCAN DISPATCH :インフラ攻撃(1) 初のルータとDSLモデムを攻撃するボット
ネット・ワーム
https://www.netsecurity.ne.jp/2_13143.html
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×