DNSキャッシュポイズニング攻撃への対策|情報処理安全確保支援士 平成31年 春期午前Ⅱ試験 問11
出典:平成31年春期 午前Ⅱ 問11
分野:セキュリティ / 情報セキュリティ対策
DNSキャッシュポイズニング攻撃に対して有効な対策はどれか。
- ア:DNSサーバにおいて,侵入したマルウェアをリアルタイムに隔離する。
- イ:DNS問合せに使用するDNSヘッダー内のIDを固定せずにランダムに変更する。
- ウ:DNS問合せに使用する送信元ポート番号を53番に固定する。
- エ:外部からのDNS問合せに対しては,宛先ポート番号53のものだけに応答する。
TSUNAGARU-ADVICE
まず押さえたいこと
DNSキャッシュポイズニングは、DNSサーバに偽の応答を受け入れさせ、誤った名前解決結果をキャッシュさせる攻撃です。対策としては、DNS問合せごとにDNSヘッダー内のIDをランダムに変え、攻撃者が偽応答を一致させにくくすることが有効です。
迷ったときの判断軸
マルウェアの隔離はDNSキャッシュポイズニングそのものへの対策ではありません。また、送信元ポート番号を53番に固定すると推測されやすくなり、むしろ危険です。外部からの問合せで宛先ポート53だけに応答することも、偽応答の成功確率を下げる対策とはいえません。DNSキャッシュポイズニング対策は、IDや送信元ポートをランダム化して推測困難にすると整理しましょう。
科目Bにつなげるために
科目Bでは、DNSサーバ・キャッシュDNS・権威DNS・DNSSEC・送信元ポートランダム化などを組み合わせて問われることがあります。DNSキャッシュポイズニングでは、偽のDNS応答を受け入れさせないために、問合せと応答を対応付ける情報を攻撃者に推測されにくくする視点を持ちましょう。
DNSキャッシュポイズニング攻撃は、攻撃者が偽のDNS応答を正規の応答より先にDNSサーバへ送り込み、誤った名前解決情報をキャッシュさせる攻撃です。
DNSサーバは、問合せと応答の対応をDNSヘッダー内のトランザクションIDなどで確認します。このIDを問合せごとにランダムに変更すると、攻撃者が正しい値を推測して偽の応答を成立させることが難しくなります。
したがって、イが適切です。
❌他選択肢が誤りの理由ア:DNSサーバにおいて,侵入したマルウェアをリアルタイムに隔離する。
⇒マルウェア感染への対策です。DNSキャッシュポイズニングは、偽造したDNS応答によってキャッシュを書き換える攻撃であり、侵入済みのマルウェアを隔離することは直接的な対策になりません。
ウ:DNS問合せに使用する送信元ポート番号を53番に固定する。
⇒送信元ポート番号を固定すると、攻撃者が偽のDNS応答を作成する際に推測すべき情報が減るため、攻撃を受けやすくなります。DNSキャッシュポイズニング対策では、トランザクションIDに加えて、問合せの送信元ポート番号もランダム化することが有効です。
エ:外部からのDNS問合せに対しては,宛先ポート番号53のものだけに応答する。
⇒DNS通信では通常、DNSサーバの宛先ポート番号として53番を使用します。この条件だけでは、偽造されたDNS応答を見分けたり、キャッシュへの不正な情報登録を防いだりできないため、DNSキャッシュポイズニング対策にはなりません。