日本レジストリサービス(JPRS)は2014年4月15日、DNSサーバーを狙った攻撃が国内で増加しているとして注意を呼びかけた。攻撃を受けたDNSサーバーを参照すると、偽のWebサイトに誘導される恐れなどがある。DNSサーバーの管理者は、設定などを確認することが急務だ。
今回、増加が確認されているのは、「DNSキャッシュポイズニング」と呼ばれる攻撃。これは、DNSサーバーに一時的にキャッシュしてあるドメイン名とIPアドレスの対応情報を、偽の情報に書き換える攻撃のこと(図1)。攻撃対象のDNSサーバーを参照するユーザーを、偽のWebサイトに誘導することなどが可能になる。Webブラウザーには正規のURLが表示されるので、偽サイトにアクセスしていることを見抜くことは困難だ。
DNSキャッシュポイズニングは古くから知られているが、攻撃を成功させることはそれほど容易ではなかった。ところが2008年7月、DNSキャッシュポイズニングを効率的に行う新しい方法が発表された(関連記事:DNSキャッシュ・ポイズニング)。セキュリティ研究者のダン・カミンスキー氏が発見したため、「カミンスキーアタック」や「カミンスキー型攻撃」などと呼ばれる。
カミンスキーアタックの対策となるのは、キャッシュDNSサーバーの送信元ポートをランダムにすること。これは「ソースポートランダマイゼーション」と呼ばれる。言い換えると、ソースポートランダマイゼーションが有効になっていないキャッシュDNSサーバーが、カミンスキーアタックによる被害を受けることになる。
カミンスキーアタックが発表された直後、DNSサーバーベンダーなどは、ソースポートランダマイゼーションを有効にするパッチを提供。カミンスキーアタック発覚後にリリースされたDNSサーバーでは、ソースポートランダマイゼーションが標準で実装されている。JPRSによれば、ソースポートランダマイゼーションを有効にすれば、攻撃成功の確率を6万5000分の1程度に引き下げられるという。
しかしながら、ソースポートランダマイゼーションを有効にしていないDNSサーバーは依然多く、危険な状態にあるとしている。JPRSによれば、応答を確認できたJPドメインのDNSサーバーのうち、およそ10%において、ソースポートランダマイゼーションが有効になっていないという(図2)。
このためJPRSでは、全てのキャッシュDNSサーバーにおいて、(1)ソースポートランダマイゼーションの設定の確認と、(2)設定が有効でなかった場合の速やかな対応を実施するよう、強く推奨している。