公開日:2008/07/09 最終更新日:2015/10/21

JVNTA08-190B
複数の DNS 実装にキャッシュポイズニングの脆弱性
緊急

概要

複数の DNS 実装にキャッシュポイズニング攻撃が容易になる脆弱性があります。

影響を受けるシステム

ベンダの提供する情報を参照してください。

詳細情報

キャッシュポイズニングは、攻撃者が DNS キャッシュサーバのキャッシュを偽造した DNS 情報に書き換える攻撃手法です。

最近の研究で、いままでに知られているよりも効率的にキャッシュポイズニングを行う手法が見つかっています。 DNS キャッシュサーバが対象になるとともに、PC なども攻撃対象になる可能性があることに注意してください。

キャッシュポイズニング攻撃は、偽造したresponseパケットを送り込むことにより行われます。query パケットの送信元ポートを query ごとにランダムに変更することにより、キャッシュポイズニング攻撃が成功する確率を小さくすることができます。

想定される影響

キャッシュポイズニング攻撃により DNS キャッシュサーバに偽のDNS情報をキャッシュさせることができ、その DNS キャッシュサーバを使っているノードが、偽のサイトに誘導される可能性があります。

対策方法

パッチを適用する
お使いの製品ベンダから提供されているパッチを適用してください。

サーバ製品だけでなく、ネームサーバに query を投げる側のノードに対してもパッチが提供されていないかご確認ください。

アクセスを制限する
recursive query を受け付ける IP アドレスを制限することで、ある程度キャッシュポイズニング攻撃を受ける可能性を減らすことができます。

フィルタリングにより偽造パケットを拒否する
パケットフィルタリングにより、例えば組織内の IP アドレスを送信元アドレスとする偽造パケットがインターネット側からやってくるのを拒否することが可能です。

関連する RFC として、RFC 2827、RFC 3704、RFC 3013 を参照してください。

recursive query を拒否する
外部から DNS query を受け付けるネームサーバにおいては、recursive query を受け付けないように設定してください。

source port randomization を実装する
DNS 製品ベンダは IETF で検討されている draft-ietf-dnsext-forgery-resilience を参照のうえ、対策を検討してください。

参考情報

  1. JVNVU#800113
    複数の DNS 実装にキャッシュポイズニングの脆弱性
  2. US-CERT Vulnerability Note VU#800113
    Multiple DNS implementations vulnerable to cache poisoning
  3. US-CERT Vulnerability Note VU#484649
    Microsoft Windows DNS Server vulnerable to cache poisoning
  4. US-CERT Vulnerability Note VU#252735
    ISC BIND generates cryptographically weak DNS query IDs
  5. US-CERT Vulnerability Note VU#927905
    BIND version 8 generates cryptographically weak DNS query identifiers
  6. US-CERT Vulnerability Note VU#927905
    BIND version 8 generates cryptographically weak DNS query identifiers
  7. IETF draft-ietf-dnsext-forgery-resilience
    Measures for making DNS more resilient against forged answers
  8. IETF RFC3833
    Threat Analysis of the Domain Name System (DNS)
  9. IETF RFC2827
    Network Ingress Filtering
  10. IETF RFC3704
    Ingress Filtering for Multihomed Networks
  11. IETF RFC3013
    Recommended Internet Service Provider Security Services and Procedures
  12. JPRS
    これでいいのかTTL -- 短いDNS TTLのリスクを考える --
  13. JPRS
    複数のDNSソフトウェアにおけるキャッシュポイズニングの脆弱性について
  14. JPNIC
    複数のDNS実装におけるキャッシュポイズニングの脆弱性について

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告 JPCERT-AT-2008-0013
JPCERT REPORT
CERT Advisory Technical Cyber Security Alert TA08-190B
Multiple DNS implementations vulnerable to cache poisoning
CPNI Advisory
TRnotes
CVE CVE-2008-1447
VU#800113 [[CVE-2007-3898:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-3898]] VU#484649 [[CVE-2007-2926:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2926]] VU#252735 [[CVE-2007-2930:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2930]] VU#927905
JVN iPedia

更新履歴

2008/07/10
ベンダ情報:富士通の情報を追加しました。
2015/10/21
ベンダ情報を更新しました