図1●DNSキャッシュポイズニングの概要(JPRSの資料から引用)
図1●DNSキャッシュポイズニングの概要(JPRSの資料から引用)
[画像のクリックで拡大表示]
図2●ソースポートランダマイゼーション状況の推移(JPRSの資料から引用)
図2●ソースポートランダマイゼーション状況の推移(JPRSの資料から引用)
[画像のクリックで拡大表示]

 日本レジストリサービス(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)設定が有効でなかった場合の速やかな対応を実施するよう、強く推奨している。

[JPRSの発表情報]