DNSキャッシュポイズニングとは?でぃーえぬえすきゃっしゅぽいずにんぐ
DNSキャッシュポイズニングとは、キャッシュDNSサーバに偽の名前解決結果を覚え込ませ、正規のドメイン名でアクセスした利用者を攻撃者のサーバへ誘導する攻撃。権威サーバの正しい応答より先に、問合せIDと宛先ポート番号が一致する偽応答を返すことで成立する。汚染はキャッシュの有効期間の間、そのサーバを使う利用者全員に及ぶ。
最終更新:2026-10-06
この語が出る過去問を解く →背景
DNSはUDPで応答を受け取り、その真正性を16ビットの問合せIDだけで確かめる設計だった。作られた当時は経路上に敵がいる前提が無く、総当たりで当てられる大きさだとは問題視されなかった。回線が高速化して試行回数を稼げるようになり、前提が崩れた。応答そのものに署名を付けるDNSSECが必要とされたのはこのためである。
具体例
カミンスキー型の手口では、存在しないサブドメインへの問合せを大量に起こさせて偽応答の試行回数を稼ぎ、委任情報ごと汚染する。対策としてBINDやUnboundは送信元ポートをランダム化する実装になっており、社内のキャッシュサーバは外部からの再帰問合せを受け付けない設定にする。
試験での引っ掛け
緩和策は問合せIDと送信元ポート番号のランダム化で、推測を難しくするだけであり成立しなくなるわけではない。根本対策は応答へ署名を付けて検証するDNSSECである。またオープンリゾルバの状態は、汚染されやすさと反射増幅型DDoSの踏み台化の両方の原因になる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問12(IPA)
DNSキャッシュポイズニング攻撃に対して有効な対策はどれか。
正解:DNS問合せに使用するDNSヘッダ内のIDを固定せずにランダムに変更する。
要点:問合せIDとポートのランダム化が偽応答を防ぐ
キャッシュポイズニングは、正規の応答が返る前に偽の応答を注入して成立します。攻撃者は問合せのIDと送信元ポート番号を推測する必要があるため、IDをランダム化し、あわせて送信元ポートもランダム化すれば推測が著しく困難になります。
出典:平成29年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問6(IPA)解説で登場
DNSに対するカミンスキー攻撃(Kaminsky's attack)への対策はどれか。
正解:問合せ時の送信元ポート番号をランダム化することによって,DNSキャッシュサーバに偽の情報がキャッシュされる確率を大幅に低減させる。
要点:カミンスキー攻撃対策は送信元ポートのランダム化
カミンスキー攻撃は、存在しないサブドメインへの問合せを大量に発生させ、権威DNSサーバより先に偽の応答を返してキャッシュを汚染するDNSキャッシュポイズニングの手法である。偽装成功にはトランザクションIDと問合せ送信元ポート番号の一致が必要なため、送信元ポートをランダム化して探索空間を広げることが基本的な緩和策となる。根本的な対策としてはDNSSECによる応答の正当性検証がある。
出典:令和元年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問18(IPA)解説で登場
DNSSECに関する記述として、適切なものはどれか。
正解:ディジタル署名によってDNS応答の正当性を確認できる。
要点:DNSSECは署名検証でDNS応答の正当性を保証する
DNSSECは、DNSの応答レコードに公開鍵暗号によるディジタル署名を付与し、リゾルバ側で署名を検証することで、応答が正当な権威サーバに由来し改ざんされていないことを確認する仕組みである。これによりDNSキャッシュポイズニングを防げる。応答内容そのものは暗号化されず、機密性やDoS耐性を与えるものではない点に注意する。
出典:平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問11(IPA)
DNSキャッシュポイズニング攻撃に対して有効な対策はどれか。
正解:DNS問合せに使用するDNSヘッダ内のIDを固定せずにランダムに変更する。
要点:IDと送信元ポートのランダム化が偽応答の的中を防ぐ
DNSキャッシュポイズニングは、キャッシュサーバの問合せに対して正規の応答より早く偽の応答を返し、偽情報をキャッシュさせる攻撃である。攻撃を成立させるには問合せのトランザクションIDと送信元ポート番号を的中させる必要があるため、これらを予測困難にランダム化することが有効な対策となる(ソースポートランダマイゼーション)。
出典・参考
公式シラバスの3 技術要素 > 1. 情報セキュリティ > (7) 攻撃手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。