JPCERT/CCは2011年11月17日、DNSサーバーソフトとして世界中で最も使われている「ISC BIND 9」にDoS(Denial of Service、サービス妨害)攻撃を受ける重大な脆弱性が見付かったとして注意を呼びかけた。BIND開発元のISC(Internet Systems Consortium)によれば、既に複数のインターネット組織からDNSサーバーがクラッシュしたという報告を受けているという。

 影響を受けるのは、現在サポートが提供されているすべてのバージョンのBIND 9(9.4-ESV、9.6-ESV、9.7.x、9.8.x)。これらを使っているDNSサーバー(DNSキャッシュサーバー)に対して、悪意のある第三者が、(1)遠隔から細工したDNSパケットを送り付けることで不正なレコードをキャッシュさせる、(2)キャッシュサーバーに対してそのレコードを問い合わせる---という手順を踏むことで、DoS攻撃を実施できるという。

 DoS攻撃を受けてサーバーが表明違反(assertion failure)でクラッシュする際には、「INSIST(! dns_rdataset_isassociated(sigrdataset))」というメッセージがログに出力される(該当するソースファイルは「query.c」)。

 ISCによれば、具体的にどのようなDNSパケットを送り付ける(ISCでは“ある種のネットワークイベント”と表現)とこの現象が発生するか現状では特定できておらず、現在調査中であるとしている。

 この脆弱性に対する一時的な回避策は存在せず、唯一可能な対策はISCが公開したパッチを適用すること(9.4-ESV用9.6-ESV用9.7.x用9.8.x用)。DNSキャッシュサーバーに同パッチを導入することで、DNSクライアント(リゾルバ)からの問い合わせを受けたときに、不正なレコードのデータがキャッシュから取り出されないようになり、またクライアントへの応答作成中に不正なデータが表れてもデーモン(named)がクラッシュしないようになるという。

 既に複数の被害報告が出ていることから、DNSキャッシュサーバーを運用しているインターネット組織の管理者は、至急、情報を集めて対応する必要があるだろう。