【でぃーえぬえすとんねりんぐ】

DNSトンネリング とは?

最終更新:
💡 DNSの問い合わせや応答に、別の通信を載せる

DNSの問い合わせや応答へ、別の通信のデータを埋め込んで運ぶ手法。マルウェアの指令通信や情報の持ち出しに悪用される。DNS通信が許可されていても必ず通るわけではなく、通信先の制御や振る舞いの監視が必要になる。

📌 このページのポイント
DNSの経路で、別の通信を運ぶ通常:名前やレコードを問い合わせる端末リゾルバー権威例:www.example.test悪用例:問い合わせ名にデータを載せる感染端末リゾルバー攻撃者例:data01.attacker.test応答にも別のデータを載せる場合があるDNSが必ず通る・常に検知できるとは限らない
矢印は問い合わせ方向で、応答や途中の探索・キャッシュは省略。ドメインは説明用の仮名で、data01はエンコード手順を示す値ではない。長さや量だけで正常・攻撃を断定せず、通信先と端末の動きも確認する。
ひよこ ひよこ
DNSトンネリングって、DNSで何を運ぶの?
ペンギン先生 ペンギン先生
問い合わせの名前や応答のデータに、別のデータを埋め込むんだ。DNSにはIPアドレス以外の情報を返す仕組みもあるので、名前をアドレスへ変えるだけの仕組みではないよ。攻撃では指令や結果のやり取り、情報の持ち出しに悪用されることがある。
ひよこ ひよこ
DNSなら、必ずファイアウォールを通れる?
ペンギン先生 ペンギン先生
DNSはよく使われるため、通常の通信に紛れ込もうとする狙いがあるよ。でも外部のどのサーバーへも通信できる保証はない。許可したリゾルバーだけを使わせたり、問い合わせ先のドメインを制御したりする設定もあるんだ。
ひよこ ひよこ
問い合わせだけで、相手へ届くの?
ペンギン先生 ペンギン先生
リゾルバーが攻撃者の管理するドメインの権威サーバーへ問い合わせを届ける形があるよ。そのサーバーが、埋め込まれたデータを読み、応答へ別の情報を載せる。中継やキャッシュなども関わるので、全てのDNS応答に自動で指令が入るわけではないんだ。
ひよこ ひよこ
長い名前や大量の問い合わせなら攻撃なの?
ペンギン先生 ペンギン先生
兆候にはなるけれど、それだけで断定しないよ。正常なサービスも長い名前や多くの問い合わせを使う場合があり、少量で間隔を空ける通信もある。頻度・名前の特徴・通信先・発生元のプロセスなどを合わせて確認するんだ。
ひよこ ひよこ
対策はどうすればいいの?
ペンギン先生 ペンギン先生
許可したリゾルバー経由へ制限し、不審なドメインへの問い合わせを制御する。DNSログを集め、普段との違いや端末上の動きも調べるよ。社内DNSへ向けるだけで全トンネルを止められるとは限らず、その先の問い合わせと暗号化されたDNS経路も方針に含めるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「DNSトンネリング」って出てきたら「DNSの通信に別のデータを載せて運ぶ手法」と思えばだいたいOK!
📖 おまけ:英語の意味
「DNS Tunneling」 = DNSを通路にした通信
💬 Tunnelingは、ある通信の中へ別の通信を載せて運ぶことを表すよ。ここではDNSの形式を通路として利用するんだ。

参考資料

← 用語集にもどる