■DNSキャッシュ・ポイズニング(DNS cache poisoning)
DNSサーバのキャッシュに、誤ったホスト名とIPアドレスの対応関係をキャッシュさせること。DNSスプーフィングの一種。
DNSサーバは、検索効率を上げるため、一度解決されたアドレスは一定の期間キャッシュに保存して再利用する。このとき、ほかのDNSサーバから誤った対応関係が結果として返された場合、それがDNSサーバのキャッシュに残り、以降、誤った対応関係がDNSクライアントに渡されることになる。このようにDNSキャッシュを誤った情報、すなわち「毒」で汚染(ポイズニング)することから、このような攻撃をDNSキャッシュ・ポイズニングと呼ぶ。
古いDNSサーバの仕様では、正しいDNS情報かどうかを検証する仕組みを持っていなかった。そのため、あるDNSサーバからの情報に、本来はそのサーバが管理権限を持たない別のドメインの情報がまぎれていても、そのままキャッシュしてしまった。この仕様を悪用することで、管理権限を持たないドメインの情報をDNSサーバに勝手に送りつけて、DNSサーバのキャッシュを汚染し、ドメインを乗っ取る攻撃が起きた。
有名な事件は、1997年7月に起きたドメインを独占的に管理していた「InterNIC(internic.net)」の乗っ取りである。この事件以降、DNSサーバには正規の管理権限を持ったDNSサーバから送られてきた情報かどうかを認証する機能が組み込まれるようになっている。しかし、未だに古いDNSサーバが利用されていたり、DNSサーバの脆弱性が悪用されたりすることで、DNSキャッシュ・ポイズニングが起きている。
・セキュリティ用語 DNSスプーフィング(DNS spoofing):
http://www.hotfix.jp/archives/word/2005/word05-17.html
|