マナビング情報セキュリティマネジメント

DNSキャッシュポイズニングで偽サーバへ誘導される利用者の絞り込み方

情報セキュリティマネジメント試験 令和元年度秋期 午前 問16 / セキュリティ › 情報セキュリティ

過去問にチャレンジ

令和元年度秋期 午前 問16

攻撃者が用意したサーバXのIPアドレスが,A社WebサーバのFQDNに対応するIPアドレスとして,B社DNSキャッシュサーバに記憶された。これによって,意図せずサーバXに誘導されてしまう利用者はどれか。ここで,A社,B社の各従業員は自社のDNSキャッシュサーバを利用して名前解決を行う。

  1. ア

    A社WebサーバにアクセスしようとするA社従業員

  2. イ

    A社WebサーバにアクセスしようとするB社従業員

  3. ウ

    B社WebサーバにアクセスしようとするA社従業員

  4. エ

    B社WebサーバにアクセスしようとするB社従業員

会話形式の解説

講師講師
今回はDNSキャッシュポイズニングの問題です。DNSキャッシュサーバに偽の名前解決情報を記憶させて、利用者を攻撃者のサーバへ誘導する攻撃です。注目してほしいのは、汚染されたのがどの会社のキャッシュサーバか、そして偽の情報がどのサーバ名についてのものか、という2点です。
受験者受験者
偽の情報はA社Webサーバの名前に対するものなので、最初はA社従業員が被害を受けると思いました。A社のサーバが狙われているわけですよね。
講師講師
そこが間違えやすい点です。問題文では、各従業員が自社のDNSキャッシュサーバで名前解決をすると決められています。偽の情報が記憶されたのはB社のキャッシュサーバでしたね。
受験者受験者
そうでした。A社従業員はA社のキャッシュサーバを使うので、A社Webサーバにアクセスしても正しいIPアドレスが返ってくる、ということですか。
講師講師
そのとおりです。A社のキャッシュは汚染されていないので、A社従業員はサーバXへ誘導されません。B社Webサーバにアクセスしようとする場合も、A社従業員は同じく汚染されていないA社のキャッシュを使います。それに偽の情報はB社Webサーバの名前ではないので、どちらの点から見ても影響はありません。
受験者受験者
では、汚染されたキャッシュを使うB社従業員なら、どこにアクセスしても危ないのでしょうか。
講師講師
そこがもう一つの条件です。偽の応答が返るのは、汚染された名前、つまりA社WebサーバのFQDNを問い合わせたときだけです。FQDNは、ホスト名まで含めた完全なドメイン名のことです。B社従業員がB社Webサーバの名前を引いた場合は、対応が正しいままなので、正しいB社Webサーバに接続できます。
受験者受験者
残るのは、B社のキャッシュでA社Webサーバの名前を引く人、つまりA社WebサーバにアクセスしようとするB社従業員ですね。サーバXのIPアドレスが返されて、気づかないままサーバXへ誘導されてしまうわけですね。
講師講師
正解です。誘導される利用者は、汚染されたキャッシュを使う人のうち、汚染された名前を引く人です。狙われた名前の持ち主であるA社の従業員だとは限らない、という点を覚えておいてください。
受験者受験者
「どのキャッシュを使うか」と「どの名前を引くか」の両方を満たす人を探せばよいのですね。攻撃でWebサーバ自体が書き換えられるのかとも思っていました。
講師講師
この攻撃はWebサーバのファイルを改ざんするものではなく、名前解決の結果を書き換えるものです。対策としては、DNSSECの導入やキャッシュサーバのソフトウェアの更新、設定の強化などがあります。DNSSECは、DNSの応答が正しいかどうかを検証する仕組みです。

まとめ

DNSキャッシュポイズニングは、DNSキャッシュサーバに偽の名前解決情報を記憶させ、利用者を攻撃者のサーバへ誘導する攻撃です。この問題では、汚染されたのはB社のキャッシュサーバで、偽の情報はA社WebサーバのFQDNについてのものです。各従業員は自社のキャッシュで名前解決するため、被害を受けるのはB社のキャッシュでA社Webサーバの名前を引く人、つまりA社WebサーバにアクセスしようとするB社従業員です。狙われた名前の持ち主であるA社の従業員が被害を受けるとは限らず、「使うキャッシュ」と「引く名前」の2条件で絞り込むのがポイントです。

解答・解説

正解はイです

この問題のテーマ

DNSキャッシュポイズニングで、偽の名前解決情報がどのDNSキャッシュサーバに記憶されたかを手がかりに、誤ってサーバXへ誘導される利用者を特定する問題です。

解き方の考え方

まず、汚染されたのは「B社のDNSキャッシュサーバ」で、偽の情報は「A社WebサーバのFQDN」に対するものだという2点を押さえます。次に、各従業員は自社のキャッシュサーバで名前解決するという条件から、汚染されたキャッシュを使うのはB社従業員だけだとわかります。B社従業員のうち偽の応答を受け取るのは、汚染された名前、つまりA社Webサーバの名前を解決しようとする人です。この二つの条件を両方満たす利用者が答えになります。

選択肢ごとの解説

  1. ×ア  A社WebサーバにアクセスしようとするA社従業員
    A社Webサーバへアクセスしようとする「A社従業員」は、A社のDNSキャッシュサーバで名前解決します。汚染されたのはB社のキャッシュなので、A社従業員には正しいIPアドレスが返され、サーバXへは誘導されません。
  2. ○イ  A社WebサーバにアクセスしようとするB社従業員
    B社従業員はB社のキャッシュサーバでA社Webサーバの名前を解決します。このキャッシュには、A社WebサーバのFQDNに対応するIPアドレスとしてサーバXのアドレスが記憶されています。そのためサーバXのIPアドレスが返され、利用者は気づかないままサーバXへ誘導されます。
  3. ×ウ  B社WebサーバにアクセスしようとするA社従業員
    B社Webサーバへアクセスしようとする「A社従業員」は、汚染されていないA社のキャッシュサーバを使います。そのうえ、偽の情報が登録されたのはA社WebサーバのFQDNで、B社Webサーバの名前ではありません。どちらの点から見ても、この利用者は影響を受けません。
  4. ×エ  B社WebサーバにアクセスしようとするB社従業員
    B社Webサーバへアクセスしようとする「B社従業員」は、汚染されたB社のキャッシュサーバを使います。ただし、偽の情報はA社WebサーバのFQDNについてだけ記憶されており、B社Webサーバの名前の対応は正しいままです。そのため、B社従業員は正しいB社Webサーバに接続できます。

補足

被害の範囲は、どのサーバ名が狙われたかではなく、汚染されたキャッシュを誰が使っているかで決まります。「A社のサーバ名が狙われたのだから、A社従業員が被害を受ける」という考え方は誤りです。また、この攻撃はWebサーバのファイルを改ざんするものではなく、名前解決の結果を書き換えるものです。対策には、DNSSECの導入やキャッシュサーバのソフトウェアの更新、設定の強化などがあります。

POINT

  • DNSキャッシュポイズニングは、DNSキャッシュサーバに偽の名前解決情報を記憶させ、利用者を攻撃者のサーバへ誘導する攻撃です。
  • 被害を受けるのは、汚染されたキャッシュサーバで名前解決をする利用者です。
  • 偽の応答が返されるのは、汚染されたFQDNを問い合わせた場合に限られます。
  • 誘導される利用者は、「どのキャッシュを使うか」と「どの名前を引くか」の両方を満たす人として絞り込みます。

※出典:令和元年度秋期 情報セキュリティマネジメント試験 午前 問16