サイバー攻撃

DNSトンネリングとは?仕組みや検出方法、対策を解説

Written by WizLANSCOPE編集部

DNSトンネリングとは?仕組みや検出方法、対策を解説


DNSトンネリングとは、ドメイン名をIPアドレスに変換するDNSの仕組みを悪用し、通常のDNS通信に見せかけて、不正なデータを送受信するサイバー攻撃の一種です。

DNSトンネリングの被害に遭うと、個人情報や機密情報、認証情報などの重要データが外部に送信されてしまう危険性があります。

そのため、企業・組織においては、DNS通信の可視化や異常検知などを含めた対策が不可欠です。

本記事では、DNSトンネリングの仕組みからリスク、そして具体的な対策方法までをわかりやすく解説します。

▼本記事でわかること

  • DNSトンネリング仕組み
  • DNSトンネリングのリスク
  • DNSトンネリングの検知方法
  • DNSトンネリングへの対策方法

DNSトンネリングによるリスクを把握し、自社のセキュリティレベルの向上に役立てたい方はぜひご一読ください。

DNSトンネリングとは


DNSトンネリングとは、DNSの仕組みを悪用して、本来の目的とは異なるデータやコマンドを送受信する手法です。

DNS(Domain Name System)は、インターネット上でいわばWebサイトの「住所案内」を行うシステムです。

私たちが「www.example.com」のようなドメイン名でWebサイトにアクセスする際、コンピューターはそのドメイン名に対応する「192.0.2.1」のようなIPアドレスを特定する必要があります。

このドメイン名とIPアドレスの変換を行っているのが「DNS」です。

通常、企業のファイアウォールやセキュリティ機器は、Webサイト閲覧などの通信を厳しく監視します。

一方で、DNS通信はインターネット利用に不可欠なため、多くの環境で常時許可されており、その結果、他の通信と比べて詳細な内容まで検査されないケースがあります。

攻撃者はこの特性を悪用し、DNSクエリの中に不正なプログラムの命令や盗み出したデータを細かく分割して埋め込みます。そして、外部の指令サーバー(C&Cサーバー)と通信を行い、情報の送信や遠隔操作を継続します。

関連ページ

DNSセキュリティとは?主な攻撃手法と企業がすべき対策をわかりやすく解説

DNSトンネリングの仕組み

DNSトンネリングがどのような流れで実行されるのかを、手順に沿って解説します。

攻撃者がどのように隠れた通信経路を確立し、どの段階で情報を外部に送信するのかを把握することが、効果的な対策を講じる第一歩となります。

攻撃手順(1):DNSクエリにデータを忍ばせる

攻撃の第一段階として、攻撃者は、フィッシングメールや脆弱性の悪用など、何らかの方法で標的の組織内のコンピューターをマルウェアに感染させます。

このマルウェアが、DNSトンネリングの実行役となります。

マルウェアは、窃取した機密情報や外部の指令サーバー(C&Cサーバー)とやり取りするためのデータを細かく分割し、Base64などの形式でエンコード(符号化)します。

そして、そのエンコードした文字列をサブドメイン部分に埋め込み、攻撃者が用意したドメイン名に連結させます。

(エンコードされたデータ).attacker-domain.com

このように、非常に長いドメイン名に対するDNSクエリを生成します。

このDNSクエリは、一見すると通常のアドレスに見えるため、不正として検知されにくい特徴があります。

関連ページ

C&Cサーバーとは?攻撃の手口や有効な対策を解説

攻撃手順(2):C&Cサーバーとの隠れた通信経路を確立する

マルウェアから送信された不正なDNSクエリは、社内のDNSサーバーを経由して、インターネット上の権威DNSサーバーへと転送されます。

そして最終的に、攻撃者が管理する権威DNSサーバーにこのクエリが到達します。

攻撃者のサーバーは、クエリのサブドメイン内に含まれる文字列を抽出し、デコード(復号)することで、窃取した情報やマルウェアから送信されたデータの内容を解釈することが可能になります。

逆に、攻撃者からマルウェアへ指令を送る場合には、DNSの応答データに指令をエンコードして含めることで、双方向の通信を確立します。

この一連のやり取りは、形式上は通常のドメイン名からIPアドレスへの変換(DNSの名前解決)に見えるため、DNS通信の内容まで詳細に監視していない環境では、不正な通信として識別することが非常に困難です。

DNSトンネリングがもたらすリスク


DNSトンネリングの被害に遭うと、具体的にどのようなリスクが生じるのでしょうか。

DNS通信は、 インターネット利用に不可欠なため、多くの環境で常時許可されています。

その結果、不正通信が長期にわたって、気がつかれずに行われるリスクがあります。

適切に対策するためにも、具体的な被害リスクについて確認していきましょう。

マルウェア感染による遠隔操作

DNSトンネリングは、外部の指令サーバーからマルウェアへ指令を送るための通信経路として悪用されます。

社内のデバイスがマルウェアに感染すると、攻撃者はDNS通信を介して、感染デバイスを自由に遠隔操作ができるようになります。

これにより、以下のようなさらなる攻撃活動が可能になります。

  • 新たなマルウェアがダウンロードされる
  • 社内ネットワーク内での横展開
  • 認証情報の窃取

DNS通信を悪用した攻撃は検知が難しいという特性上、被害が拡大しやすいリスクがあります。

関連ページ

マルウェアとは?今すぐ知るべき基礎知識・手口・対策を解説

個人・機密情報の漏洩

DNSトンネリングの最も深刻なリスクの一つが、機密データの窃取です。

攻撃者は、マルウェアに感染させたデバイスから顧客情報や契約情報、財務情報、認証情報といった機密データを盗み出し、DNSクエリに埋め込んで、外部のサーバーへ少しずつ分割して送信します。

DNS通信は通常の業務でも大量に発生するため、その中に紛れ込んだ不正なデータ送信を特定するのは極めて困難です。

このようにDNSトンネリングは、気付きにくい形で継続的に被害が生じる点が、大きな脅威といえます。

DNSトンネリングの検知方法

前述の通り、DNS通信を悪用した攻撃は、通常の通信と区別がつきにくく、検知が非常に難しい特性があります。

見逃してしまうと、長期的かつ継続的な被害が発生するリスクがあるため、企業・組織では適切に対処する必要があります。

ここでは、DNSトンネリングを検知する3つの方法を解説します。

  • DNSクエリの内容(ペイロード)を分析する
  • DNSの通信量を監視して異常を検知する
  • 危険なドメインへのアクセスを監視する

詳しく確認していきましょう。

DNSクエリの内容(ペイロード)を分析する

DNSトンネリングでは、データを運ぶためにDNSクエリのホスト名(サブドメイン)部分が異常に長くなる傾向があります。また、人間が読めないようなランダムな文字列が含まれることも特徴です。

特に、以下のようなホスト名には注意が必要です。

  • 異常に長いホスト名
  • ランダム性の高い文字列
  • Base64形式に類似した文字列

さらに、通常のデータ通信ではあまり使われない「TXTレコード」や特定の用途で使用されるレコードタイプ(CNAMEレコードなど)が不自然に頻繁に利用される場合も、不正通信の可能性があります。

そのため、DNSクエリの内容を詳細に分析し、これらの異常なパターンを検出する仕組みを構築できれば、不正な通信が行われるリスクを低減できます。

DNSの通信量を監視して異常を検知する

DNSトンネリングでは、特定のコンピューターから特定のドメインに対して、継続的にDNSクエリが送信されるケースが多くみられます。

異常な通信の兆候例として以下が挙げられます。

  • 特定のデバイスからのDNSクエリ数が突出して多い
  • 特定ドメインへのクエリが短時間に集中して行われる

異常な通信を検知するには、ネットワーク全体のDNSトラフィックを継続的に監視し、通常とは異なるクエリが発生していないかを確認する必要があります。

ただし、DNS通信を悪用した攻撃は、少量ずつ分割して行われるケースも多いため、他の検知手法と組み合わせて実行することが推奨されます。

危険なドメインへのアクセスを監視する

攻撃者はDNSトンネリングのために、悪意のあるドメインを生成・使用することがあります。

これらのドメインは、しばしば「DGA(ドメイン生成アルゴリズム)」によって自動的に作られます。DGAドメインは、ランダムな文字列を含む不自然な名称になっているケースが多いです。

そのため、このDGAドメインを検出することで、DNSの悪用を検知できる可能性があります。

例えば、以下の方法で検出が可能です。

  • セキュリティベンダーなどが提供する脅威インテリジェンスと照合する
  • 評判の悪いドメインや既知の悪性ドメインのリストとログを突合する
  • 新規登録ドメインへのアクセスが行われていないか監視する

DNS通信のログを継続的に分析し、危険なドメインへのアクセスを早期に検知できる体制・仕組みを構築することが重要です。

DNSトンネリングへの対策

不正な通信の検知だけでなく、DNSトンネリングによる攻撃を未然に防ぐための積極的な対策を講じることも重要です。

本記事では、DNSトンネリングの被害を未然に防ぐために有効な対策を4つ紹介します。

  • 外部DNSへの直接通信の禁止
  • DNSファイアウォールの導入
  • DGA(ドメイン生成アルゴリズム)の検知
  • 定期的なDNSログの監視と分析

企業のネットワーク環境を安全に維持するために、実施をご検討ください。

外部DNSへの直接通信の禁止

DNSトンネリングへの対策として特に重要なのは、個別のデバイスから外部DNSサーバーへの直接通信を禁止することです。

多くの組織では、従業員のデバイスがインターネット上の公開DNSサーバーへ直接問い合わせできる構成になっている場合があります。

しかしこの状態では、攻撃者が用意したDNSサーバーとデバイスが直接通信できてしまい、DNSトンネリングの通信経路として悪用される危険性があります。

そのため、以下のような通信制御を行うことが求められます。

  • デバイスからインターネット上のDNSサーバーへ直接通信させない
  • 53番ポートの外向き通信を制限する
  • DNS通信は社内DNSサーバー経由のみ許可する

このように制御することで、攻撃者のDNSサーバーへ直接クエリを送信する経路を大きく制限できます。

DNSトンネリングは通信経路が確立して初めて成立する攻撃のため、まずは外部DNSへの直接通信を制御することが、基本的かつ重要な対策となります。

DNSファイアウォールの導入

DNSファイアウォールとは、DNS通信に特化したセキュリティソリューションです。

一般的なファイアウォールがIPアドレスやポート番号、プロトコルなどを基に通信を制御するのに対し、DNSファイアウォールは「ドメイン名」を基準に通信を制御します。

具体的には、以下のような仕組みで不正な通信を検知・制御します。

  • 悪意のあるドメインへのアクセスをブロックする
  • DNSクエリの内容(ペイロード)を分析して、トンネリングを検出する
  • DGA(ドメイン生成アルゴリズム)による不審なドメインを検知する

また、既知の脅威インテリジェンスを活用して、危険な通信を名前解決の段階で阻止することも可能です。

DNSファイアウォールを導入することで、DNSトンネリングのようなDNS通信を悪用した攻撃に対しても、異常なパターンを検知して、外部との通信を遮断できます。

DNSはインターネット利用の入り口にあたる通信であるため、この段階で制御が可能になると、悪意のある通信の防止や被害の拡大抑制につながります。

関連ページ

ファイアウォールとは?種類や仕組みをわかりやすく解説

DGA(ドメイン生成アルゴリズム)の検知

DGA(ドメイン生成アルゴリズム)は、攻撃者が指定サーバー(C&Cサーバー)のドメインを自動生成し、頻繁に変更するために用いる技術です。

従来のブラックリスト型対策では、既知の悪意のあるドメインを登録することで、通信を遮断します。

しかし攻撃者がDGAを用いると、マルウェアが大量のドメイン候補を自動生成し、その中の一部を実際の指令サーバーとして利用します。

これにより、ドメインが次々と変化するようになると、ブラックリストへの登録が追いつかず、対策を回避されてしまう可能性があります。

そこで、近年のセキュリティ製品には、以下のような特徴を分析することで、DGAによって生成された可能性が高いドメインを検知する機能が搭載されているものがあります。

  • ドメイン名の文字列のランダム性
  • 不自然な文字列のパターン
  • 実在しない単語の組み合わせ

このような技術を活用することで、既知のドメイン情報に登録されていないような、未知の脅威にも対応できるようになります。

DGA検知とブラックリスト型対策を組み合わせることで、未知の脅威にも対応しやすくなります。

定期的なDNSログの監視と分析

どのようなセキュリティソリューションを導入するにしても、基本となるのは自社のネットワーク通信を正しく把握することです。

DNSトンネリングを防止するためには、まずDNSサーバーのクエリログを継続的に収集・分析し、通常時の通信パターンを把握しておくことが欠かせません。

通常の通信パターンを把握できていない場合、異常な通信を識別することは非常に困難です。

具体的には、以下のようなログを収集し、可視化しておくことが重要です。

  • 通常通信時のクエリ数
  • 頻繁に利用されるドメイン
  • デバイス別の通信傾向

さらに、異常が発生した際に迅速に検知できる体制構築も必要です。

例えば、SIEM(Security Information and Event Management)などのログ分析ツールを活用し、監視体制を強化することが有効です。

ログの可視化と継続的な監視体制を構築することで、DNSトンネリングのような検知が難しい攻撃にも、対応できるようになります。

関連ページ

SIEMとは?わかりやすく機能や必要な理由・導入メリットを解説

DNSトンネリングへの耐性評価にLANSCOPE プロフェッショナルサービスの「ペネトレーションテスト」


DNSトンネリングをはじめとするDNS通信を悪用した攻撃を防ぐためには、本記事で紹介した「DNSファイアウォールの導入」や「DNSログの監視・分析」といった技術的対策が重要です。

しかし、それだけでは十分とは言えません。

実際の攻撃では、設定ミスや過剰な権限設定、外部DNSへの直接通信を許可している構成など、環境側に存在する「抜け道」が悪用されるケースが少なくありません。

こうしたリスクに対応するには、自社環境がDNSトンネリングの踏み台として悪用され得る状態にないかを、机上の確認ではなく、実践的に検証することが重要です。

その有効な手段として、本記事ではLANSCOPE プロフェッショナルサービスの「ペネトレーションテスト」を紹介します。

本サービスでは、実際の攻撃者と同様の手法を用いて、以下の項目を検証します。

  • 外部DNSへの直接通信が可能な状態になっていないか
  • DNS経由でのC2通信が成立するか
  • 権限昇格や横展開に発展する経路が存在しないか

技術的対策を導入するだけで安心するのではなく、「実際に突破できてしまう経路が存在しないか」を確認することで、対策の優先順位を明確にし、より実効性の高い対策を講じることが重要です。

DNSはあらゆる通信の前提となる重要インフラです。

だからこそ、「見えにくい構成上の抜け道」を可視化し、早期に改善することが求められます。

関連ページ

LANSCOPE プロフェッショナルサービスペネトレーションテスト」

ペネトレーションテスト
報告書サンプル

シナリオ毎のテスト結果と、想定される被害・最適な対策方法を記載した報告書のサンプルをご覧いただけます。

資料をダウンロードする

まとめ

本記事では「DNSトンネリング」をテーマに、その仕組みから危険性、検知・対策方法などについて解説しました。

本記事のまとめ

  • DNSトンネリングとは、DNS通信の仕組みを悪用して、本来の目的とは異なるデータやコマンドを送受信するサイバー攻撃手法
  • DNSトンネリングがもたらす主なリスクとして、「マルウェア感染による遠隔操作」「個人・機密情報の漏洩」などが挙げられる
  • DNSトンネリングを検知する方法には、「DNSクエリのペイロード(内容)を分析する」「DNSの通信量を監視して異常を検知する」「危険なドメインへのアクセスを監視する」などがある
  • DNSトンネリングを未然に防ぐためには、「DNSファイアウォールの導入」「DGA(ドメイン生成アルゴリズム)の検知」「定期的なDNSログの監視と分析」などが有効

DNSトンネリングは、多くの組織が見過ごしがちなDNS通信の特性を悪用する巧妙なサイバー攻撃です。

ファイアウォールなどの従来の対策だけでは防ぐことが難しく、気付かないうちに被害が拡大する可能性があります。

そのため、DNS通信の監視と分析を取り入れた防御策を講じることが重要です。

本記事で紹介した対策方法を参考に、DNS通信を悪用した攻撃への対策をご検討ください。

なお、技術的な対策に加えて、自社のネットワーク状況を正確に把握し、攻撃者に狙われる可能性が高い「設定不備」や「ネットワーク構成上の弱点」を解消することも基本的かつ重要な対策となります。

本記事で紹介したLANSCOPE プロフェッショナルサービスの「ペネトレーションテスト」は、このような「設定不備」や「ネットワーク構成上の弱点」など、自社環境がDNSトンネリングの踏み台として悪用され得る状態にないかを、実際の攻撃者と同じ手法を用いて検証するサービスです。

DNSトンネリングをはじめとするネットワーク型攻撃への対策を強化したい企業・組織の方は、ぜひペネトレーションテストの実施をご検討ください。

ペネトレーションテスト
報告書サンプル

シナリオ毎のテスト結果と、想定される被害・最適な対策方法を記載した報告書のサンプルをご覧いただけます。

資料をダウンロードする