Akamai はオンラインライフの力となり、守っています。世界中のトップ企業が Akamai を選び、安全なデジタル体験を構築して提供することで、毎日、いつでもどこでも、世界中の人々の人生をより豊かにしています。 Akamai Connected Cloudは、超分散型のエッジおよび クラウドプラットフォームです。ユーザーに近いロケーションからアプリや体験を提供し、ユーザーから脅威を遠ざけます。
DNS キャッシュポイズニングとは
DNS キャッシュポイズニングは、DNS スプーフィング攻撃とも呼ばれ、正規の Web サイトにアクセスしようとするユーザーが、まったく異なるサイトにリダイレクトされるサイバー攻撃の一種であり、通常は悪意のある目的で行われる攻撃です。ユーザーが Web ブラウザーに Web サイトの名前を入力すると、DNS リゾルバーは IP アドレスを提供し、適切な Web サイトを読み込めるようにします。DNS リゾルバーのキャッシュメモリーに保存されているデータを変更または置換することで、攻撃者はユーザーを偽サイトまたは悪性のサイトに誘導し、認証情報や個人データを盗みます。
DNS とは
DNS は、example.com のような人間にとって理解しやすい Web サイトアドレスを、マシンが解釈するための IP アドレスに変換します。このシステムがあるため、Web サイトごとに、数字の羅列で構成される意味不明な文字列を覚えなくても、Web をナビゲートすることができます。
DNS は、いくつかのタイプのドメインネームサーバーを使用します。権威ネームサーバーは、特定のドメインの公式レコードを保持します。再帰 DNS サーバーまたはリゾルバーは、ユーザーからの最初のリクエストを処理し、必要に応じて権威 DNS サーバーを照会します。
DNS キャッシングとは
DNS 応答を高速にするために、再帰サーバーは以前のリクエストから得られた情報をローカルキャッシュに保存し、後続のリクエストに対する情報をより速く取得できるようにします。
DNS キャッシュポイズニングの仕組み
DNS キャッシュポイズニング攻撃では、攻撃者はさまざまな手法を使用して、DNS キャッシュ内の正当なアドレスを偽の DNS アドレスに置き換えます。ユーザーが正当なサイトにアクセスしようとしても、DNS リゾルバーがキャッシュ内の偽のアドレスを返すため、ブラウザーセッションが乗っ取られ、偽または悪性の Web サイトにユーザーが誘導されます。
攻撃者の DNS キャッシュポイズニングの手段
攻撃者は DNS サーバーを直接ハイジャックして、正当なサイトから悪性の IP アドレスにトラフィックをリダイレクトすることがあります。また、ハッカーは、ユーザーが悪性のリンクをクリックしたときに、ブラウザーの DNS キャッシュを変更するマルウェアを使用することもあります。その他に、攻撃者は「Machine-in-the-middle 攻撃」を使用して、ブラウザーと DNS サーバーとの間の通信に自分自身を割り込ませ、悪性の IP アドレスにリクエストをルーティングすることもあります。
攻撃者が DNS キャッシュポイズニングで得る利益
多くの攻撃者は、キャッシュポイズニングを使用してフィッシングキャンペーンを実行します。そのため、ユーザーがアクセスしようとしているサイトと同じように見える偽の Web サイトを設定します。ユーザーがサイトにログイン認証情報や機密性の高い情報を入力すると、攻撃者はそのデータを使用してユーザーのアカウントにアクセスし、金銭やデータを盗んだり、より大規模な攻撃を仕掛けたりします。
キャッシュポイズニング攻撃が有効になる理由
DNS は、クエリーの真意を問うのではなく、クエリーに対する正確な結果を返すように設計されているため、基本的には安全性が低いプロトコルです。さらに、DNS トラフィックは、検査なしでファイアウォールを通過することが多いため、ハッカーにとって魅力的な攻撃ベクトルです。
キャッシュポイズニングと DNS スプーフィングの違い
DNS キャッシュポイズニングと DNS スプーフィングという用語はよく同じ意味で使用されますが、ポイズニングは攻撃方法であり、スプーフィングは最終結果であるという見方をされています。言い換えれば、攻撃者は、DNS スプーフィングという結果を得るために DNS キャッシュポイズニングを使用しているということです。
DNS キャッシュポイズニングを検知する手段
DNS キャッシュポイズニング攻撃の兆候としては、Web トラフィックが 1 回だけ想定外に落ち込む、ドメインに対する DNS アクティビティが大きく変化するというものがあります。DNS キャッシュポイズニングを手動で検知することは困難です。自動化された DNS セキュリティツールを導入することが、これらの攻撃を検知する最も効果的な方法です。
DNS キャッシュポイズニングを防ぐ方法
組織は、いくつかのサイバーセキュリティのベストプラクティスに従って DNS ポイズニングを防止することができます。
- DNSSEC を導入する。Domain Name System Security Extensions(DNSSEC)は、DNS データの完全性を検証する手段を提供しています。DNSSEC は、公開鍵暗号を使用してデータを検証および認証します。
- DNS ソフトウェアを定期的に更新し、パッチを適用する。DNS アプリケーションの更新とパッチ適用に最適な頻度を設定することで、攻撃者が既知の脆弱性やゼロデイ脆弱性を悪用する可能性を低減できます。
- DNS トラフィック用の HTTPS を導入する。DNS over HTTPS(DoH)は、プライバシーを向上させ、DNS クエリーを見えなくするために、HTTPS 暗号化セッションを介して問い合わせることで DNS トラフィックを暗号化します。
- DNS サーバーを設定するにあたり、ゼロトラスト・アプローチを採用する。ゼロトラストの原則では、すべてのユーザー、デバイス、アプリケーション、およびリクエストは、認証され、継続的に検証されない限り、侵害の可能性ありと見なすことが求められます。DNS は、すべてのインターネットアドレスをスキャンして潜在的な悪性のふるまいを検知できる、ゼロトラストの貴重な制御ポイントとなります。
- 高速で DoS に強い DNS リゾルバーを選択する。キャッシュポイズニング攻撃は、DNS サーバーの応答遅延に依存するため、リゾルバーの処理が高速であれば、攻撃の成功を防止するうえで役に立ちます。DNS リゾルバーにキャッシュポイズニングの制御機能が組み込まれていることも必要です。大手の ISP プロバイダーや DNS プロバイダーは、DDoS 攻撃を吸収するだけの規模を備えています。