Enterprise Watch
最新ニュース

DNSの生みの親・モカペトリス氏が語る、キャッシュポイズニング脆弱性の現状

「ポートランダム化もすでに破られている」

 米Nominumは8月26日(米国時間)、キャッシングDNSサーバープラットフォーム「Vantio」における、DNS脆弱性に対するセキュリティパッケージを発表した。先日ダン・カミンスキー氏が公開し話題となっている新たなDNSキャッシュポイズニング脆弱性(以下、カミンスキー脆弱性)を突いた攻撃を含むさまざまなアタックを、インテリジェントな多層型の防御構造によって防御できるという。これに伴い8月28日、Nominumは都内で会見を開き、DNSの生みの親で、同社会長兼チーフサイエンティストのポール・モカペトリス氏がカミンスキー脆弱性に関する説明を行った。


7月に公開された「カミンスキー脆弱性」とは?

DNS生みの親のポール・モカペトリス氏
 モカペトリス氏はまず「Webも電子メールもSIPも何もかもすべてがDNSに依存している。脆弱性が突かれれば、誰もが被害に遭う可能性がある」と、DNSにおける脆弱性の影響の高さを指摘。その上で、先日公開されたカミンスキー脆弱性に関する説明を行った。

 さまざまなキャッシュポイズニング攻撃がある中で、カミンスキー脆弱性を突く攻撃は、“毒入れ”を高速化することでDNSのキャッシュをスプーフィングするのが特徴。カミンスキー氏がその可能性に気づき、2008年3月からさまざまなエキスパートにより、どう対応すべきかが検討されていた。7月8日には、米CERTが問題を明らかにしたが、詳細は未公開。公表しないようにとの勧告も出る中、あるセキュリティアナリストが7月23日に攻撃手段の詳細を公開してしまった。これを受け8月6日、カミンスキー氏が脆弱性の詳細情報を公開したことで、日本でも大きな話題となった。

 カミンスキー脆弱性を突く攻撃では、DNSキャッシュサーバーに対して攻撃者が膨大なクエリを発行。同時に偽のレスポンスも大量に送信することで、権威DNSサーバーが返す正当なレスポンスに成り代わって、攻撃者に利益をもたらす情報(キャッシュ)により、DNSキャッシュサーバーを汚染してしまう。

 「攻撃者の偽のレスポンスと、権威DNSサーバーの正当なレスポンスの競争となるわけだが、そのスタート合図は攻撃者のリクエスト発行のタイミングとなる。攻撃者がスターターとなるのだからどちらに分があるかは明白だ。また1件1件レスポンスを返す権威DNSサーバーに対して、攻撃者は大量にレスポンスを送信することもできるので、この競争はあらかじめ勝者の決まったデキレースとなる」(モカペトリス氏)。


すべてがDNSに依存するため、誰もが影響を受ける カミンスキー脆弱性 カミンスキー脆弱性が発見されてからの経緯

ソースポートランダム化による防御も突破されている

カミンスキー脆弱性が発見されてからの経緯
 この攻撃に対しては、20世紀から有効とされてきた、DNSの基本的な防御手段も大幅に無効化してしまうという。「DNSは一般的に、情報タイムアウト(TTL)、クエリの処理待ち(Q)、レスポンスのマッチング(ID)の3階層の防壁により保護されている。TTLでサーバーは保持していないデータのみを受け入れ、Qで処理待ちのクエリがある場合にのみレスポンスを受け入れ、IDで正しいIPアドレス・ポート・16ビットIDフィールドからのレスポンスのみを受け入れる」(同氏)。こうした手法により保護されてきたDNSだが、TTL防御を突破するために存在しないネームで攻撃するなど、キャッシュポイズニング攻撃の手法も洗練化が進んでしまった。

 「カミンスキー脆弱性を突く攻撃では、さらにQ防御も破られてしまい、残されたのはID防御のみとなってしまった。しかし、これも総当たり攻撃を行えば、いつかはレスポンスのマッチングが取られ、不正なレスポンスが受け入れられてしまうことになる」(同氏)。

 そこで有効な対策としてJPCERT/CCも推奨しているのが、DNSキャッシュサーバーのソースポートをランダムに変更する「UDP Source Port Randomization(USPR)」というもの。IDのみでマッチングをかけた場合、攻撃が成功する確率は1/6万5536だが、USPRを採用することで1/42億9496万7296まで下げることが可能になるという。とはいえ、それでも確率を下げるに過ぎないのだ。「この防御も十分ではないということが、理論的にではなく実験的に証明されてしまっている」とモカペトリス氏は語る。

 「ある実験では、GbEで2台の機器を使用し、10時間で60億分のパケットを投げた結果、USPRの防御が10時間で突破されてしまった。しかもこの実験者はツイていなかった。平均すると、この攻撃はもっと早く効果を発揮するのが分かっている。もし、この攻撃にボットネットが利用されたら時間はもっと短くなるだろう。.comや.jpのネームサーバーを攻撃すれば、下位のすべてのネームを所有することができてしまう、非常に危険な攻撃なのだ」(同氏)。


カミンスキー脆弱性も保護できる「Vantio」

エンジニアリング担当バイスプレジデントのサンディ・ウィルボーン氏

Defense-in-Depthによる多層型防御

クエリのスクリーニングやグルーレコードの隔離により、確率論ではなく攻撃者の不正なレスポンスを完全排除
 Nominumが発表したVantioの最新パッケージでは、カミンスキー脆弱性も確率論的にではなく完全に保護することが可能という。特長は「徹底した防御基盤(Defense-in-Depth)」によるインテリジェントな多層型防壁を備える点。これにより「あらゆるタイプのキャッシュポイズニング攻撃を阻止することができる」とエンジニアリング担当バイスプレジデントのサンディ・ウィルボーン氏は語る。

 具体的には、「Deterrence Layer(抑止層)」「Defense Layer(防御層)」「Resistance Layer(抵抗層)」「Remediation Layer(修復・対策層)」の4つのセキュリティ層を備えている。

 抑止層では、USPRにより防御を行う。

 防御層では、「Detect and Defend」機能により、クエリパラメータの一致しないレスポンス(スプーフィング)を検知し、安全な接続を通じてクエリの再送信を行う。リクエスト・レスポンスのループから攻撃者を排除することで攻撃を弱体化できるという。

 抵抗層では、クエリレスポンスの「Screening(予防検査)」機能により、悪意あるデータが適正なユーザーに対するクエリレスポンスに使用されないようにする。

 修復・対策層では、攻撃を検知した際にアラートを発信すると同時に、攻撃を記録する。これにより、攻撃者を識別し、ネットワークオペレーターが必要な対応措置をリアルタイムに実行することが可能になるという。

 モカペトリス氏は、「USPRは新たな脆弱性に対する措置の第一歩である。キャッシュポイズニング攻撃にはさまざまな手法があり、カミンスキー脆弱性を突いたレスポンススプーフィング攻撃はそのうちの1つに過ぎない。USPRはこのリスクを軽減できると考えられているが、明確な意図を持つ確信犯的な攻撃者による、ほかのタイプの攻撃には大きな効果が期待できない。また、今後も、ほかの手法も組み合わせた新たな攻撃が出てくるだろう。そうした攻撃を阻止するために、当社の新たなセキュリティ機能は不可欠な存在。当社では、DNSを守るには多層的防御が重要と考え、今後も新たな防御層を開発していくつもりだ」とした。



URL
  Nominum
  http://www.nominum.com/

関連記事
  ・ DNSキャッシュポイズニング脆弱性、JPCERT/CCが“緊急”で再注意喚起(2008/07/25)


( 川島 弘之 )
2008/08/28 19:51

Enterprise Watch ホームページ
Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.