アットウィキロゴ

DNSキャッシュポイズニング攻撃

DNSキャッシュサーバに偽のDNS情報をキャッシュとして登録させることで、利用者を偽のWebサイトに誘導する攻撃です。


攻撃者がDNSキャッシュサーバに偽のキャッシュ情報を登録させる手順を追ってみます。
  1. 攻撃者は、キャッシュサーバに対して偽の再帰的な問合せを行い反復問合せを強制的に生じさせる。
  2. キャッシュサーバは、コンテンツサーバに対して反復問合せを行う。
  3. 攻撃者は、コンテンツサーバが正規の応答を返すよりも先にキャッシュサーバへ偽の応答を送りつける。
  4. キャッシュサーバは、攻撃者から送られた偽の応答を正規のものと判断しキャッシュに登録する。この時点でDNSクエリは解決済なのでコンテンツサーバから送られた正規の応答は破棄される。
DNSキャッシュポイズニングは、上記のように外部から攻撃目的で送られた再帰的な問合せをキャッシュサーバが処理してしまうことから始まります。再帰的問合せの役割は、内部ネットワークのホストが外部ネットワークに接続する際の名前解決であり、原則として外部からの再帰的な問合せに応じる必要はないはずですから、再帰的な問合せを受け付けるホストを内部ネットワークだけに限定することがキャッシュポイズニング攻撃への対策となります。
また、DNSでは送信元のIPアドレスとポート番号、トランザクションIDの全てが一致しないと、キャッシュサーバはコンテンツサーバからの正しい応答として認めない仕組みを備えています。このためDNSキャッシュポイズニングが成立するためには、反復問合せに対する偽の応答メッセージに含まれる各情報を正規の応答と一致させる必要があります。DNSの設定で、ポート番号やトランザクションIDが固定されていたり推測されやすいものになっていたりすると、パケットの偽装が容易になり攻撃に対して脆弱になってしまいます。

+ タグ編集
  • タグ:
  • 応用情報
  • セキュリティ
最終更新:2018年04月08日 20:42
添付ファイル