Derek Callaway氏のゲスト寄稿
この記事は、過去一ヶ月間のBIND名前サーバの更新状況に関する近似を提示することだ。最近の更新は、Dan Kaminsky氏のDNSキャッシュポイズニング脆弱性に対応するために行われた可能性が高い。この調査を行ったのは、一般に対してUS-CERTが最初にこの脆弱性の性質とパッチが提供されていることを警告してから1ヶ月経過した状況で、どれだけのBIND名前サーバが更新されているかを知りたかったからだ。
Kaminsky氏はBlack Hat Las Vegas 2008でのDark Readingのインタビューの中で、Fortune 500企業の70%がパッチを適用したと見積もっていた--しかし、インターネットの残りの部分についてはどうだったのか。私は初め、米国政府のネットワークに対してだけ名前サーバのバージョン問い合わせの調査を行うことを検討したが、そのままでも十分に説得力のある結果になるだろうと判断した。
(参照:Vulnerability disclosure gone awry: Understanding the DNS debacle)
この調査では、以下のような仮定を置いている。
- 名前サーバーが通知してくるバージョン番号とパッチレベルは正しい。
- 適切にパッチを適用した名前サーバーが、ポートアドレス変換ゲートウェイが原因で脆弱性を持つことはない。
- Open Directory Projectから得られたドメイン名は、BIND名前サーバ全体の代表標本である。
従って、ここで示す計測結果は、概算としてしか扱うことはできない。この調査のために、私は次のような処理を行うbashのシェルスクリプトを書いた。Open Directory Projectのコンテンツファイルをダウンロードして、3文字のトップレベルドメインを持つドメインを無作為に選び、それらのドメインのDNSコンテンツサーバーに対してバージョンの問い合わせを行い、このBINDのバージョン番号からDNSキャッシュポイズニング脆弱性に関する修正が行われているかどうかを判定する。この処理を、1000件のドメイン名に対して行い、その結果を分析する。バージョンの問い合わせに対して適切な応答が無かった場合、例えばタイムアウトが生じたり、BINDのバージョン番号として正しくない文字列が返ってきた場合には、そのドメインのデータは破棄する。
私の調査結果は以下の通りだ。
まず、調査結果を説明するために、いくつかの言葉を定義したい。「Un-Patched」(未パッチ)は、そのドメインの少なくとも1つの名前サーバが、DNSキャッシュポイズニング脆弱性を修正するパッチが未適用であることを意味する。従って、全体としてもCVE-2008-1447に対しては脆弱であると言える。「Out-Dated」(旧式)はそのドメインの少なくとも1つの名前サーバーが1年以上更新されておらず、CVE-2008-1447に加え、それ以前のCERTの勧告で指摘された問題に対しても脆弱であることを意味する。「Dinosaur」(時代遅れ)は、最後に更新されたのが2002年以前である名前サーバを持つドメインであることを示している。「Up-To-Date」(最新)は、そのドメインのすべての名前サーバーは最近更新されており、Kaminsky氏のCVE-2008-1447を含む公に知られているすべての脆弱性に対する対処が行われていることを意味する。
上記の定義に従うと、現状は以下のようになる。
- 950のドメインに脆弱性が存在
- Un-Patched(未パッチ):319
- Out-Dated(旧式):593
- Dinosaurs(時代遅れ):38
- 336のドメインが再帰クエリを行う名前サーバを持つ
- そのうち、327がキャッシュポイズニング脆弱性を持つ
- 69のドメインがゾーン転送を行う名前サーバを持つ
- 50のドメインがUp-To-Date(最新)の状態
事前に行ったテスト実行でも同様の結果が得られており、これらの数字は悪くない推定だという感触を持っている。繰り返すが、この実験の対象となったドメインは、デフォルトのVERSION.BIND文字列を返したものだけに限られている。それでも、この脆弱性がインフラとしてのインターネットの大きなセキュリティホールであり、かなり大きく報道され、パッチが公開されてから1ヶ月以上が経過していることを考えると、このパッチの適用が進んでいない状況はかなり深刻なものだ。
このページで、この調査の実施方法を説明した。このページにシェルスクリプトの出力を示した。このページに、シェルスクリプトが実行したツールの出力を示した。
* Derek Callaway氏はコンピュータプログラマー兼セキュリティアナリストである。彼はアプリケーションやシステムアーキテクチャの分析、侵入テストなどを行っている時以外には、脆弱性の調査やセキュリティツールの開発を行っている。彼は現在、Security Objectivesの動的バイナリ分析ツールの開発チームに所属している。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ