日本レジストリサービス(JPRS)は2014年12月9日、BIND 9、Unbound、PowerDNS Recursorを含む複数のDNSサーバーソフトにサービスダウンなどにつながる重大な脆弱性が見つかったとして、緊急対策を呼びかけた。「本脆弱性は影響が大きく、関連情報の収集やバージョンアップなどの適切な対応を取ることを強く推奨する」(JPRS)という。

 今回見つかった脆弱性は、ドメイン名とIPアドレスなどの対応付けを行う名前解決プロトコルであるDNS(Domain Name System)の仕様に含まれる「不明確さ」に根本原因がある。DNSでは、ドメイン名の階層を「ゾーン」と呼ぶ単位に分割し、他の組織が管理する「権威DNSサーバー」に下位ゾーンの管理を委任(delegation)することで、分散管理の仕組みを実現している。

 DNSの仕様では、この委任の際に権威DNSサーバーの台数や委任段数、外部名(out-of-bailiwick names)をたどる場合の参照段数などをどの程度まで認めるかといった制限値を規定していない。このためBINDなどのDNSサーバーソフトも特に制限値を実装していないケースが多く、これが脆弱性となる。

 具体的に想定される攻撃シナリオは以下の通り。まず、悪意の持った第三者が、自身で管理するゾーンに対して非常に多い段数の委任を設定するなどの細工を施す。次に、攻撃対象の組織が管理する問い合わせ用DNSサーバー(キャッシュサーバー)に対して、何らかの手段で委任先ゾーンの名前解決(反復的問い合わせ)を実行させる。これにより、攻撃対象のキャッシュサーバーに対して大量のシステムリソースを費やさせるサービス妨害(DoS)攻撃が成立する。