Easy management - our secret sauce. Watch the video tour.
HOME > セキュリティ情報 > プロトコル問題の影響を受けているDNSサーバー 2008年7月9日

プロトコル問題の影響を受けているDNSサーバー 2008年7月9日

プロトコル問題の影響を受けているDNSサーバー

危険度:中

2008年7月9日


【概要】

対象:

DNSサーバーを実行している全ソフトウェアおよびネットワーキング・ディバイス。程度の差はあるが、DNSクライアント使用のソフトウェアやディバイスへの影響もある。

攻撃方法:
攻撃者は細工したDNSクエリと(または)リスポンスをユーザーのDNSサーバー(クライアント)に連続送信する。

影響:
攻撃者は任意のIPアドレスでDNSサーバーのキャッシュをポイズニングすることが可能。ユーザーを悪性のウェブサイトに強制的に誘導する。

対策:
利用しているDNSベンダーが提供するパッチをできる限り早急に導入すること。


【詳細】

DNS(ドメイン・ネーム・サービス)は、人間が読み取れるようにIPアドレスを変換するスタンダード・プロトコルだ。例えばウェブ・ブラウザーでwww.watchguard.comに行く場合、DNSサーバーはそのウェブサイトのアドレスをウォッチガードが登録しているインターネット・ルート可能なIPアドレスに変換する。

CERTの共同的努力によって8日にリリースされたアドバイザリーは、DNSプロトコルを実装する方法に見られる全体的なデザイン欠陥について警告している。この問題は、DNSキャッシュ・ポイズニングと呼ばれる重大なセキュリティ脆弱性に繋がる可能性がある。このデザイン欠陥はDNSプロトコルにあるため、脆弱性はDNSサーバーを実行する様々なソフトウェアやネットワーキング・ディバイスに影響を及ぼす。また、程度の差はあるがDNSクライアントを使っているソフトウェアやディバイスまでもが問題の対象となっている。DNS問題の影響を受けている一般的なベンダーや製品に関する簡単なリストは次の通り。

 Microsoft Windows
  (8日付けのアラートでも説明したように、DNS Server/クライアント・コンポーネント)
 ・Cisco IOS製品
 ・SCのBind
 ・Red Hat Linux
 ・Sun Microsystems SunOS

この問題の影響を受けているベンダーのフルリストに関しては、CERTアドバイザリーのSystems Affectedを参照することを勧める。

DNSセキュリティ研究家として有名なDan Kaminsky(ダン・カミンスキー)は、DNSプロトコルのデザイン欠陥3件を悪用する方法を発見した。パッチを入れるために必要な時間を用意するため、この問題に関係しているカミンスキーやベンダーは、攻撃者がこのセキュリティ問題をいかに悪用するかといった重要な技術詳細情報を一切リリースしていない。関係者は3件の問題について次のような概要のみを提供している。

DNSクエリ、トランザクションIDフィールドの不充分なランダム化:
DNSクエリを作成するにおいて、DNSサーバーやクライアントは、トランザクションIDというクエリのフィールドにストロング・ランダム・ナンバー(簡単に予測できないもの)を使用するべきである。そうしないと、攻撃者がトランザクションIDを推測した場合、攻撃者はその情報を使って正当なリスポンスの代わりにDNSリスポンスの偽装に役立たせることができる。

複数の未解決なResource Recordリクエスト:
同じResource Record(リソース・レコード)をルックアップするリクエストをDNSサーバーが同時に複数受けた場合、生成するRRリクエストは1つであるべきだ。また、その結果はその他のリクエスター(要求元セッション)と共用されるべきであるが、複数の同一リクエストを同じRRに生成するDNSは多々ある。そうした状況は、誕生日攻撃(birthday attack)に繋がる可能性があり、DNSなりすまし攻撃の成功率を上昇させる。

DNSクエリの固定ソース・ポート:
DNSクエリに同じソース・ポートを使用するDNS実装は多々ある。ソース・ポートのランダム化の不足によって、攻撃者はDNS返答のなりすましを実行しやすくなる。

まだカミンスキーが詳細を説明していない方法で、こうした3つの脆弱性を組み合わせた場合、攻撃者はユーザーのDNSサーバー(場合によっては特定のDNSクライアントである可能性もあり)に対してDNSキャッシュ・ポイズニング攻撃を仕掛けることが可能だ。つまり、攻撃者は任意のドメイン名をあらゆるIPアドレスに仕向けることができるようになる。例えば、ユーザーの口座情報を獲得するために攻撃者は、www.bankofamerica.comという、ある銀行のウェブサイト・アドレスを悪性のフィッシング・サイトのIPアドレスに仕向けることができる。また、人気のあるウェブサイトのドメイン名を悪性のドライブバイ・ダウンロード・サイトに仕向け、ユーザーのコンピューターに、任意の破壊工作ソフトを強制させることもできる。つまり、攻撃者がユーザーのDNSをポイズニングできる場合、ユーザーは意図したウェブサイトを実際に閲覧しているのかどうか分からないようになる。

インターネットにおけるDNSキャッシュ・ポイズニングは、非常に深刻で酔いも覚めるような脅威だが、CERTやカミンスキーが技術詳細を提供していないことから、このDNS欠陥による実際の危険性を疑問に思っているセキュリティ・エキスパートも少なくない。概して特定の要素が不足していることに依存する脆弱性を悪用する場合、大方は攻撃者の努力が大いに必要となる。ランダムな要素を攻撃者が推測しやすくする脆弱性も中にはあるが、その度合いは欠陥の技術詳細によって大きく左右される。カミンスキーが彼の攻撃で3つの欠陥をいかに組み合わせたのかを知らずには、どれほどのリスクがあるのか明確ではない。しかし、この脆弱性は非常に深刻なリスクを掲げている可能性があり、様々な製品やディバイスへの影響があるため、影響を受けているすべてのDNSソフトウェアやハードウェアにはできる限り早急にパッチをインストールすることを強く勧める。


【対策】

脆弱性の影響を受けている大方のベンダーは、DNSプロトコル・デザイン問題によるリスクを緩和させるアップデートをリリースしている。この問題の影響を受けているベンダーのフルリストや、ベンダーのアップデート入手先のリンクなどについては、CERTアドバイザリーのSystems Affectedを参照することを勧める。ベンダーのリンクをクリックすると、ベンダーのアップデート入手先であるリンクを載せたページに誘導される。しかし現時点において、CERTの共同的努力のリリースに対応しているベンダーは、まだ多くない点に留意しよう。CERTはそうしたベンダーのステータスを「Unknown」としてリストに記している。ベンダーのステータスが「Vulnerable」に変わっているかチェックするため、CERTアドバイザリーのSystems Affectedを時折見るようにするといいだろう。

使用しているDNSサーバーがこの欠陥の影響を受けているかどうか気になる場合は、ダン・カミンスキーのDoxPara リサーチ・ページを参照することを勧める。ユーザーのコンピューターに指定されたDNSサーバーが脆弱性の影響を受けているかチェックできるように、カミンスキーはメイン・ページの右上端に自動DNSチェッカー・ツールを設けている。ツールを使うにはJavaScriptが必要であるため、ツールをブロックしている場合は、カミンスキーのDoxParaを利用する際にJavaScriptを有効にすること。

注意:
米国時間の7月8日付けのウィンドウズに関するアラートで説明した累積パッチを適用している場合は、このDNS問題に対するマイクロソフトのフィックスを既に取り入れている状態にある。

ウォッチガード・ユーザー対象:

現時点において、この攻撃は通常のDNSトラフィックのように見せかけた状態で移動するということが分かっているが、ユーザーがインターネットにアクセスできるようにしておくには、そうしたトラフィックを許可しなければならないため、ベンダーのパッチをインストールすることが主な対策となる。


【ステータス】

多くのベンダーがこの問題を修正するパッチをリリースしている。


【参考資料】

 ・CERTの DNSアドバイザリー
 ・MicrosoftのDNSに関するアドバイザリー
 ・CiscoのDNSに関するアドバイザリー
 ・BindのDNSに関するアドバイザリー
 ・ダン・カミンスキーのDoxParaリサーチ・ページ


この記事はコーリー・ナクライナー(Corey Nachreiner, CISSP)によって調査され書かれた記事です。