基本情報技術者 2017年 春期 午前(科目A) 問36
問題文
攻撃者が用意したサーバXのIPアドレスが、A社WebサーバのFQDNに対応するIPアドレスとして、B社DNSキャッシュサーバに記憶された。この攻撃によって、意図せずサーバXに誘導されてしまう利用者はどれか。ここで、A社、B社の各従業員は自社のDNSキャッシュサーバを利用して名前解決を行う。
選択肢
ア:A社WebサーバにアクセスしようとするA社従業員
イ:A社WebサーバにアクセスしようとするB社従業員(正解)
ウ:B社WebサーバにアクセスしようとするA社従業員
エ:B社WebサーバにアクセスしようとするB社従業員
🔒 解説は解答すると表示されます
DNSキャッシュ汚染による誘導【午前解説】
正解の理由
B社のDNSキャッシュサーバに、攻撃者がA社WebサーバのFQDNに対してサーバXのIPを記憶させた(キャッシュ汚染)状況です。問題文で「A社、B社の各従業員は自社のDNSキャッシュサーバを利用して名前解決を行う」と明記されています。したがって、A社従業員はA社のキャッシュサーバに問い合わせるため影響を受けませんが、B社従業員は汚染されたB社のキャッシュを参照するため、A社のWebサーバにアクセスしようとすると攻撃者のサーバXに誘導されます。正解は イ です。
解法ステップ
- 問題文を読み、どのDNSキャッシュが汚染されたかを確認する(B社のキャッシュ)。
- 「各従業員は自社のDNSキャッシュサーバを利用する」という条件を適用する。
- A社従業員はA社のキャッシュに問い合わせるため影響なしと判断。
- B社従業員はB社の汚染されたキャッシュを参照するため、A社Webにアクセスすると攻撃者のサーバXに誘導されると結論付ける。
- よって選択肢の中で該当するのはB社の従業員がA社Webへアクセスするケース(イ)である。
選択肢別の誤答解説
- ア: A社WebサーバにアクセスしようとするA社従業員
誤り。A社従業員は自社の(汚染されていない前提の)DNSキャッシュを使うため、B社側の汚染の影響を受けません。 - イ: A社WebサーバにアクセスしようとするB社従業員
正解。B社のDNSキャッシュが汚染されており、B社従業員はその汚染情報を取得して攻撃者のサーバXに誘導されます。 - ウ: B社WebサーバにアクセスしようとするA社従業員
誤り。問題の汚染はA社WebサーバのFQDNに関するものであり、B社Webサーバへのアクセスとは無関係です。 - エ: B社WebサーバにアクセスしようとするB社従業員
誤り。同様に、汚染はA社側のFQDNに関するためB社自身のWebサーバへのアクセスに影響は及びません(前提としてB社Webのレコードは汚染されていない)。
よくある誤解
- 「A社のWebサイトにアクセスする全員が被害を受ける」:誤り。被害は汚染されたDNSキャッシュを参照する利用者に限定されます。
- 「サーバ名(FQDN)自体が書き換わる」:実際にはFQDNは同じで、対応するIPアドレス(Aレコード)が偽の値でキャッシュされるだけです。
- 「TLSで保護されていればDNS汚染は無害」:部分的に真実ですが、攻撃者が有効な証明書を取得している場合やユーザが警告を無視すると被害が生じます。TLSの検証は重要な防御策です。
補足コラム
DNSキャッシュ汚染(キャッシュポイズニング)は、攻撃者がDNS応答を偽装して中間のキャッシュサーバに誤ったレコードを保存させる攻撃です。代表的な対策はDNSSECによる応答の署名検証ですが、導入には運用や互換性の課題があります。実務的な短期対策としては、DNSリゾルバのトランザクションIDとソースポートのランダム化、再帰的クエリの制限、キャッシュの監視ログの強化、TTLの適切な設定が有効です。さらに、クライアント側の防御としてTLS証明書の厳格な検証(警告を無視しない)、HSTSや証明書ピンニングの活用が挙げられます。歴史的にはKaminsky脆弱性(2008年)を契機に多くの改善が進められました。
FAQ
Q1. B社のDNSが汚染されるとB社の利用者は必ず被害を受けますか?
A1. 必ずしもありません。ブラウザやアプリがTLS警告を表示して接続を中断すれば被害を防げますが、ユーザが警告を無視すると被害に遭う危険があります。
A1. 必ずしもありません。ブラウザやアプリがTLS警告を表示して接続を中断すれば被害を防げますが、ユーザが警告を無視すると被害に遭う危険があります。
Q2. A社がDNSSECを導入すれば完全に安全ですか?
A2. DNSSECは応答の改ざん検知に非常に有効ですが、実装ミスや信頼チェーンの問題、クライアント側での検証不備があると効果が減ります。総合的な対策が必要です。
A2. DNSSECは応答の改ざん検知に非常に有効ですが、実装ミスや信頼チェーンの問題、クライアント側での検証不備があると効果が減ります。総合的な対策が必要です。
Q3. 利用者が自分でできる簡単な対策はありますか?
A3. 公開DNSを使う場合は信頼できるプロバイダを選ぶ、TLS証明書の警告を無視しない、重要なサービスはブックマークでIP直打ちではなくHTTPSの検証を行う等が有効です。
A3. 公開DNSを使う場合は信頼できるプロバイダを選ぶ、TLS証明書の警告を無視しない、重要なサービスはブックマークでIP直打ちではなくHTTPSの検証を行う等が有効です。
関連キーワード: DNSキャッシュポイズニング、DNSキャッシュサーバ、DNSSEC、再帰的DNS、キャッシュ汚染、名前解決、トランザクションIDランダム化、TLS検証

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

