コンテンツにスキップ
ビジネスとIT
古いバグに関する新たな詳細により、BGP プロトコルの脆弱性が再び浮上する可能性があります…
ウェブを徘徊するウイルス、マルウェア、エクスプロイトといった脅威に対し、システムの根本的な欠陥は極めて稀であるはずなのに、ここ2ヶ月は例外的な状況であることが証明されました。7月、ダン・カミンスキー氏は、ユーザーを悪意のあるウェブアドレスに誘導するために悪用される可能性のあるDNSの欠陥を発見したと発表しました。そして今、その発表のほぼ直後、DEFCONで発表したハッカーチームが、インターネットのボーダーゲートウェイプロトコル(BGP)の根本的な設計ミスを利用して、特定のIPアドレスブロックから発信されるすべてのトラフィックを目に見えない形で盗聴できることを実証しました。
Wired のレポートで説明されているように、これらの攻撃ベクトルはどちらも、典型的な意味でのハッキングではありません。システムに悪意のあるコードを挿入するのではなく、DNS 攻撃と BGP 攻撃は、インターネット自体に内在する構造上の弱点を悪用します。 ARPANET が 1960 年代後半から 1970 年代前半に開発されていたとき、設計者は信頼ベースのプロトコルを実装することを選択しました。当時は、これは理にかなったことでした。ARPANET は比較的少数の大学と政府機関間の通信ネットワークでした。今日のインターネットは、ARPANET の予測された規模を何桁も超えて成長しています。インターネットがこれほどまでに拡張できたという事実は、その基盤を築いたエンジニアとその後のエンジニアたちの功績を証明していますが、1970 年代には理にかなった信頼ベースのプロトコルは、今日では意味をなさないのです。
BGPの「すべての人を信頼する」システムにおける欠陥は、新しいものではありません。1998年、ハッカーからセキュリティ専門家に転身したピーター・ザトコ(別名マッジ)は、BGPへの攻撃によってインターネット全体がダウンする可能性があると議会で証言しましたが、この問題は真剣に検討されることはなく、インターネットを破壊しないBGPのより安全な代替手段の開発は遅れています。今月初め、アントン・カペラ(5Nines Dataのデータセンター/ネットワークディレクター)とアレックス・ピルソフ(PilsoftのCEO)は、ザトコがArsに語ったように、彼の攻撃と「似ている」ものの、細部は一部異なるという攻撃を実演しました。どちらのケースも、BGPが信頼に関して行っている基本的な前提を悪用し、特定のIPアドレス範囲内のデータを盗聴します。攻撃の最初の部分は標準的なIPハイジャックですが、その前に、誰もがルールを守った場合のBGPシステムがどのように機能するのかを見てみましょう。
BGPとIPハイジャック
ルーターは情報要求を受信すると、IPアドレスで応答します。これがDNSの仕組みです。IPアドレスを受信すると、ルーターはその特定の場所への最適な経路を見つける役割を担います。このために、ルーターは経路情報が格納されているBGPテーブルをスキャンします。「最適な」経路とは、ルーターが実際に探しているアドレスに可能な限り近い経路のことです。
例えば、ルーターがIPアドレス123.255.189.25を探しているとします。123.xxx.xxx.xxへの接続をアドバタイズしているルーターが12台ほど見つかるかもしれませんが、これは非常に広範囲な範囲です。ルーターは、123.255.xxx.xxxへの接続をアドバタイズしているISPやその他のネットワークにデータを送信することを選択します。123.255に到達すると、新しいルーターはBGPテーブルを確認し、最も近いアドレスを見つけてパケットを転送します。
このシステムは、信頼関係が維持されている限り機能します。BGPテーブルから情報を要求しているルータには、データの転送先のアドレスが実際に最適なパスであるかどうかを確認する方法がありません。ルータは、受信する広告(AS)が有効であると想定しているため、最適なパスであると想定します。IPハイジャックの第一歩は、この信頼関係を破壊し、偽の情報をアドバタイズすることです。ハッカーが123.255.189.25(またはそのアドレスブロック)に向かうすべてのトラフィックを確認したい場合、ハッカーは自らをこれらのアドレスに特化したルータとしてアドバタイズします。ハッカーのアドバタイズは受信され、再送信され、あっという間に、ハッカーは必要な情報を受け取ることになります。
IPハイジャックがそれほど一般的でない理由は、その手口が極めて目立ちやすいからです。パキスタンが自国民のYouTubeへのアクセスをブロックしようとした際、YouTubeアドレスをブラックホール(本来の宛先ではない場所)にルーティングすることで対処しました。しかし残念ながら、そのルーティング情報はインターネット上に流出し、地球を一周し、世界中からYouTubeにアクセスできなくなってしまいました。YouTube自体は存在していたものの、誰もそれを見ることができませんでした。これはおそらく、これまでで最も明白な(意図しない)IPハイジャックの事例でしょう。しかし、小規模な試みは、被害を受けた企業や組織にとって、通常、同様に明白です。これまでは傍受は容易でしたが、検出も容易でした。
しかし、ピロソフ氏とカペラ氏は、通信を傍受し、それを本来の受信者に転送する方法を発見し、実証しました。これは通常不可能です。特定のアドレスへの最も直接的なルーターとして確立されると、ハイジャッカーが追跡しようとするデータは即座に返されてしまいます。ピロソフ氏とカペラ氏は、特定のルーターに送るIPアドレスの先頭に番号を付加することで、この問題を回避します。先頭に番号を付加するとは、特定のルーターが確実にそのアドレスを拒否するように、自らがアドバタイズした経路に番号を追加することです。ルーターがアドレスを拒否すると、ハッカーは転送するデータをそのルーターに送ります。データは処理され、ルーターが想定する宛先に送信され、最終的に本来の受信者に転送されます。
結果はどうなったでしょうか?エンドユーザーは何も起こっていないことに気づきません。そして、他の誰にも気づかれません。チームによると、彼らが用いるリダイレクト方式は事実上証拠を残さず、発見するには専門家の分析が必要になるとのことです。この問題を解決する唯一の方法は、プロセスの各ステップで署名と認証を可能にするシステムを開発することです。このようなシステムの開発に取り組んできたワーキンググループは複数存在し、少なくともそのうちの一つであるSecure BGP(S-BGP)は、概念実証ソリューションとして実証されています。しかし、追加の証明書を処理し、その真正性を検証するには、現世代のルーターにかなりの処理能力を投入する必要があり、トラフィック処理能力に影響を及ぼします(仮に両方のタスクを同時に処理できたとしても)。シスコをはじめとするネットワークベンダーは、顧客に新しい機器を販売したいと考えているでしょうが、まずはその機器を開発・テストし、新しいプロトコルを採用する必要があり、対象となる企業は自社のネットワークインフラの大部分を置き換えるという負担を負わなければなりません。
ArsはBGP脆弱性の深刻さについてZatko氏にインタビューし、この問題が誇張されているのではないかと尋ねました。Zatko氏は「BGP攻撃とDNS攻撃は少なくとも同等だと考えています」と答えました。「インターネットを日常的に利用するには、両方のプロトコルとインフラが必要です。しかし、DNSがなければ、パケットはIPアドレスからIPアドレスへと伝わります。逆は成り立ちません。友人のDan Kaminsky氏が最近、よく知られているDNSキャッシュポイズニングのトリックを非常に簡単に実行できるようにしました。ですから、その点ではDNS攻撃の方が多くの人にとってより容易に実行できるのではないかと思います。」
残念ながら、カミンスキー氏のDNS脆弱性と、ザトコ氏、ピロソフ氏、カペラ氏が取り組んできたBGPエクスプロイトには、非常に重要な違いが1つあります。カミンスキー氏の脆弱性は7月まで公表されず、その時点では既に解決策が考案され、必要なユーザーにはパッチが提供されていました。一方、このBGP攻撃ベクトルはすぐにパッチが提供される見込みがなく、どのセキュアプロトコルをサポートするかについてもベンダー間の合意が得られていません。SBGPは1つの選択肢ですが、シスコは独自の解決策(soBGP)を提案しており、他にも複数の選択肢があります。プロトコルの合意が得られるまで、この問題を修正する見込みはありません。つまり、これは当面の間、未解決のままとなる脆弱性の一つです。
0 コメント
コメントは締め切られています。