Symantec Security Response Weblog

Implicit Trust in DNS Servers」より
October 12,2007 Posted by Ron Bowes

 Webサイトを閲覧する時,通常はブラウザでWebサイトのURLを入力するか,「お気に入り/ブックマーク」で該当する項目をクリックする。いずれの操作でも,Webサイトのドメイン名(例えば「www.symantec.com」)がユーザーの指定したDNSサーバーに送られる。DNSサーバーはこのドメイン名を受け取り,対応するWebサイトが置かれているサーバーのIPアドレスを送り返す。この仕組みでは,いくつかの興味深い点が出てくる。

 まず,自分が利用しているDNSサーバーを把握しているユーザーはどのくらいいるのだろうか。また,使用するDNSサーバーを知っている場合,このDNSサーバーを管理する人物や会社はどの程度信用できるのだろうか。クライアント・パソコンのネットワーク設定の大部分は,DHCPというプロトコルを使って設定される。DHCPは,コンピュータがローカル・ネットワークに対して設定要求(IPアドレス取得など)用の共通メッセージをブロードキャストするプロトコルだ。ローカル・ネットワーク上のDHCPサーバーはどれでもこのメッセージへの応答として,要求元コンピュータが使うDNSサーバーのアドレスその他の情報を返す。ここで問題が二つある。一つは,返ってきた応答が想定したDHCPサーバーからのものかどうか保証がないこと。二つ目は,適切なDHCPサーバーから応答を得られた場合でも,指示されたDNSサーバーが実際に有効かつ安全なものである保証はないことだ。

 DNSサーバーの大半は,インターネット・サービス・プロバイダ(ISP)が運営している。ユーザーが加入先のISPに接続すると,通常はISPのDNSサーバーを使用することになる。では,このDNSサーバーを実際に管理しているのは誰か。DNSサーバーを管理するこの名もなき人物に悪意がないことを,どうやって保証するのか。この人物はわずか数行のコマンドで,ユーザーがGoogleで実行した検索をリダイレクトし,悪意のあるWebサイトの一覧を表示させることができるのだ。

 DNSサーバーを管理する人物が信頼に値する場合でも,ISPのDNSサーバーのセキュリティはどの程度重視されているのだろうか。DNSサーバーは,外部のユーザーを接続させる必要があるため,攻撃の余地がある。さらに,その他ポートが保守用に開かれていたり,DNSサーバー管理者のコンピュータに攻撃者がバックドアを仕掛けたりする可能性がある。いずれの場合も,DNSサーバーの信頼性はユーザーが期待するほど高くないと想定される。

 DNSサーバーを悪用されると,ユーザーが利用する検索エンジン,Webメール,銀行,オンライン・ストアなどのあらゆるWebサイトが偽物になりかねない。SSL対応のWebサイトは何らかの警告を出すかもしれないが(これについては次の段落で後述する),それでも攻撃の道筋は残される。正規の検索エンジンからリダイレクトすることで検索結果を偽造し,ユーザーを悪意のあるWebサイトに誘導するかもしれない。Webメール・サイトからリダイレクトされ,電子メールのアカウントが盗まれるかもしれない。フォーラムや掲示板サイトから転送され,パスワードが盗み出されるかもしれない(ユーザーの多くが複数のWebサイトで同じパスワードを用いるため,パスワードの盗難はほかの情報が盗まれる場合に比べリスクが高くなるだろう)。これらはいずれもユーザーにとって危険に満ちたものであり,さらに手に負えないことに,ずる賢い攻撃者は,ユーザーの完全に目の届かないところでこれらの悪さをやってのけてしまう。

 ここで救いとなるのがSSLに対応したWebサイト(URLの先頭が「https://」で始まる)は,接続のリダイレクト時に警告メッセージを表示することだ。悪意のあるDNSサーバーを介して銀行のWebサイトを利用しようとした場合,攻撃を仕掛けられる可能性があるとWebブラウザが通知してくれるのだ。ただし,大半のユーザーはこのメッセージの意味やその重要性が分かっていない。

 結論は,DNSサーバーを絶対的に信頼するのは危険だということである。DNSサーバーはほかのコンピュータと同様,悪意ある動作をする可能性を秘めているのだ。


Copyrights (C) 2007 Symantec Corporation. All rights reserved.
本記事の内容執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。

◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,「Implicit Trust in DNS Servers」でお読みいただけます。