ドメインネームシステム(DNS)は、インターネットの基盤となるディレクトリとして機能し、人間が理解しやすいホスト名を、機械が読み取れるIPアドレスに変換します。ほぼすべてのネットワークアプリケーションが名前解決に依存しているため、組織では通常、境界を越えるアウトバウンドのDNSトラフィックを、ほとんど審査することなく許可しています。不正なWeb閲覧、ファイル転送、SSH接続をブロックするファイアウォールであっても、ポート53はほぼ例外なく完全に開放されたままになっています。
攻撃者は、このデフォルトの信頼関係を悪用します。標準的なルックアップリクエストを通じて不正なデータを流すことで、攻撃者は直接的なTCP接続を確立することなく、内部ホストと密かに通信し、知的財産を盗み出すことができます。こうした隠れた通信経路と、より広範なDNSの脆弱性を理解することは、強靭な企業防御体制を構築するために不可欠です。
DNSトンネリングとは何ですか?
DNSトンネリングとは、標準的なDNSクエリやレスポンスの中に、DNS以外のプログラム、データペイロード、またはリモートコマンドを埋め込むサイバー攻撃の手法です。再帰型リゾルバーは、こうした検索を日常的にネットワーク境界を越えてルーティングするため、攻撃者は境界ファイアウォール、ネットワークプロキシ、コンテンツフィルタを完全に迂回する安定した双方向通信チャネルを確立することができます。
大まかに言えば、このプロトコル悪用は、攻撃者が運営するドメイン宛てに送信されるクライアントのクエリを利用しています。侵害されたソフトウェアがデータを送信する必要がある場合、そのデータをルックアップのサブドメインラベルに埋め込みます。再帰的リゾルバーは、クエリが攻撃者の権威サーバーに到達するまでそれを上流へと転送し、権威サーバーはペイロードを抽出するとともに、標準的なDNS応答レコード内に埋め込まれた指示を返送します。
DNSトンネリング攻撃の仕組み
DNSトンネルを実行するには、企業の再帰的リゾルバーを侵害したり、中核となるDNSルートサーバーを改ざんしたりする必要はありません。その代わりに、以下のライフサイクルを通じて、標準的なDNSルーティングの仕組みを利用します:
1. インフラの準備:攻撃者は、パブリックドメイン名(例:attacker-c2.net)を登録し、そのドメインおよびサブドメインに対するすべてのクエリを処理するよう、自身が管理する権威ネームサーバーを設定する。
2. ペイロードの配信:フィッシング、ソフトウェアの脆弱性悪用、またはサプライチェーンの改ざんにより、内部エンドポイントが侵害される。このエンドポイント上で実行されるマルウェアには、ローカルデータをDNS準拠のラベルにパッケージ化するために特別に記述されたロジックが含まれている。
3. データのエンコードと分割:DNSプロトコルの規格(RFC 1035)では、個々のドメインラベルは63文字、完全なドメイン名は253文字に制限されているため、マルウェアは大きなデータセットを小さなチャンクに分割します。 各チャンクをBase32や16進数などの形式でエンコードし、その結果をサブドメインとして付加します(例:4d616c6963696f7573.data.attacker-c2.net)。DNSの検索では大文字と小文字が区別されないため、Base32が頻繁に選択されます。
4. 再帰的解決:エンドポイントが標準的なDNSルックアップを開始します。このマシンは社内のDNSリゾルバーを使用するように設定されているため、クエリはまず社内サーバーに送信されます。社内サーバーは通常のリクエストであると判断し、そのレコードがキャッシュされていないことを確認した上で、グローバルDNS階層を通じてルックアップを転送します。
5. ペイロードの抽出:クエリは最終的に攻撃者の権威ネームサーバーに到達します。攻撃者のサーバーは、ウェブサイトのホスティング先となる正当なIPアドレスを返す代わりに、親ドメイン名を削除し、エンコードされたサブドメイン文字列を抽出し、元のデータを再構築します。
6. 応答を介したコマンド送信:企業ネットワークへコマンドを送信するために、権威サーバーは応答レコードを作成します。攻撃者は、1つの文字列につき最大255文字まで対応可能なTXTレコード、あるいはCNAMEレコードやNULLレコードを頻繁に利用します。企業のリゾルバーが感染したホストに応答を返す際、クライアント側のマルウェアはペイロードを抽出し、オペレーターの指示を実行します。
この一連のやり取りを通じて、感染したエンドポイントは攻撃者のインフラに対して直接ネットワーク接続を確立することは一切ありません。すべてのバイトは、正規の企業用DNSサーバーを経由して問題なく通過します。
攻撃者がDNSトンネリングを何に利用するのか
ネットワーク管理者は診断のために時折トンネリングユーティリティを使用することがありますが、脅威アクターはサイバーキルチェーンのいくつかの重要な段階でこの手法を活用しています。

データの流出
データ流出は、DNSトンネリングの最も一般的な目的です。攻撃者が、支払い記録、認証情報、または独自のソースコードを含むシステムを侵害した場合、外部へのWebアクセスは、多くの場合、データ漏洩防止(DLP)プロキシによって厳重にフィルタリングまたは検査されます。
マルウェアは、機密データを連続した断片に分割し、サブドメインのルックアップを通じて送信することで、HTTPやFTPセッションを開くことなく、ギガバイト単位の情報を徐々に送り出すことができます。
コマンド・アンド・コントロール(C2)
マルウェアがシステム内に足場を築くと、オペレーターからの指示を受け取るための信頼できる経路が必要となります。攻撃者は、主要なHTTPS接続が切断された際の防御的な代替経路として、iodineやdnscat2などのトンネリングユーティリティを頻繁に展開します。セキュリティチームは、インシデント対応の際に、これらのツールのシグネチャを認識しておく必要があります。
双方向のDNSトンネルを通じて、攻撃者は管理コマンドを実行したり、二次的なマルウェアをアップロードしたり、セグメント化されたネットワークの奥深くで横方向の移動を調整したりすることができます。
ネットワーク制御とキャプティブポータルの回避
ホテルのWi-Fiネットワーク、空港のホットスポット、あるいは隔離された企業のゲストVLANといった制限のある環境では、通常、ユーザーがキャプティブポータルでの認証を完了するまで、ネットワークスイッチはすべての外部へのWebトラフィックをブロックします。
ただし、ポータルページ自体の解決を可能にするには、ネットワーク側でポート53でのDNSリクエストを許可する必要があります。攻撃者や不正なユーザーは、DNSトンネルを利用して、これらの開放されたリゾルバーを経由して制限のないインターネットトラフィックをルーティングし、キャプティブ・ビリングの壁やネットワーク隔離制御を迂回します。
DNSトンネリング攻撃の実例
DNSトンネリングは決して理論上の話ではありません。高度な手口を用いる脅威グループや国家主体の攻撃者は、大規模なサイバー攻撃キャンペーンにおいて、DNS通信を繰り返し組み込んできました。
1. SUNBURST(SolarWindsのサプライチェーン侵害)
サイバーセキュリティ史上、最も重大なサプライチェーン侵害の一つは、DNS ベースのシグナリングに大きく依存していた。SolarWinds Orion ソフトウェアへの悪意のあるアップデートを通じて配布されたバックドア「SUNBURST」では、マルウェアは avsvmcloud.com の下にある動的なサブドメインを使用して、攻撃者と通信していた。
このバックドアは、ホストの基本情報を収集し、そのデータを英数字の文字列に変換して、ルックアップリクエストの先頭にサブドメインとして付加していました。攻撃者の管理下にある権威ネームサーバーがこれらのクエリを受信すると、セカンダリコマンドサーバーや特定のIPアドレス範囲を指すCNAMEレコードを応答として返し、バックドアに対してスリープ状態への移行、終了、あるいはセカンダリHTTPチャネルの起動を指示しました。この攻撃手法の全容については、CISAアドバイザリAA20-352Aに詳述されています。
2. OilRig(APT34)のDNSバックドア
「OilRig(APT34)」として知られるイラン政府支援の脅威グループは、コマンドの送信とデータの持ち出しの両方において、DNSトンネリングを体系的に悪用してきた。エネルギー、金融、政府機関を標的とした複数のキャンペーンにおいて、OilRigはALMA Communicator、DNSpionage、Saitamaといった独自のマルウェアファミリーを展開した。
これらのインプラントは、被害マシンを監視し、機密ファイルを抽出するとともに、そのデータを構造化して、攻撃者が制御するネームサーバー宛ての大容量のDNSクエリとして送信します。標準的な通信プロトコルが機能しなくなったり、ファイアウォールによってWeb通信経路が遮断されたりした場合、このマルウェアは、持続性と管理権限を維持するために、自動的にDNSトンネリングに切り替えます。
DNSトンネリングを検出する方法
正規のネットワークでは毎日数百万件のDNSトランザクションが処理されているため、悪意のあるトンネルを検知するには、個々のクエリの特性と、より広範なトラフィックの傾向の両方を分析する必要があります。検知戦略は、一般的に「ペイロード分析」と「トラフィック分析」という2つの主要な分野に分類されます。
ペイロード分析
ペイロード解析では、個々のDNSリクエストおよびレスポンスに含まれる特定の文字列、構造、およびリソースレコードを検査します。
- サブドメインの長さと構造:標準的なサブドメインは通常、mail.company.com や api.internal.local のように、短く、人間が読みやすいものです。トンネリングクエリでは、長いエンコードされた文字列をサブドメインに詰め込むことでデータ転送量を最大化し、多くの場合、63文字というラベルの制限に限りなく近づけます。
- 情報エントロピー:暗号化または符号化された文字列は、自然言語の単語と比較して、統計的なエントロピー(ランダム性)が高い傾向があります。セキュリティ分析プラットフォームは文字の分布を評価しますが、文字の分布に異常が見られる文字列、反復的な英数字のパターン、あるいは母音が欠落している構造を持つ文字列は、データの符号化を強く示唆しています。
- 通常とは異なるリソースレコードの種類:一般的なビジネストラフィックでは、主にAレコード、AAAAレコード、MXレコードが使用され、CNAMEレコードが時折使用される程度です。ネットワークサービスを実行していないエンドポイントから、TXTレコード(長い文字列を含む)、NULLレコード(任意のバイナリブロブを含む)、またはSRVレコードに対するルックアップが突然大量に流入した場合は、プロトコルの不正使用が疑われます。
- 非標準の文字セット:Base32のパディング文字、16進数シーケンス、または通常とは異なる記号の配列を含むクエリは、直ちに隔離して検査する必要があります。
トラフィック分析
トラフィック分析では、経時的なクエリパターンの集計データを調査し、個々のクエリが一見正常に見えても、異常な運用挙動を検知します。
- 特定のドメインへの異常なクエリ量:正当なDNSの利用では、キャッシュの恩恵を受けます。ホストがexample.comを解決すると、再帰的リゾルバーはそのレコードをTime to Live(TTL)の期間中キャッシュし、同一の外部ルックアップを抑制します。一方、DNSトンネルでは、漏洩するデータごとにキャッシュから提供できない、まったく新しい一意のサブドメインが必要となるため、リクエストが絶え間なく発生します。
- 完全修飾ドメイン名(FQDN)の割合が高い:1時間の間に、単一のトップレベルドメインの下で解決される数千もの固有のサブドメインが確認されることは、トンネルがアクティブであることの確かな指標となります。
- 新規登録ドメイン(NRD):攻撃者は、静的なレピュテーション・ブロックリストを回避するために、一時的なドメインを頻繁に切り替えています。過去24時間から72時間以内に作成されたドメインへのクエリについては、より厳格な検査を実施する必要があります。
- ポート53への直接的な外部接続:セキュアなエンタープライズアーキテクチャでは、標準的なユーザーワークステーションは、指定された内部リゾルバーとのみ通信すべきです。外部のパブリックリゾルバー(8.8.8.8 や 1.1.1.1 など)に直接 DNS リクエストを送信しようとするワークステーションは、多くの場合、内部の監視を迂回しようとしているものです。
役立つツールと技術
大規模なDNSトンネリングを検知するには、その目的のために特別に設計された防御用監視ツールが必要です:
- 保護型DNS(PDNS)プラットフォーム:クラウド型およびハイブリッド型のPDNSサービスは、内部のリゾルバーとインターネットの間の層に位置し、リアルタイムの脅威インテリジェンスと行動モデルを適用して、解決が完了する前に悪意のあるルックアップを遮断します。
- ネットワーク検出・対応(NDR):最新のNDRツールは、ネットワークスパンを受動的に検査し、遅延を発生させることなく、機械学習モデルを用いてエントロピーの高いサブドメインやプロトコルトンネリングを特定します。
- セキュリティ情報およびイベント管理(SIEM):内部DNSリゾルバーのデバッグログをSIEMに転送することで、エンジニアリングチームは、異常に多い数の固有ドメインクエリを生成しているエンドポイントを特定する相関ルールを設定できます。
- 統合型DNSセキュリティ監視:効果的な防御は、アウトバウンドトラフィックの検査にとどまらず、権威ゾーンを監視して、脅威アクターが企業のレコードを改ざんしていないことを確認することも必要です。包括的なDNSセキュリティ監視ソリューションは、企業がパブリックドメイン全体におけるレコードの改ざん、不正なインフラの変更、およびコンプライアンス上の不備を追跡するのに役立ちます。
PowerDMARCの包括的なDNSセキュリティ監視ソリューションは、企業がパブリックドメイン全体におけるレコードの改ざん、不正なインフラの変更、およびコンプライアンス上の不備を追跡するのに役立ちます。この予防的な監視により、権威DNSゾーンが改ざんから確実に保護されるだけでなく、目立たないプロトコル悪用を検知するために必要な詳細な可視性も提供されます。
DNSトンネリングを防ぐ方法
トンネリングの検知は極めて重要ですが、予防的なネットワークアーキテクチャの制御により、データが環境外へ流出する前に多くのトンネリングの試みを阻止することができます。セキュリティチームは、以下のセキュリティ強化策を実施すべきです:

- アウトバウンドDNSルーティングの制限:境界ファイアウォールを設定し、標準エンドポイントから発信されるポート53のすべてのアウトバウンドUDPおよびTCPトラフィックをブロックします。インターネットへのアウトバウンド接続を確立できるのは、指定された、セキュリティ対策が施された内部DNSリゾルバーのみとする必要があります。
- 承認されていない DoH および DoT プロトコルを制限する:脅威アクターは、暗号化されたWebトラフィックの中にクエリを隠すために、DNS over HTTPS(DoH)やDNS overTLS(DoT)を利用したトンネル通信をますます多用しています。既知のパブリック DoH/DoT リゾルバーの IP アドレスへのアウトバウンド接続をブロックし、内部の証明書検査を義務付ける企業プロキシポリシーを適用してください。
- DNSフィルタリングと脅威インテリジェンスフィードの導入:動的な脅威インテリジェンスフィードを企業のリゾルバーに統合します。信頼性の高いブロックリストにより、新たに特定されたマルウェアキャンペーン、動的DNSプロバイダー、または稼働中のC2インフラに関連するドメインを標的としたクエリは、即座に遮断されます。
- DNSシンクホールの導入:再帰型リゾルバーが既知の悪意のあるドメインに対するクエリを検知すると、シンクホール機能により、そのリクエストは内部のルーティング不可能なダミーIPアドレスにリダイレクトされます。これにより、攻撃を無力化するとともに、感染した内部ホストについてセキュリティ担当者に即座にアラートが通知されます。
- エンドポイントにおける最小権限の徹底:悪意のあるトンネリングスクリプトやユーティリティは、ネットワークソケットを操作したりバックグラウンドサービスを実行したりするために、ローカル実行権限を必要とします。管理者権限を制限し、アプリケーションの許可リストを徹底し、最新のエンドポイント検出・対応(EDR)エージェントを実行することで、悪意のあるコードが実行されるのを未然に防ぐことができます。
- 包括的なDNSのセキュリティ管理を実施する:既知の脆弱性に対してすべてのDNSソフトウェアにパッチを適用し、確立されたDNSセキュリティのベストプラクティスに従って、設定を定期的に監査する。
DNSトンネリングとその他のDNS攻撃の比較
ドメインネームシステム(DNS)は複数のアーキテクチャ層にわたって脆弱性があるため、セキュリティチームはしばしば、トンネリングを他の形式のDNS操作と混同しがちです。以下の表に、運用上の違いをまとめました:
名前解決インフラに影響を及ぼす脅威についてさらに詳しく知りたい場合は、さまざまな種類のDNS攻撃に関する当社のガイドをご覧ください。
よくあるご質問
DNSトンネリングは違法ですか?
はい、DNSトンネリングを利用して、許可されていないデータを外部へ流出させたり、マルウェアを配布したり、あるいは明示的な許可なしに企業ネットワークへの隠密なアクセス権を確立したりすることは違法であり、米国の「コンピュータ詐欺・濫用法(CFAA)」など、世界各国のコンピュータ犯罪に関する法令に違反します。
従来のファイアウォールは、DNSトンネリングを阻止できるのでしょうか?
標準的なファイアウォールだけでは、DNSトンネリングを阻止することはほとんどありません。標準的なファイアウォールは、送信元、宛先、およびポートに関するルール(ポート53でのUDP/TCPトラフィックを許可する)のみをチェックするため、トンネリングクエリを通常の名前解決として扱ってしまうからです。トンネリングを阻止するには、次世代ファイアウォール(NGFW)、ディープパケットインスペクション(DPI)、あるいはペイロードのエントロピー、クエリの頻度、ドメインのレピュテーションを評価する専用のプロテクティブDNSサービスが必要となります。
DNS over HTTPS(DoH)によって、トンネリングの検知は難しくなるのでしょうか?
はい。DNS over HTTPS(DoH)は、ポート443を介した標準的なTLSセッション内でクエリと応答を暗号化するため、DNSトラフィックは通常の暗号化されたHTTPSウェブブラウジングと見分けがつかなくなります。マルウェアがDoHを使用して外部のパブリックリゾルバーにアクセスする場合、従来のネットワーク監視ツールでは、アクティブなTLS復号プロキシがない限り、サブドメインやペイロードの内容を検査することができません。そのため、許可されていないパブリックリゾルバーへの直接的なアウトバウンドDoH接続をブロックすることが極めて重要です。
DNSトンネリングとDNSエクソフィレーションの違いは何ですか?
DNSによる情報流出は特定の目的であるのに対し、DNSトンネリングはより広範な伝送メカニズムである。DNSによる情報流出とは、厳密にはDNSクエリを介した機密データの外部への送信および窃取を指す。これに対し、DNSトンネリングは双方向も可能であり、双方向のコマンド&コントロールシェルを確立したり、オペレーターからのコマンドを受信したり、制限されたネットワーク間で一般的なIPトラフィックをルーティングしたりすることができる。
締めくくりの言葉と今後の予定
DNSは、現代の組織にとって、そう簡単に無効化できない不可欠なプロトコルであり続けています。残念ながら、その広範な普及範囲と、ファイアウォールでの緩やかな処理設定により、攻撃者は今後もDNSをバックドアとして悪用し、機密性の高い知的財産を盗み出し、継続的なアクセス権を維持し続けることが確実です。DNSトンネリングに対抗するには、継続的なネットワーク可視性、ポート53に対する堅牢な送信フィルタリング、そして異常なクエリ動作をリアルタイムで検知できる自動検査機能が必要です。
組織のネットワークを防御するには、まず外部からの攻撃対象領域がどのような状態にあるかを把握することから始まります。企業は、外部へのクエリパターンを監視するだけでなく、対外向けのドメインインフラストラクチャやメール認証プロトコルが、なりすまし、不正なレコード改ざん、設定ミスから完全に保護されていることを確認する必要があります。PowerDMARCの無料ドメインアナライザーを活用して、ドメインの状態を即座に確認し、SPFおよびDMARCの適用状況を検証し、攻撃者に悪用される前にセキュリティ上の脆弱性を発見しましょう。

