Enterprise Watch
最新ニュース

DNSキャッシュポイズニング脆弱性、JPCERT/CCが“緊急”で再注意喚起


 有限責任中間法人JPCERT コーディネーションセンター(以下、JPCERT/CC)は7月24日、7月9日に公表された「複数のDNSソフトウェアにおけるキャッシュポイズニングの脆弱性」について、攻撃ツールが公開されるなど被害の可能性が高まったなどとし、あらためて“緊急”レベルで注意喚起を行った。

 同脆弱性は、DNSクエリのIDが16ビットしかないプロトコル上の制限に加え、キャッシュサーバーとして動作するDNSソフトで問い合わせを送信するソースポートを固定している場合に、キャッシュポイズニングが成立する確立が高くなる問題。特にTTL(Time To Live)が短いレコードが攻撃対象となった場合、同脆弱性におけるリスクが高まるという。

 同脆弱性を突いたキャッシュポイズニング攻撃により、DNSキャッシュサーバーに偽のDNS情報をキャッシュさせることができ、その情報を基にしてWebにアクセスするノードが、偽のWebサイトに誘導される可能性がある。

 影響を受ける主要な製品は、BIND(8を含む)、Microsoft DNSサーバー、複数のCisco製品、複数のJuniper製品(NetScreen製品含む)、ヤマハRTシリーズ、古河電工のFITELnetシリーズの一部としており、そのほかにも対象製品がないか調査を進めている状況。

 なお、IBM Internet Security Systemsの「Ahead of the threat」では、影響のあるプラットフォームとして、多岐にわたる製品を列挙している。


 対策として7月9日の段階では、各DNSソフトベンダーからリリースされるパッチの適用や、対策済みDNSソフトへの更新を挙げていた。また、サーバー製品だけでなく、DNSにクエリを投げる側のノードに対してもパッチが提供されていないか要確認としていた。今回、これら以外にもいくつか対策手法を挙げている。

 まず、DNSサーバーへのアクセス制限だ。「recursive query(再帰検索)」を受け付けるIPアドレスを制限することで、ある程度、攻撃を受ける可能性を減らすことができるという。外部からクエリを受け付けるDNSキャッシュサーバーにおいては、recursive queryを拒否設定とするよう呼びかけている。

 また組織内のIPアドレスを送信元アドレスとする偽造パケットがインターネット側からやってくるのを拒否するよう、フィルタリングをかけることも有効としている。関連情報はRFC 2827/3704/3013。

 なお、キャッシュポイズニング攻撃は、偽造したレスポンスパケットを送り込むことで実行される。この際、クエリパケットの送信元ポートをクエリごとにランダムに変更することで、攻撃の成功確率が小さくなる。このためベンダーには「source port randomization」を実装するよう呼びかけるとともに、併せて、IETFで検討されている「draft-ietf-dnsext-forgery-resilience」も参照のうえ、対策を検討するようにとしている。

 パッチ適用後の留意点もいくつか挙げている。JPCERT/CCによれば、各ベンダーからリリースされたパッチも、DNS問い合わせ元ポートのランダム性を向上させることで、攻撃の成功確率を相対的に下げることを目的としている。そのためパッチを適用することで、従来は固定あるいは半固定であったDNS問い合わせ元ポートが問い合わせごとに変動するようになる。これにより、一部のファイアウォールやIDSが誤動作や誤検知を起こす恐れがあるので、留意するべきと指摘している。

 また、BINDなどの一部ソフトでは今回のパッチにより、DNSサーバーのパフォーマンスが若干低下することが報告されているという。通常の利用においては問題のない範囲だが、留意しておく必要があるとのこと。この問題を解決するため、BINDの開発元、ISCでは現在、緊急リリースを計画しているという。

 さらに一部のOSでは、BIND設定ファイル「named.conf」に、DNS問い合わせ元ポート番号を固定にするデフォルト設定が入っている場合がある。この場合、BINDをバージョンアップするだけでなく、この設定を削除する必要があるとする。該当する設定内容は、「query-source port 53;」「query-source-v6 port 53;」の2つ。

 JPCERT/CCでは、現在も本件について継続調査中。今後も、関連情報を随時公開していく予定とした。



URL
  有限責任中間法人JPCERT コーディネーションセンター
  http://www.jpcert.or.jp/
  複数のDNS実装にキャッシュポイズニングの脆弱性(JVNVU#800113)
  http://jvn.jp/cert/JVNVU800113/
  IETF draft-ietf-tsvwg-port-randomization
  http://tools.ietf.org/html/draft-ietf-tsvwg-port-randomization-01
  IETF draft-ietf-dnsext-forgery-resilience
  http://tools.ietf.org/html/draft-ietf-dnsext-forgery-resilience-05
  RFC 2827
  http://tools.ietf.org/html/rfc2827
  RFC 3704
  http://tools.ietf.org/html/rfc3704
  RFC 3013
  http://tools.ietf.org/html/rfc3013
  Ahead of the threat
  http://xforce.iss.net/xforce/xfdb/43334
  DNSサーバーの脆弱性情報が公開される、早急に修正パッチの適用を(INTERNET Watch)
  http://internet.watch.impress.co.jp/cda/news/2008/07/23/20351.html


( 川島 弘之 )
2008/07/25 16:12

Enterprise Watch ホームページ
Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.