DNS通信を隠れ蓑にする「DNSトンネリング」とデータ漏えい検知
確認時の注意:事例の報道内容や影響範囲は更新される可能性があります。公開時点の一次情報、公式発表、脆弱性情報を確認し、環境の所有者の承認とバックアップを準備してから対策を適用してください。
【背景と概要】
Web通信(HTTP/HTTPS)やファイル転送(FTP)などの一般的な通信プロトコルは、多くの企業においてファイアウォールやProxy、SWGによって厳しく監視・ログ解析されています。
そこで攻撃者が目をつけたのが、インターネット接続の基本インフラである「DNS(Domain Name System)」通信です。DNS通信は名前解決のために基本的に制限なく外部へ通過することが多いため、この通信の中に機密データを細切れにして隠し持ち出す「DNSトンネリング(DNS Tunneling)」の手口が横行しています。
【DNSトンネリングのメカニズムと手口】
攻撃者は自身が管理する悪意あるDNSサーバーを用意し、以下のようにデータを持ち出します。
- データのエンコードとサブドメイン化
社内PCから持ち出したいデータ(例: 顧客のクレジットカード情報や暗号化ファイル)をBase64などでエンコードし、自社DNSサーバー宛の「サブドメイン名」として整形します(例: [エンコードデータ].attacker-domain.com)。
- DNSクエリに乗せた送信
社内PCが名前解決のために社内DNSサーバーへ問い合わせ(クエリ)を投げると、そのクエリが順次転送され、最終的に攻撃者のDNSサーバーへ届きます。
- 攻撃者側でのデータ復元
攻撃者のDNSサーバーは届いたサブドメイン文字列を結合・復号することで、ファイアウォールに検知されることなく機密データを収集します。
【DNSトンネリングがもたらすリスク】
通常のプロキシやWebフィルターの監視範囲外でデータが持ち出されるため、データ流出が発生していてもSOCやセキュリティチームが気づきにくいという構造上の危険性があります。
【DNSセキュリティ(DNS Security)対策】
DNS通信は「素通りさせて良い通信」ではなく「監視すべき通信」としての管理が必要です。
- DNSプロキシ / クラウドDNSセキュリティの導入
Cisco Umbrella や Cloudflare Gateway などのクラウド型DNSセキュリティを導入し、不審なドメインや構造を持つDNSリクエストをリアルタイムで遮断します。
- DNSトラフィックの異常解析(TXT/Aレコード監視)
特定のドメインに対して短時間に大量のテキストクエリ(TXTレコードや非常に長いサブドメインを持つAレコードクエリ)が発生していないか、通信パターンの機械学習分析を行います。
- 外部DNSサーバーへの直接通信(Port 53)の遮断
社内PCから指定の社内DNSサーバー以外(外部のパブリックDNS等)への直接的なPort 53通信をファイアウォールで禁止します。