基本情報技術者 2017年 秋期 午前(科目A) 問37
問題文
DNSキャッシュポイズニングに分類される攻撃内容はどれか。
選択肢
ア:DNSサーバのソフトウェアのバージョン情報を入手して、DNSサーバのセキュリティホールを特定する。
イ:PCが参照するDNSサーバに偽のドメイン情報を注入して、利用者を偽装されたサーバに誘導する。(正解)
ウ:攻撃対象のサービスを妨害するために、攻撃者がDNSサーバを踏み台に利用して再帰的な問合せを大量に行う。
エ:内部情報を入手するために、DNSサーバが保存するゾーン情報をまとめて転送させる。
DNSキャッシュポイズニングに分類される攻撃内容はどれか。【午前2 解説】
要点まとめ
- 結論: DNSキャッシュに偽のドメイン情報を注入して利用者を偽サーバへ誘導する攻撃はイで、応答の改ざんにより名前解決のキャッシュを書き換えます。
- 根拠: 設問の「偽のドメイン情報を注入」「利用者を偽装されたサーバに誘導」という表現が、外部からの偽応答でキャッシュを汚染する典型的手法を示しています。
- 差がつくポイント: キャッシュポイズニングとゾーン転送やDDoSの違いを見分け、DNSSECや送信ポートのランダム化など防御策を答えられると得点差につながります。
正解の理由
イは「PCが参照するDNSサーバに偽のドメイン情報を注入して、利用者を偽装されたサーバに誘導する」ことを示しています。
これがまさにDNSキャッシュポイズニングの定義です。攻撃者は偽の応答(例:IPアドレスの書き換え)をDNSリゾルバのキャッシュに登録させ、正当なドメイン名を問い合わせた利用者を攻撃者管理下のサーバへ誘導します。トランザクションIDや送信元ポートの予測、Kaminsky攻撃のような手法で実行されます。
これがまさにDNSキャッシュポイズニングの定義です。攻撃者は偽の応答(例:IPアドレスの書き換え)をDNSリゾルバのキャッシュに登録させ、正当なドメイン名を問い合わせた利用者を攻撃者管理下のサーバへ誘導します。トランザクションIDや送信元ポートの予測、Kaminsky攻撃のような手法で実行されます。
よくある誤解
- 「ゾーン転送(AXFR)=キャッシュポイズニング」と混同する誤解:ゾーン転送は権威サーバからの情報窃取であり、キャッシュ書き換えとは別問題です。
- 「DNSを踏み台にした大量問合せ(反射・増幅攻撃)をポイズニングと呼ぶ」誤認:これはDDoS関連の悪用で、キャッシュの内容を書き換える攻撃ではありません。
- 「キャッシュを消せば安全」と考える誤解:一時的には解消できますが、根本対策としてはDNSSECや応答の検証、ソースポートのランダム化が必要です。
解法ステップ
- 設問文のキーワードを確認:「偽のドメイン情報」「注入」「利用者を誘導」などがあるかを探す。
- 各選択肢が示す攻撃の目的を分類:情報窃取/侵入準備/リソース浪費(DDoS)/キャッシュ改ざんのどれか。
- 「キャッシュへ注入」「偽の応答で誘導」といった文言があればキャッシュポイズニングを選ぶ。
- 他選択肢が別カテゴリ(脆弱性調査、踏み台攻撃、ゾーン転送)であることを確認し除外する。
選択肢別の誤答解説
- ア: DNSサーバのソフトウェアのバージョン情報を入手してセキュリティホールを特定する。
→ これは脆弱性調査や標的 reconnaissance(情報収集)に該当し、キャッシュの汚染とは異なります。 - イ: PCが参照するDNSサーバに偽のドメイン情報を注入して、利用者を偽装されたサーバに誘導する。
→ 正解。外部から偽の応答を送りリゾルバのキャッシュを改ざんして利用者を誤誘導します。 - ウ: 攻撃対象のサービスを妨害するために、攻撃者がDNSサーバを踏み台に利用して再帰的な問合せを大量に行う。
→ これはDNSを利用したDDoS(反射・増幅や踏み台)に近く、キャッシュの改ざんではありません。 - エ: 内部情報を入手するために、DNSサーバが保存するゾーン情報をまとめて転送させる。
→ これはゾーン転送(AXFR)を不正に取得する攻撃で、権威サーバの情報漏えいに関する攻撃です。
補足コラム
DNSキャッシュポイズニングはUDPベースのDNSの特性(トランザクションIDの予測可能性、固定ポート)を突く攻撃です。2008年のKaminsky脆弱性は、トランザクションIDとソースポートの組み合わせだけで短時間に多くの偽応答を注入できる点を利用して大規模なポイズニングを可能にしました。対策としてはDNSSECによる応答署名、ソースポートランダム化、トランザクションIDの強化、リゾルバの定期的なソフト更新、キャッシュポイズニング検出ツールの導入などが有効です。
FAQ
Q: DNSキャッシュポイズニングとDNSハイジャックは同じですか?
A: 関連しますが異なります。キャッシュポイズニングはリゾルバのキャッシュ内を書き換える手法で、DNSハイジャックは登録情報の書換えや権限の乗っ取りなど広義の乗っ取り行為を指す場合があります。
A: 関連しますが異なります。キャッシュポイズニングはリゾルバのキャッシュ内を書き換える手法で、DNSハイジャックは登録情報の書換えや権限の乗っ取りなど広義の乗っ取り行為を指す場合があります。
Q: DNSSECを導入すれば完全に防げますか?
A: DNSSECは応答の改ざん検知と防止に有効ですが、全体の完全無欠な対策ではありません。運用ミスや鍵管理の問題、クライアント側の未対応などの課題があります。
A: DNSSECは応答の改ざん検知と防止に有効ですが、全体の完全無欠な対策ではありません。運用ミスや鍵管理の問題、クライアント側の未対応などの課題があります。
Q: TTLを短くすれば被害を抑えられますか?
A: TTLを短くすると誤情報の影響時間は短くなりますが、根本的な防御ではありません。署名検証や応答の信頼性向上が必要です。
A: TTLを短くすると誤情報の影響時間は短くなりますが、根本的な防御ではありません。署名検証や応答の信頼性向上が必要です。
関連キーワード: DNSキャッシュポイズニング, DNSキャッシュ, DNSセキュリティ, DNSキャッシュポイズニング対策, DNSSEC, トランザクションID, ソースポートランダム化, Kaminsky脆弱性, ゾーン転送, DNS反射攻撃

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

