オリジナル予想問題8 問46

DNSキャッシュポイズニング攻撃に対して有効な対策はどれか。

  • DNSサーバで,マルウェアの侵入をリアルタイムに検知する。
  • DNS問合せに使用するDNSヘッダ内のIDを固定せずにランダムに変更する。
  • DNS問合せに使用する送信元ポート番号を53番に固定する。
  • 外部からのDNS問合せに対しては,宛先ポート番号53のものだけに応答する。
正解 問題へ
分野:テクノロジ系
中分類:セキュリティ
小分類:情報セキュリティ対策
解説
DNSキャッシュポイズニング攻撃は、DNSキャッシュサーバに対してキャッシュに存在しないドメイン名の名前解決要求を行い、正規の応答が返ってくる前に偽の名前解決情報を送り付けることで、DNSキャッシュサーバのキャッシュに偽の情報を登録させる攻撃手法です。この汚染されたDNSサーバをユーザーが利用した場合、偽のキャッシュ情報をもとに悪意のあるサイトに誘導され、機密情報を盗まれるなどの被害が発生する可能性があります。

以下の攻撃の手順です。(参考URLより転載)
  1. 攻撃者は、偽の情報を送り込みたいドメイン名について、ターゲットとなるキャッシュサーバに問い合わせを送る
  2. 問い合わせを受けたキャッシュサーバは、外部の権威サーバに問い合わせる
  3. 攻撃者は、権威サーバから正しい応答が返ってくる前に、偽の応答パケットをキャッシュサーバに送り込む
  4. キャッシュサーバが 2.で送った問い合わせメッセージのIDと、攻撃者が3.で送った偽のメッセージのIDが一致した場合、攻撃成功
46.gif
  • DNSキャッシュポイズニング攻撃はマルウェアによって引き起こされる攻撃ではないため不適切です。
  • 正しい。DNSでは、DNSメッセージ中に"ID"という16ビットの識別子が用意されています。これは、応答メッセージを受信したときに、それがどの問い合わせメッセージに対するものかを判断するために使用されます。IDは16ビット(=65,536通り)しかないため、固定化されている場合には総当りや推測で一致してしまう危険性がありますが、DNSクエリ毎に異なるIDを設定することで攻撃が成立する可能性を下げることが可能です。
  • DNSクエリで使用されるUDPポートが仕様通りの53番に固定されていると攻撃が成立しやすくなります。応答パケットの偽装を難しくするには、ランダムに選択したポート番号を通信に使用すること(ソースポートランダマイゼーション)が有効な対策となります。
  • 外部からのDNSクエリを無制限に受け付ける設定になっていると攻撃の被害を受けたり、攻撃の踏み台に悪用される危険性が高まります。再帰的なDNSクエリはイントラネットからのアクセスのみを許可し、インターネットからの再帰的な問合せを拒否する設定が望ましいです。
参考URL: DNSキャッシュポイズニング(JPNIC)
 https://www.nic.ad.jp/ja/newsletter/No40/0800.html

出典


Pagetop