日本レジストリサービス(JPRS)は2011年7月5日深夜、世界で最も広く使われているオープンソースのDNSサーバーソフト「BIND9.x」に、サービス妨害(DoS、Denial of Service)攻撃を受ける危険がある深刻な脆弱性が見つかったことを公表し、ユーザーに対してすぐに対策を取るよう呼びかけた。

 JPRSの発表は、BINDの開発元であるISC(Internet Systems Consortium)が同日に脆弱性情報を公開したことを受けてのもの。それによると、BIND 9.xには実装上の不具合があり、named(DNSサーバーのデーモン)に対して遠隔からDoS攻撃が可能になるという。特別に細工されたDNSパケットを受信した場合に、namedが異常終了する。

 今回見つかった脆弱性は、DNSクライアント(スタブリゾルバ)からの名前解決要求を受けて他のDNSサーバーに対する名前解決を実行する役割を果たす「キャッシュDNSサーバー」と、特定のドメイン名の範囲(ゾーン)を管理して他のDNSサーバーなどからの問い合わせに回答する役割を果たす「権威DNSサーバー」の双方が対象となる。このため非常に多くのDNSサーバーが影響を受ける可能性が高い。

 対象となるBIND9のバージョンは、「9.6系列」(9.6.3、9.6-ESV-R4、9.6-ESV-R4-P1、9.6-ESV-R5b1)、「9.7系列」(9.7.0、9.7.0-P1、9.7.0-P2、9.7.1、9.7.1-P1、9.7.1-P2、9.7.2、9.7.2-P1、9.7.2-P2、9.7.2-P3、9.7.3、9.7.3-P1、9.7.3-P2、9.7.4b1)、「9.8系列」(9.8.0、9.8.0-P1、9.8.0-P2、9.8.0-P3、9.8.1b1)となっている。これ以外のバージョンは影響を受けない。

 問題となるのは回避方法で、設定ファイル(named.conf)によるアクセスコントロール(ACL)設定や、コンパイル時または実行時における機能の無効化では、脆弱性を回避できない。ファイアウォールなどで危険なパケットをフィルタリングすることは可能だが、外部(インターネット)に公開しているサーバーの場合、この手は基本的に使えない。つまり、脆弱性に対する一時的な解決策はない。

 唯一の解決策は、「9.6-ESV-R4-P3」「9.7.3-P3」「9.8.0-P4」のいずれかのバージョンにアップグレードするか、ベンダーなどが配布するパッチを適用すること。例えば権威DNSサーバーがDoS攻撃でダウンさせられると、その権威DNSサーバーが管理するドメイン名を使っているサイトやサービスへのアクセスがほぼ不可能になり、大きな混乱が起こることが予想される。DNSサーバーの管理者は早急に手を打つべきである。