カミンスキー攻撃 【Kaminsky attack】
概要
カミンスキー攻撃(Kaminsky attack)とは、DNSキャッシュポイズニング攻撃の効率を劇的に向上させた攻撃手法。2008年にアメリカの情報セキュリティ研究者ダン・カミンスキー(Dan Kaminsky)氏が考案した。キャッシュポイズニング攻撃では、DNSキャッシュサーバがリゾルバから問い合わせを受けたドメイン名についての情報が無く、そのドメインの権威DNSサーバに問い合わせを行う際に、攻撃者が権威サーバになりすまして偽のDNS情報を送信しキャッシュに登録させる。そのキャッシュサーバに問い合わせを行う利用者は攻撃者の用意した偽の情報を受け取り、危険なサイトなどに誘導されてしまう。
攻撃が可能なタイミングはキャッシュサーバが権威サーバに問い合わせを行う瞬間だが、通常の運用ではキャッシュに存在しない情報が問い合わせられることは稀であり、権威サーバへの問い合わせはキャッシュの有効期限が切れるタイミング(設定次第だが通常は数十分から数時間ごと)でしか行われない。
カミンスキー攻撃では、キャッシュサーバに対してわざと存在しないことが分かっているホスト名(ランダムに生成した長いホスト名など)への問い合わせを行い、(当然キャッシュには記載されていないため)権威サーバへ問い合わせるよう仕向ける。これにより、任意のタイミングや頻度でポイズニング攻撃を仕掛けるチャンスを作ることができるようになる。
カミンスキー攻撃への対策としては、キャッシュサーバが問い合わせを受け付ける範囲の限定(自ネットワーク外からの問い合わせには答えないなど)や、送信元のポート番号を毎回ランダムに変更する「ソースポートランダマイゼーション」(source port randomization)、DNS Cookiesによる送信元の確認、DNSSECの導入などが必要となる。
(2021.10.21更新)