ソースポートランダマイゼーションとは?そーすぽーとらんだまいぜーしょん
ソースポートランダマイゼーションとは、キャッシュDNSサーバが上位へ問い合わせを出すたびに、送信元UDPポート番号を予測できない値から選ぶ実装。偽の応答を受理させるには16ビットのトランザクションIDに加えて宛先ポートも一致させる必要が生じ、当てるべき組合せが数万倍に膨らむ。キャッシュポイズニングに対する標準的な緩和策である。
最終更新:2026-10-06
この語が出る過去問を解く →背景
初期の実装は問い合わせに固定のポートを使い、可変なのは16ビットのIDだけだった。偽応答を投げ続ければ現実的な時間で当たると2008年に広く知られたが、署名検証の普及を待つ余裕はなかった。既存の仕組みを変えずに即座に打てる手として、乱数の幅を増やす修正が各実装へ一斉に投入された、という時間稼ぎの対策である。
具体例
ISCのBINDやNLnet LabsのUnboundは既定でこの動作をし、要件はRFC 5452としてまとめられている。ただし前段のNAT機器が送信元ポートを連番に書き換える設定だと、外向きの通信では乱数が失われる。ファイアウォールやNAPTの変換仕様まで確認して初めて効いている、と言える。
試験での引っ掛け
これで偽装応答を防げる、と書くと誤り。成立確率を下げているだけで、試行を大量に許せばいずれ当たるし、効果は乱数の質と経路上の機器の設定に左右される。応答の正当性そのものを検証する根本対策は署名の検証(DNSSEC)であり、キャッシュサーバを外部に公開しない構成やアクセス元の制限とも役割が違う。
関連用語
出た過去問
出典:平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問11(IPA)解説で登場
DNSキャッシュポイズニング攻撃に対して有効な対策はどれか。
正解:DNS問合せに使用するDNSヘッダ内のIDを固定せずにランダムに変更する。
要点:IDと送信元ポートのランダム化が偽応答の的中を防ぐ
DNSキャッシュポイズニングは、キャッシュサーバの問合せに対して正規の応答より早く偽の応答を返し、偽情報をキャッシュさせる攻撃である。攻撃を成立させるには問合せのトランザクションIDと送信元ポート番号を的中させる必要があるため、これらを予測困難にランダム化することが有効な対策となる(ソースポートランダマイゼーション)。
出典:令和5年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問5(IPA)解説で登場
DNSに対するカミンスキー攻撃(Kaminsky's attack)への対策はどれか。
正解:問合せ時の送信元ポート番号をランダム化することによって,DNSキャッシュサーバに偽の情報がキャッシュされる確率を大幅に低減させる。
要点:カミンスキー攻撃対策は問合せ元ポートのランダム化で推測を困難にすること
カミンスキー攻撃は、存在しないサブドメインへの問合せを大量に起こさせ、権威DNSサーバの応答より先に偽装応答を送り込んでキャッシュを汚染する攻撃である。偽装応答を成立させるにはトランザクションIDと問合せ元ポート番号を当てる必要があるため、送信元ポート番号をランダム化(ソースポートランダマイゼーション)して当てにくくするウが対策となる。根本的な対策としてはDNSSECによる応答の真正性検証がある。
出典:令和7年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問4(IPA)解説で登場
DNSに対するカミンスキー攻撃への対策はどれか。
正解:問合せ時の送信元ポート番号をランダム化することによって、DNSキャッシュサーバに偽の情報がキャッシュされる確率を大幅に低減させる。
要点:カミンスキー攻撃の緩和は送信元ポートのランダム化
カミンスキー攻撃は、存在しないサブドメインを大量に問い合わせさせて権威DNSサーバへの問合せを誘発し、その応答が返る前に偽の応答を大量に送り込んでキャッシュを汚染する手法です。偽応答が受け入れられるにはトランザクションIDと送信元ポート番号の両方が一致する必要があるため、送信元ポートをランダム化すれば当てるべき組合せが桁違いに増え、成功確率を大幅に下げられます(ソースポートランダマイゼーション)。根本的な対策はDNSSECによる応答の署名検証です。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。