GlobalSign Blog

DNSスプーフィングとしても知られているDNSキャッシュポイズニングは、DNSまたはドメインネームシステムに存在する脆弱性を突き止め、正当なサーバーから偽のサーバーにオーガニックトラフィックを引き込むために設計された攻撃です。

今年4月、暗号大手の MyEtherWallet の DNS サーバーがハイジャックされ、正当なユーザーがフィッシング ウェブサイトにリダイレクトされたとき、DNS キャッシュ ポイズニングの脅威はニュースとなりました。 全体として、ハッカーは、問題が特定され停止するまでに、約 16 万ドル相当のイーサリアムを盗みました。

これは、DNS キャッシュ ポイズニングがいかに危険かを示す 1 つの例に過ぎません。 この種の攻撃が危険であるもう 1 つの理由は、1 つの DNS サーバーから次のサーバーに簡単に広がるからです。

この記事では、DNS キャッシュ ポイズニングの仕組みと、万が一自分の身に起こった場合にそれを止めるために適用できるソリューションをいくつか紹介します。 ドメイン名は覚えやすいですが、コンピュータまたはマシンは IP アドレスに基づいて Web サイトにアクセスするためです。

その後、サーバーは、コンピュータがドメイン名に到達するために、少なくとも 1 つの IP アドレス(通常はそれ以上)で応答します。 コンピュータが IP アドレスに接続すると、DNS はドメイン名をコンピュータが読み取れる IP アドレスに変換します。

現在、インターネット サービス プロバイダは複数の DNS サーバーを実行しており、それぞれのサーバーは他のサーバーからの情報もキャッシュ(または保存)しています。 ご自宅にある Wi-Fi ルーターも、ISP のサーバーからの情報をキャッシュしているので、基本的には DNS サーバーのように動作します。

DNS キャッシュは、サーバーが不正なエントリを受信すると「毒殺」されます。 たとえば、ハッカーが DNS サーバーを制御して、その情報を変更し、DNS サーバーが間違ったアドレスで特定の Web サイトを検索するように情報を変更することがあります。 言い換えれば、ユーザーは Web サイトの「正しい」名前を入力しますが、その後、間違った IP アドレスに、具体的には、フィッシング Web サイトに送信されます。 これは、複数のインターネット サービス プロバイダーが、ハッカーが制御するサーバーから DNS 情報を受信している場合に実現され、その結果、「毒された」DNS エントリがこれらの ISP に広がり、キャッシュされます。 DNS キャッシュ ポイズニングの厄介な点の 1 つは、受け取った DNS 応答が正当なものかどうかを判断するのが非常に困難であるということです。 My Ethereum Wallet の場合、この状況の発生を防ぐ手段は非常に限られており、この問題は最終的にサーバー プロバイダーによって解決されました。

幸いにも、このような攻撃を防ぐために組織が取ることのできる対策はまだ数多くあるため、DNS キャッシュ ポイズニングが不可能、またはほぼ不可能であるという印象を持たないようにする必要があります。

たとえば、IT 専門家に依頼して、他の DNS サーバーとの関係にほとんど依存しないように DNS サーバーを構成してもらうとよいでしょう。 つまり、自分の DNS サーバーが破損する可能性は低く、したがって、自分 (および組織内の全員) が不正な Web サイトにリダイレクトされる可能性も低くなります。

さらに、要求されたドメインに特に関連するデータのみを保存し、クエリ応答を制限して要求したドメインに関する情報のみを提供するよう DNS サーバーを構成することが可能です。 このアイデアは、必要なサービスだけが実行を許可されるようにサーバーをセットアップすることです。 DNS サーバーで実行する必要のないサービスを追加することで、攻撃が発生する確率が大幅に高まります。

また、DNS の最新バージョンが利用されていることを確認する必要があります。 これは、最新バージョンでは、ポイズニング攻撃に対する防御に役立つ、ポートのランダム化や暗号的に安全なトランザクションIDなどのセキュリティ機能が使用されるからです。

また、2018年4月に発生した攻撃後の発表でマイイーサーウォレットが助言したように、DNSキャッシュポイズニングに対する重要な防御策は、アドレスバーに会社名(つまり彼らの場合は「MyEtherWallet Inc」)を探すことです。
このことは、そのサイトはEV SSL/TLS 証明書を使用してるということを意味します。 これにより、ハッカーのサイトに個人情報を入力しないようにするため、ポイズニングアタックの被害に遭うことを防ぐことができます。 すべての企業が Web サイトで EV を使用しているわけではないので、これは完全な対策ではありませんが、正しいサイトかどうかを判断する際に役立つツールです。

SSL/TLS 証明書は、組織の詳細と暗号鍵を結びつけることができる、Web サーバーにインストールされた小さなデータ ファイルです。 インストール後、証明書は HTTPS プロトコルを有効にして、ブラウザと Web サーバーの間の安全で暗号化された接続を可能にします。 EV SSL/TLS 証明書の場合、上記のような会社名などの組織の詳細の一部は、ブラウザの UI に直接表示されます。

結論

要約すると、DNS キャッシュ ポイズニングとは、攻撃者が DNS サーバーを悪用して、正当なサーバーによってキャッシュされる偽造 DNS 応答を送信することです。

その後、破損したドメインを訪れたユーザーは、ハッカーが選んだ新しい IP アドレスに送られますが、それは通常悪質なフィッシング ウェブサイトで、犠牲者はマルウェアをダウンロードしたりログインや財務情報を送信したりできるよう細工されることがあります。

上記の手順を踏むことで、DNS キャッシュ ポイズニング攻撃から組織を守ることができます。

注: このブログ記事は、読者に幅広いコンテンツを提供する目的で、ゲスト寄稿者によって執筆されました。 このゲスト執筆者の記事で表明された意見は、寄稿者のものであり、必ずしもGlobalSignのものを反映するものではありません。

コメントする