DNSセキュリティ

DNSはセキュリティを最優先とした設計ではないため、DNSシステムの脆弱性は多くのタイプの攻撃で悪用されています。

Share facebook icon linkedin icon twitter icon email icon

DNSセキュリティ

学習目的

この記事を読み終えると、以下のことができます。

  • DNSSECとは何か、またその仕組みを理解する
  • 最も一般的なDNS攻撃について知る
  • DNSSECおよびその他DNSセキュリティソリューションの違い

DNSセキュリティが重要な理由は?

ほとんどすべてのWebトラフィックに必要な標準DNSクエリは、DNSハイジャックや中間者攻撃などのDNSエクスプロイトの機会を作り出します。これらの攻撃は、Webサイトのインバウンドトラフィックをサイトの偽のコピーにリダイレクトしてユーザーの機密情報を収集し、企業を大きな責任にさらす可能性があります。DNSの脅威から保護するための最もよく知られている方法の1つは、DNSSECプロトコルを採用することです。

DNSSECとは?

多くのインターネットプロトコルと同様に、DNSシステムはセキュリティを考慮して設計されておらず、いくつかの設計上の制限があります。これらの制限にテクノロジーの進歩が組み合わさり、攻撃者が悪意のある目的でDNSルックアップをハイジャックすることが容易になりました。たとえば、マルウェア配布したり、個人情報を収集したりする不正なWebサイトにユーザーを誘導したりします。DNSセキュリティ拡張機能(DNSSEC)は、この問題を軽減するために作成されたセキュリティプロトコルです。DNSSECは、データにデジタル署名することで攻撃から保護し、データの有効性を確保します。安全なルックアップを保証するために、DNSルックアッププロセスのすべてのレベルで署名を行う必要があります。

多くのインターネットプロトコルと同様に、DNSシステムはセキュリティを考慮して設計されておらず、いくつかの設計上の制限があります。これらの制限とテクノロジーの進歩により、攻撃者が、たとえば、マルウェアを配布したり、個人情報を収集したりする不正Webサイトにユーザーを送るなど、悪意のある目的でDNSルックアップをハイジャックすることが容易になりました。


DNSセキュリティ拡張機能(DNSSEC)は、この問題を軽減するために作成されたセキュリティプロトコルです。DNSSECは、データにデジタル署名することでデータの有効性を確保し、攻撃から保護します。セキュアなルックアップを保証するために、DNSルックアッププロセスのすべてのレベルで署名を行う必要があります。


この署名プロセスは、ペンで法律文書に署名することに似ています。署名者は、他の人には作成できない一意の署名を行い、法廷の専門家はその署名を見て、文書がその人によって署名されたことを確認できます。こうした電子署名によって、そのデータが改ざんされていないことが確認できます。


DNSSECは、DNSのすべての層にわたって階層的なデジタル署名ポリシーを実装します。たとえば、「google.com」ルックアップの場合、ルートDNSサーバー.COMネームサーバーのキーに署名し、.COMネームサーバーはgoogle.comの権限ネームサーバーのキーに署名します。


セキュリティは改善するべきですが、DNSSECは下位互換性があるように設計されており、追加セキュリティを実装していない従来のDNSルックアップが引き続き正しく解決できることを保証しています。DNSSECは、総合的なインターネットセキュリティ戦略の一環として、SSL/TLSなどの他のセキュリティ対策と連携することを目的としています。


DNSSECは、親子のように信頼関係でつながった列車のようになってルートゾーンまで到達します。この信頼連鎖関係では、DNSのどの層も侵害/危害を受けることは許されません。どこかの層が危険にさらされると、リクエストが中間者攻撃に脆弱になってしまいます。


信頼の連鎖を閉じるには、ルートゾーン自体を検証(改ざんや詐欺がないことを証明)する必要があり、これは実際に人間の介入によって行われます。興味深いことに、ルートゾーン署名式と呼ばれるもので、世界中から選ばれた個人が集まり、公開の場で、監査された方法でルートDNSKEY RRsetに署名します。

DNSSECの仕組みのより詳細な説明>>>

DNSに関連する一般的な攻撃とは?

DNSSECは強力なセキュリティプロトコルですが、残念ながら現在のところ広く採用されていません。採用が進まないことと他の潜在的な脆弱性とが相まって、さらにDNSがほとんどのインターネット要求の不可欠な部分であるという事実から、DNSは悪意のある攻撃の主要な標的となっています。攻撃者は、DNSサーバーを標的にして悪用するいくつかの方法を発見しました。一般的な事例をいくつか次に示します。

DNSスプーフィング/キャッシュポイズニングこれは、偽造DNSデータがDNSリゾルバーのキャッシュに導入されることで、リゾルバーがドメインに対して誤ったIPアドレスを返す攻撃です。正しいWebサイトに移動する代わりに、トラフィックは悪意のあるマシンまたは攻撃者が望む他の場所に転送されます。多くの場合、これは、元のサイトの複製で、マルウェア配布やログイン情報収集など悪意のある目的で使用されます。

DNSトンネリング:この攻撃は、他のプロトコルを使用してDNSクエリと応答をトンネリングします。攻撃者は、SSH、TCP、またはHTTPを使用して、マルウェアまたは盗まれた情報をDNSクエリに渡すことができ、ほとんどのファイアウォールはこれを検出できません。

DNSハイジャック:DNSハイジャックでは、攻撃者はクエリを別のドメインネームサーバーにリダイレクトします。これは、マルウェアまたはDNSサーバーの不正な変更のいずれかによって実行されます。結果はDNSスプーフィングの結果と似ていますが、根本的に異なる攻撃であり、リゾルバーのキャッシュではなく、ネームサーバーにあるWebサイトのDNSレコードを標的とします。

DNS Hijacking

NXDOMAIN攻撃:これは、DNSフラッド攻撃の一種で、攻撃者は存在しないレコードのリクエストでDNSサーバを氾濫させ、正当なトラフィックに対してサービス拒否を発生させようとするものです。これは、各要求に対して一意のサブドメインを自動生成できる高度な攻撃ツールを使用して実現できます。NXDOMAIN攻撃は、再帰リゾルバーを標的にして、リゾルバーのキャッシュをジャンクリクエストでいっぱいにすることを目的することもあります。

ファントムドメイン攻撃:ファントムドメイン攻撃は、NXDOMAIN攻撃と同様の結果をDNSリゾルバーにもたらします。攻撃者は、要求への応答が非常に遅いか、まったく応答しない「ファントム」ドメインサーバーを多数セットアップします。その後リゾルバーにこれらのドメインへの大量のリクエストを送り、リゾルバーは応答を待機して拘束され、パフォーマンスの低下とサービス拒否につながります。

ランダムサブドメイン攻撃:この場合、攻撃者は、1つの正当なサイトの、いくつかのランダムで存在しないサブドメインに対してDNSクエリを送信します。目的は、ドメインの権威ネームサーバーに対するサービス拒否を発生させ、ネームサーバーからWebサイトを検索できないようにすることです。副作用として、攻撃者にサービスを提供しているISPも影響を受ける可能性があります。これは、再帰リゾルバーのキャッシュに不正なリクエストが読み込みされるためです。

ドメインロックアップ攻撃:悪意のある行為者は、特別なドメインとリゾルバーを設定して他の正当なリゾルバーとのTCP接続を作成することにより、この形式の攻撃を準備します。標的となるリゾルバーがリクエストを送信すると、これらのドメインはランダムなパケットを低速で順次送り返し、リゾルバーのリソースを占有します。

ボットネットベースのCPE攻撃:これらの攻撃は、CPEデバイス(Customer Premise Equipment、これは、モデム、ルーター、ケーブルボックスなど、顧客が使用するためにサービスプロバイダーが提供するハードウェアです)を使用して実行されます。CPEが侵害/危害を受けると、デバイスはボットネット一部となり、1つのサイトまたはドメインに対してランダムなサブドメイン攻撃を実行するために使用されます。

DNSを悪用する攻撃に対する最良の保護手段とは?

DNSSECに加えて、DNSゾーンの運営者は、サーバーをセキュリティで保護するためのさらなる対策を講じることができます。インフラストラクチャの過剰プロビジョニングはDDoS攻撃を克服するための簡単な戦略の1つです。簡単に言うと、ネームサーバーが予想の数倍のトラフィックを処理できれば、ボリュームベースの攻撃がサーバーを圧倒するのは難しくなります。


anycastルーティングは、DDoS攻撃を妨害できるもう一つの便利なツールです。anycastを使用すると、複数のサーバーで単一のIPアドレスを共有できるため、1つのDNSサーバーがシャットダウンしても、他のDNSサーバーが稼働し続けます。DNSサーバーを保護するためのもう1つの一般的な戦略は、DNS Firewallです。

DNS Firewallとは?

DNS Firewallは、DNSサーバーに多数のセキュリティおよびパフォーマンスサービスを提供できるツールです。DNSファイアウォールは、ユーザーの再帰リゾルバーと、到達しようとしているWebサイトまたはサービスの権威ネームサーバーとの間にあります。ファイアウォールは、Rate Limitingサービスを提供してサーバーを圧倒しようとする攻撃者をシャットダウンできます。サーバーが攻撃の結果またはその他の理由でダウンタイムを経験した場合、DNS Firewallは、キャッシュからDNS応答を提供することにより、オペレーターのサイトまたはサービスを維持できます。セキュリティ機能に加えて、DNS FirewallはDNSルックアップの高速化や帯域幅コストの削減など、DNSオペレーターにとってパフォーマンスソリューションも提供できます。 CloudflareのDNS Firewallの詳細をご確認ください。

DNS Firewallは、DNSサーバーに多数のセキュリティおよびパフォーマンスサービスを提供できるツールです。DNS Firewallは、ユーザーの再帰リゾルバーと、到達しようとしているWebサイトまたはサービスの権威ネームサーバーの間にあります。ファイアウォールは、Rate Limitingサービスを提供してサーバーを圧倒しようとする攻撃者を停止させることができます。


サーバーが攻撃の結果またはその他の理由でダウンタイムを経験した場合、DNS Firewallは、キャッシュからDNS応答を提供することにより、オペレーターのサイトまたはサービスを維持できます。セキュリティ機能に加えて、DNS FirewallはDNSルックアップの高速化や帯域幅コストの削減など、DNSオペレーターにとってパフォーマンスソリューションも提供できます。 CloudflareのDNS Firewallの詳細をご確認ください。

セキュリティツールとしてのDNS

DNSリゾルバーは、エンドユーザー(インターネットを閲覧しているユーザー)にセキュリティソリューションを提供するように構成することもできます。一部のDNSリゾルバーは、マルウェアやスパムを配信することが知られているサイトをブロックできるコンテンツフィルタリングや、既知のボットネットとの通信をブロックするボットネット保護などの機能を提供します。これらのセキュリティで保護されたDNSリゾルバーの多くは無料使用でき、ユーザーはローカルルーターの設定を1つ変更するだけで、これらの再帰DNSサービスのいずれかに切り替えることができます。Cloudflare DNSはセキュリティを重視しています。