DNSキャッシュポイズニング対策の見分け方を会話で確認
情報セキュリティマネジメント試験 令和7年度 問5 / セキュリティ › 情報セキュリティ対策
過去問にチャレンジ
DNSキャッシュサーバでのDNSキャッシュポイズニング攻撃の対策はどれか。
- ア
DNSサービスの待ち受けポートを53番に固定する。
- イ
外部のDNSクライアントからの再帰的問合せを受け付けない設定にする。
- ウ
権威DNSサーバへの問合せに使用するトランザクションIDを固定する。
- エ
権威DNSサーバへの非再帰的問合せを行う設定にする。
会話形式の解説
講師今回はDNSキャッシュポイズニングの対策です。キャッシュサーバに偽の名前解決情報を保存させ、利用者を不正サイトへ誘導する攻撃ですね。攻撃がどういう流れで成り立つのかを押さえると、選択肢を見分けやすくなります。
受験者偽の情報を覚えさせる攻撃なのは分かります。ただ、どうやって偽の情報を入り込ませるのかがよく分かっていません。
講師キャッシュサーバに名前解決の問合せをさせ、本物の応答が届くより先に偽の応答を受け取らせます。ですから、対策は「問合せのきっかけを減らす」か「偽の応答を見破りやすくする」のどちらかになるかを見ていきます。
受験者それなら、外部のクライアントからの再帰的問合せを受け付けない設定は、きっかけを減らす方に当たりそうです。
講師そのとおりです。再帰的問合せは、最終的な答えまで代わりに調べてもらう問合せのことです。外部にこれを提供していると、攻撃者がキャッシュサーバに問合せを起こさせ、そのタイミングで偽応答を送り込めます。受付を組織内の利用者などに絞れば、攻撃の機会を減らせます。これが正解です。
受験者待ち受けポートを53番に固定するというのはどうでしょうか。ポートを決めておけば守りやすくなる気もします。
講師53番はDNSがもともと使う標準のポート番号なので、それを示しているだけです。待ち受けポートを決めても、偽の応答を受け入れないようにはなりません。
受験者トランザクションIDを固定するのも、管理しやすそうに見えて迷いました。
講師それは逆効果です。トランザクションIDは問合せと応答を結び付ける値なので、固定すると攻撃者が偽応答のIDを合わせやすくなります。実際の対策は、IDをランダムにすることです。
受験者権威DNSサーバへ非再帰的に問い合わせる設定も、「再帰」という言葉が入っているので正解と似て見えます。
講師そこが引っかけです。非再帰的な問合せは、キャッシュサーバが権威サーバをたどるときの通常の動き方です。設定しても応答が本物かどうかは確かめられませんし、外部に再帰を許すかどうかとは別の話です。
受験者整理すると、外部からの再帰的問合せを断るのが対策で、IDを固定するのは逆効果、ポート53番や非再帰的問合せは普通の動作であって対策ではない、ということですね。
講師はい。補足すると、トランザクションIDに加えて問合せの送信元ポートもランダムにすると、偽応答の値が合いにくくなります。待ち受けポートの53番とは区別してください。また、DNSSECは署名を使ってDNS応答の真正性と完全性を確認する仕組みで、関連する対策として覚えておくとよいです。
まとめ
DNSキャッシュポイズニングは、キャッシュサーバに偽の名前解決情報を保存させ、利用者を不正サイトへ誘導する攻撃です。キャッシュサーバに問合せをさせ、本物の応答より先に偽の応答を受け取らせることで成り立ちます。そのため、外部のクライアントからの再帰的問合せを受け付けない設定にすると、攻撃の機会を減らせます。トランザクションIDを固定すると偽応答を合わせやすくなるので逆効果です。待ち受けポートの53番や権威サーバへの非再帰的問合せは通常の動作で、対策にはなりません。
解答・解説
正解はイです
この問題のテーマ
DNSキャッシュサーバが偽の名前解決情報を保存させられる「DNSキャッシュポイズニング」について、有効な対策を選ぶ問題です。
解き方の考え方
まず、この攻撃はキャッシュサーバに名前解決の問合せをさせ、その応答より先に偽の応答を受け取らせることで成り立つ、という点を押さえます。そのうえで、各選択肢が「問合せのきっかけを減らすか」「偽応答を見破りやすくするか」を確かめます。待ち受けポートの固定は対策にならず、トランザクションIDの固定は偽応答の値を合わせやすくします。外部からの再帰的問合せを断る設定が有効です。
選択肢ごとの解説
- ×ア DNSサービスの待ち受けポートを53番に固定する。待ち受けポートを53番に固定するという説明は、DNSがもともと使う標準のポート番号を示しているだけです。待ち受けポートを決めても、偽の応答を受け入れないようにはなりません。そのため、キャッシュポイズニングの対策にはなりません。
- ○イ 外部のDNSクライアントからの再帰的問合せを受け付けない設定にする。外部のクライアントからの再帰的問合せを受け付けない設定は有効な対策です。外部に再帰的な名前解決を提供していると、攻撃者はキャッシュサーバに問合せを起こさせ、そのタイミングで偽応答を送り込めます。再帰の受付を組織内の利用者などに絞れば、攻撃の機会を減らせます。
- ×ウ 権威DNSサーバへの問合せに使用するトランザクションIDを固定する。トランザクションIDを固定するという説明は逆効果です。このIDは問合せと応答を結び付ける値なので、固定すると攻撃者は偽応答のIDを合わせやすくなります。実際の対策は、IDをランダムにすることです。
- ×エ 権威DNSサーバへの非再帰的問合せを行う設定にする。権威DNSサーバへ非再帰的に問い合わせるという説明は、キャッシュサーバが権威サーバをたどるときの通常の動き方です。これを設定しても、応答が本物かどうかは確かめられません。また、外部に再帰を許すかどうかとは別の設定なので、対策にはなりません。
補足
トランザクションIDや問合せの送信元ポートを固定すると、偽応答の値を合わせやすくなります。待ち受けポートを53番に定めることとは区別しましょう。また、権威サーバへの非再帰的問合せは通常の動作なので、対策のように見えても惑わされないようにしてください。
POINT
- DNSキャッシュポイズニングは、キャッシュサーバに偽の名前解決情報を保存させ、利用者を不正サイトへ誘導する攻撃です。
- キャッシュサーバが外部からの再帰的問合せを受け付けないようにすると、攻撃の機会を減らせます。
- トランザクションIDや問合せの送信元ポートをランダムにすると、偽応答の値が合いにくくなります。
- DNSSECは署名を使って、DNS応答の真正性と完全性を確認する仕組みです。
