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キャッシュサーバの管理者(家庭だとプロバイダ ?)に対応を求めましょう。
あなた自身が管理者なら以下の情報を良く理解して、正しい対応を行いましょう。
東海インターネット協議会では、緊急かつ正しい対応が進むよう、8/9のオープンソースカンファレンス2008において緊急DNS勉強会を開き、この件についての解説を行いました。(スライド...2008/8/23 訂正)
Kaminskyのスライドには十分説明されていない部分があるため、想定されるバリエーションを交え、図と説明は抽象化してあります。
これまでの毒入れ手法 | Kaminsky流の毒入れ手法 |
これまで知られている毒入れ手法は、1ターン(本物の応答が返るまでのわずか数10 - 数100ms)の攻撃に失敗すると、本物の権威サーバからの応答がキャッシュに入ってしまい、キャッシュの生存期間(TTL)の間は攻撃は無効となる。TTLが長ければ長いほど攻撃は困難となる。(逆に言うとTTLが短いレコードは危険) |
Kaminsky流の手法では、存在しない名前を次々に ( 1.foo.com, 2.foo.com, 3.foo.com, ... 等と) 取り替えながら問合せに用いるため、本物の権威サーバからの応答によるキャッシュが、後に続く攻撃の障害とならない。 付記: Kaminskyのスライドにはファイアウォール内部のキャッシュサーバへの攻撃方法も紹介されており、アクセス制限だけで安心してもいけない。 |