[Analysis]

「DNSキャッシュポイズニング脆弱性」を風化させるな

2009/01/19

analysis.jpg

 DNSは、インターネットにとってドメイン名とIPアドレスを結び付けるという重要な役割を担っています。近年においては、電話番号からサービスを検索する「ENUM」や迷惑メールに対する技術的対策としての「SPF」といったように、その応用範囲も広がりを見せるようになっています。インターネットが社会的に重要な位置を占めるようになったいま、DNSの安定を図ることは従来にも増してより大きな意味を持つようになりました。

 そうした中で、2008年の夏に話題になった「カミンスキーアタック」は、DNSの信頼性を低下させる大きな脅威です。その仕組みについては各所で解説されていますのでここでは割愛しますが(関連記事)、キャッシュDNSサーバに偽の情報を仕込める可能性の高さは容認できるものではありません。

 日本レジストリサービス(JPRS)では、カミンスキーアタックの問題と対策がクローズアップされた当初より、.JPの権威DNSサーバ(自ドメイン名を管理するDNSサーバ)の1つであるa.dns.jpに来たクエリを継続的に分析しています。その結果が図1です。

図1 カミンスキーアタックに対するパッチ適用状況の推移 図1 カミンスキーアタックに対するパッチ適用状況の推移

 カミンスキーアタックの対策として推奨されているものに、「ソースポート番号の乱数化」があります。a.dns.jpにおいて、同じIPアドレスから来た複数のクエリについてのソースポート番号の特徴を調査し、対策済みかどうかの判定を行えます。この対応状況の変化を示したものが上記図1で、赤線は未対策、緑線は対策済み、黄色線は観測数が不十分(すなわち判定不能)の割合を示しています。これを見る限り、現在でも約2割に相当するキャッシュDNSサーバが未対策であることが読み取れます。

 では、これら未対策のキャッシュDNSサーバが与える社会的影響は大きいのでしょうか? 一般的に考えれば、より多くのクエリを送信しているキャッシュDNSサーバは、より影響が大きいと推定されます。実際にa.dns.jpの観測結果を用いて、影響度の大きさを示したものが図2です。

図2 ソースアドレスごとのクエリ送信量 図2 ソースアドレスごとのクエリ送信量

 この図は、a.dns.jpに送られるクエリをソースIPアドレスごとに集計し、単位時間あたりのクエリ数順に並び替え、クエリ数の積み上げグラフとしたものです。図からは、全体の0.4%程度の少数のサーバが半数のクエリを送信していることが読み取れ、これらのサーバでは速やかな対応が望まれます。

 ところが今回の調査では、こうした多くのクエリを送ってくるキャッシュDNSサーバの中にも、未対策なものがあるケースが散見されています。また、そうしたキャッシュDNSサーバについてIPアドレスの逆引き検索やwhois検索を行うと、日本で運用されていると考えられるものが多く含まれています。

 カミンスキーアタックの対策を行わない場合、最悪のケースではそのキャッシュDNSサーバを利用している人々が意図しない先に誘導され、例えばフィッシング詐欺やボットのダウンロードといった被害に遭うかもしれません。

 この問題に対しては、すでに各ソフトウェアベンダより対応するためのパッチがリリースされています。パッチを適用することにより、先に述べたソースポートの乱数化などの仕組みが組み込まれ、最低限の対策が取れることになります。

 インターネットは、ご存じの通り自律、分散、協調という仕組みで動いています。ぜひそのことを理解し、自身が管理しているキャッシュDNSサーバをもう一度確認し、未対策であれば対応パッチを当てるなどの対策を取ってください。インターネットの安定運用は皆さんの対策にかかっているのです。

 なお、JPRSの「DNS関連技術情報」などでも適宜情報提供を行っています。そちらもご覧ください。

(JPRS 技術本部 白井 出)

関連リンク

情報をお寄せください:



Security&Trust フォーラム 新着記事

注目のテーマ

Security & Trust 記事ランキング

本日 月間