Symantec Security Response Weblog


Phishing without Phishing」より
November 16,2007 Posted by Rob Keith

 11月,米シマンテックの運営するセキュリティ・サイト「SecurityFocus」で「米マイクロソフトのDNSサーバー,スプーフィングのぜい弱性」が目に留まったため,これを少し掘り下げてみようと思う。この問題は,どれほど想像力を働かせようとも,決して複雑なものではない。とはいえ,好ましからざる類の人々,すなわちフィッシング・サイトを利用して,我々が汗水たらして稼いだお金をだまし取ったり,奥底に秘めた秘密を突き止めたりする(フィッシング・サイトによる被害の程度は,必ずしもこの順序とは限らない)個人やグループの関心をひくものであり,大儲けにつながる可能性がある。

 簡単に言うと,攻撃者はDNSサーバーに存在するこのぜい弱性を悪用してDNS情報のキャッシュを汚染(破壊)できる。こうすると,何も知らないユーザーを,本来のWebサイトではなく,攻撃者の指定したIPアドレスに導ける。今回の問題は,DNSサーバーが問い合わせに対して再帰ルックアップを実行する際に生じる(再帰ルックアップは,キャッシュされたエントリがデフォルトで24時間の期限を超えて消された場合か,問い合わせに対するエントリがDNSサーバーに存在しない場合に行われる)。DNSの問い合わせはUDPを使って行われるので,問い合わせに対する応答を追跡/確認するための仕組みが必要となる(トランザクションID)。ところが,Windows 2000 ServerおよびWindows Server 2003で使用されているトランザクションIDは,攻撃者には容易に推測できる。簡単な数学的アルゴリズムで過去に使われたトランザクションIDを2~3個調べれば,次に利用されるものが得られる。攻撃者はこれを悪用し,正当な応答を装いDNSキャッシュを破壊する。

 攻撃は,以下のようなシナリオになるだろう。

・ぜい弱なDNSサーバーを稼働させているコンピュータを突き止める

・同DNSサーバーに対して,攻撃対象のエントリに該当するような問い合わせを行う

・同DNSサーバーは,攻撃者からの問い合わせに応じて再帰ルックアップを行う。この問い合わせの結果,一意の(ただし簡単に算出できる)トランザクションIDが生成される

・攻撃者は,同DNSサーバーに対して,異なるトランザクションIDを持つ,複数の偽装した応答を返す。これらの応答では,攻撃者の管理下にあるWebサイトのIPが提示される

 偽装された応答のいずれかに,上記の問い合わせに対するトランザクションIDが含まれていて,さらに同DNSサーバーが正当な応答を受け取る前にこのトランザクションIDを受信すると,同DNSサーバーはこの偽装された応答を有効なものとみなし,DNSキャッシュを更新してしまう。

 このように破壊されたDNSキャッシュは,結果として攻撃者の手間を一つ省くことになる。被害者を陥れる「フィッシング」(ユーザーを悪意のあるURI(URL)やWebページに誘い込むこと)はもはや必要なくなる。例えばユーザーが「www.example.com」などのアドレスを入力すれば,攻撃者のWebサイトに自動的に誘導されるからだ。DNSキャッシュそのものを破壊する,あるいはこれをほかのぜい弱性(例:SSL証明書のスプーフィング)と組み合わせることで,攻撃者はかつてない威力で,合法的なWebサイトになりすまし,何も知らない被害者たちに悪事を働くことができてしまうのだ。


Copyrights (C) 2007 Symantec Corporation. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,「Phishing without Phishing」でお読みいただけます。