cNotes 検索 一覧 カテゴリ

経路ハイジャック 対策 ?DNSを一番気にするべきなのかな?

Published: 2008/05/24

基本的に経路ハイジャックを意図的に攻撃に利用するのはとても敷居が高いと思っています。できないし、できたとしても明確な痕跡が残るし。本当に戦争になったときにしか意図的な利用はないんじゃないかと。そしてそのときはインターネットは全滅してるんじゃないかなぁと。そんな場面でしかつかえないんじゃないかなぁと。

今現在発生している問題の原因もミスオペレーション、ミスコンフィギュレーションばかりだし。世の中の賢い攻撃者は、破壊力は高いけど、入手困難で、利益の得られない、リスクばかりが高い武器は使わないでしょう。

ただし、攻撃利用の話は置いといて、どこかの知らない国の誰かのミスオペレーションで簡単に自分のネットワークが通信できなくなってしまうのはあまりにも痛いので、対策の検討必要でしょう。

で、問題を絞って考えると、一番効率的に?被害を受けるのはauthorativeなDNSがやられてしまうことかなと。これだけで自分のドメインがインターネット上から消えてしまうのでサーバーやメールは全滅するんじゃないでしょうか?ISPさんのDNSがやられればそのISPのサービスはほぼ全滅です。

と思ったのも、今年に入って何度か発生したGoogleの不調の原因がDNS関連らしいこと、そしてその経路情報について話題になっていましたので。

たとえばgoogle.comには下記のように4台のauthorityサーバーがいます。

 ;; QUESTION SECTION:
 ;google.com.                    IN      SOA
 
 ;; ANSWER SECTION:
 google.com.             86400   IN      SOA     ns1.google.com. dns- admin.google.com. 2008052104 7200 1800 1209600 300 
 
 ;; AUTHORITY SECTION:
 google.com.             5611    IN      NS      ns4.google.com.
 google.com.             5611    IN      NS      ns2.google.com.
 google.com.             5611    IN      NS      ns3.google.com.
 google.com.             5611    IN      NS      ns1.google.com.
 
 ;; ADDITIONAL SECTION:
 ns1.google.com.         5611    IN      A       216.239.32.10
 ns2.google.com.         6208    IN      A       216.239.34.10
 ns3.google.com.         194024  IN      A       216.239.36.10
 ns4.google.com.         12489   IN      A       216.239.38.10

問題なのはこのサーバーがすべて同一のNW(216.239.32.0/19)上に存在していることです。216.239.32.0/19をハイジャックしてしまえばgoogleのすべてのサービスを利用不能にすることができるというわけです。(IPアドレス直打ちする人とか別にして)

つまり、イントラに縮小して考えれば、サーバーは2台で冗長構成にしていても、その2台を同じHUBに挿してたらダメじゃん!HUBが壊れたら全滅じゃんということと同じかな。

ここで実際の経路情報はどうなっているかというと、

 *  216.239.32.0/19  134.55.200.1                           0 293 15169 i
 *  216.239.33.0     134.55.200.1                           0 293 15169 36385 i
 *  216.239.34.0     134.55.200.1                           0 293 15169 i
 *  216.239.38.0     134.55.200.1                           0 293 15169 i
 *  216.239.44.0/23  134.55.200.1                           0 293 15169 36384 i
 *  216.239.50.0/23  134.55.200.1                           0 293 15169 i
 *  216.239.58.0/23  134.55.200.1                           0 293 15169 i
 *  216.239.60.0/23  134.55.200.1                           0 293 15169 i

こんな感じで、216.239.32.0/19だけではなく、216.239.34.0/24と216.239.38.0/24の経路が流されていて、サーバーの経路情報は3つ?に分散されていることになります。いわゆるlongestmatchで/24の経路の方が優先です。これなら216.239.32.0/19がやられてものこり2経路には影響ないので2台のauthority DNSは生き残ります。(細かい話をすればそうとも言い切れないのですが、とりあえず)

なるほどそういう対策か?と、一瞬最近のトラブル対策で経路ハイジャック対策を行ったのかと思っていましたが、2006年からこの状態みたいなので別の理由なのでしょう。サーバーの分散の手抜きをごまかしているのか、別の意図なのかわかりませんが。

じゃぁ日本のプロバイダさんのAuthorative DNSはどうなっているかというと・・・

ほとんどのISPさん、残念です。

たぶん実際の物理構成、論理構成的には分散されているんだと思いますが、流されている経路情報的には/16や/18にまとめられているのは仕方のないことです。ただ経路ハイジャックの問題を表層的な話ではなく本当に考えるならこの辺から考えていく必要があるでしょう?

とはいっても、対策のためにみんながハイジャックされにくい細切れ経路を流し始めたら「経路テーブルがあふれてしまう問題」を助長することになるのでそっちの方が悩ましい・・・入り口も出口もないじゃないか・・・

企業さん等はプライマリDNSは自分もち、セカンダリDNSをISPに任せるような形態のサービスを受けている方が多いと思いますが、それが正解です。

これらの攻撃を発展させればL.ROOTのような形でのフィッシングにつながりますが、現実には「BGP経路ハイジャック」という形では発生しないと思います。ハイジャック+フィッシングでありうるのは、昔からあるarpスプーフに近い形のものバリエーションやDNSハイジャックで、かなり危険です。

「BGP経路ハイジャック」はあくまでもミスオペであり、その対策とは、サイバー攻撃対策ではなく、他人のミスオペなんかで簡単にネットワークがやられてしまわないようにする努力じゃないかと思ってたりします…

なんだか目的意識がずれてる議論が多いんじゃないかなぁと・・・

[カテゴリ:routing system security]

by jyake