http://www.tokai-ic.or.jp/kaminsky.html (2008.8) が無くなったため移設 (2010)

DNSの危機に対応を!

〜キャッシュ毒入れ新手法 Kaminsky Poisoning 〜

注: OSC2009名古屋において訂正させて頂いたように、Kaminsky氏のスライドの方法では毒は入りません。詳細については"Truth of Kaminsky Bug"をご覧ください(2011/10追記)。本ページは記録のために保存しているものです。

2008年7月、セキュリティ技術者 Dan Kaminsky 氏が考案したDNSに対する新たな攻撃手法が明らかになり、8月6日、Kaminsky氏による発表がセキュリティ関連の国際会議 Black Hatで行われました。

これはDNSキャッシュサーバに偽の情報を注入(毒入れ/Poisoning)するものです。DNSは原理的にキャッシュへの毒入れ脆弱性を持ち合わせており、特に脆弱な実装のDNSサーバソフトウェアでは過去に何度か対応が図られてきました。今回あきらかになった手法は従来手法よりはるかに効率的に、状況によってはほぼ確実に毒入れができるというもので、大変危険なものです。

すでに攻撃コードも公開されており、被害も発生していることが報告されています。

まず、以下のサイトで "Check My DNS" してみましょう。(紹介記事)
Web-based DNS Randomness Test
(ブラウザが証明書の警告を出したらページを開かないこと)

POORと出たらかなり危険です。
(GREATと出ても一面的な評価にすぎないので安心してはいけません)
DNSキャッシュサーバの管理者(家庭だとプロバイダ ?)に対応を求めましょう。
あなた自身が管理者なら以下の情報を良く理解して、正しい対応を行いましょう。

緊急DNS勉強会

東海インターネット協議会では、緊急かつ正しい対応が進むよう、8/9のオープンソースカンファレンス2008において緊急DNS勉強会を開き、この件についての解説を行いました。(スライド...2008/8/23 訂正

セキュリティ勧告

Dan Kaminsky氏自身のサイト (なぜか閉鎖された模様)

解説サイト

ISP,主要サイト対応状況

関連記事

被害例

ツール

情報提供

関連RFC

その他のリンク


脅威についての説明 (8/28追記)

Kaminskyのスライドには十分説明されていない部分があるため、想定されるバリエーションを交え、図と説明は抽象化してあります。

fig of old poisoning fig of new poisoning
これまでの毒入れ手法 Kaminsky流の毒入れ手法

 これまで知られている毒入れ手法は、1ターン(本物の応答が返るまでのわずか数10 - 数100ms)の攻撃に失敗すると、本物の権威サーバからの応答がキャッシュに入ってしまい、キャッシュの生存期間(TTL)の間は攻撃は無効となる。TTLが長ければ長いほど攻撃は困難となる。(逆に言うとTTLが短いレコードは危険)

 Kaminsky流の手法では、存在しない名前を次々に ( 1.foo.com, 2.foo.com, 3.foo.com, ... 等と) 取り替えながら問合せに用いるため、本物の権威サーバからの応答によるキャッシュが、後に続く攻撃の障害とならない。
 このため連続的に長時間に渡って攻撃が可能なため、毒が入る確率が非常に高くなる。Kaminskyによれば10秒程度での毒入れが可能。
 さらに、port randomize の patch済みでも、10時間程度で毒入れできたとの報告もあり、パッチだけで安心してはいけない。(thanks Mr. Tomoyuki Sakurai)

付記: Kaminskyのスライドにはファイアウォール内部のキャッシュサーバへの攻撃方法も紹介されており、アクセス制限だけで安心してもいけない。


文責 T.Suzuki @ TIC