ナビゲーションをスキップする
BlackBerry ブログ

DNS トンネリング:検知と予防のためのガイド

原文のブログはこちらからご覧いただけます。

DNS トンネリング攻撃は、数週間、場合によっては数か月にわたって行われる可能性があります。時には、データの抜き出しが判明してインシデントのトリアージを余儀なくされるまで、攻撃を受けていたことに気づかない場合もあるでしょう。

筆者はサイバーセキュリティ業界に身を置く BlackBerry の機械学習(ML)エンジニアとして、絶えず進化する脅威アクターの戦術、技法、手順(TTP)に対抗する新手法の開発に従事しています。DNS トンネリングは特に目立ちにくい手法であり、脅威アクターがこれを用いると、ファイアウォールのような従来のデジタル防御のほとんどが回避されます。本記事では、DNS トンネリングの概要とその仕組み、さらには予防策を紹介し、最後に DNS セキュリティのベストプラクティスについて概説します。

DNS トンネリングとは

ドメインネームシステム(DNS)は、インターネット上の電話帳のようなものと考えることができます。これはプロトコルの一種であり、ユーザーの母国語で書かれたわかりやすいドメイン名や URL を、IP アドレス、すなわちコンピューターが所定の宛先にトラフィックを転送するために用いる数値に変換します。これによりユーザーは意味のない数字の羅列を覚える必要がなくなり、たとえば BlackBerry.com など、Web サイトの「名前」を知っていれば事足りるようになります。DNS はブラウザーに入力された Web サイトの名前を自動的に処理し、その Web サイト(厳密には Web サイトがホストされているサーバー)に割り当てられた固有の値に変換します。

DNS は世界中の組織と個人に広く利用され、また信頼されています。長年、このシステムが重大なセキュリティ脅威と見なされることはなかったため、多くの組織はDNS トラフィックに対し、他のソースからのトラフィックと同等の精査はしてきませんでした。この考え方は今なお多くの組織に根付いています。そしてこれこそが、企業ネットワークに対する効果的で目立ちにくい攻撃として、脅威アクターが DNS ベースの攻撃(ランサムウェアで用いられるDNS トンネリングの手法など)を頻繁に採用する理由の 1 つなのです。

DNS トンネリングの概要は次の動画でご覧いただけます(視聴時間:約 10 分)


DNS トンネリングの仕組み

DNS トンネリングは DNS プロトコルを悪用し、エンドポイントに対して「生きた」ネットワーク接続を確立することなく、ネットワーク上でデータを転送します。大きく分けて、DNS トンネリング攻撃には次の 3 つの段階があります。

  1. 脅威アクターがドメインを登録します。以下では例として tunnel[.]badactor[.]com を使用しますが、このドメイン名は脅威アクターのコマンドアンドコントロール(C2)サーバーを指しています。このサーバーは各種の通信とその後のデータ窃取のために使用されるもので、トンネリングマルウェアのプログラムがインストールされています。
  2. 脅威アクターが標的組織のコンピューターにマルウェアを感染させ、望みの情報を暗号化させます。ここでは、マルウェアの目標が Alice、Bob、Eve というユーザーのリストを Base64 データとして転送することだとします。この命令は単なる文字列のように見え、たとえば「W2FsaWNlLCBib2IsIGV2ZV0」のようになります。DNS 要求がファイアウォールでブロックされることはほとんどないため、感染したコンピューターは脅威アクターのドメイン(この例では「W2FsaWNlLCBib2IsIGV2ZV0.tunnel.badactor.com」)に対して DNS 要求を送信できます。
  3. DNS リゾルバ(ドメイン名を IP アドレスに変換する機能)が DNS クエリを処理し、トンネリングプログラムがインストールされた脅威アクターの C2 サーバーに転送します。このように、DNS リゾルバが被害者と脅威アクターの間の仲介役となり、エンコードされた標的データが C2 サーバーに転送されることで、被害者から脅威アクターへのデータ転送が実現します。

この時点で、攻撃者はこのトンネルを用いてさらに多くのデータを抜き出し、そのデータをさまざまな悪意のある目的に利用する可能性があります。たとえば闇市場での販売や、「二重脅迫」型のランサムウェア攻撃(この場合、ユーザーのデータは窃取された後にホストマシン上で暗号化されます)に利用するほか、諜報活動に利用することさえあります。脅威アクターと被害者の間に直接的な接点がないことから、DNS トンネリングが使用された場合、防御側による攻撃の発生源の追跡がより難しくなります。

DNS 攻撃の典型的な流れ
 

DNS 攻撃の例

技術的な関心の深い読者のために、ここでは脅威アクターがローカル管理者に関する情報を収集し抜き出す場合の具体例を示します。

1. 攻撃者がマシンにアクセスし、ユーザー情報を収集します。

2. 攻撃者がその情報を Base64 形式でエンコードします。

3. DNS トンネルを経由してデータを転送するため、攻撃者はエンコードしたデータをいくつかの塊に分割し、そのエンコード済みデータをサブドメインとして、自らが所有するドメインに DNS 要求を送信します。
4. DNS サービスは各サブドメインを IP アドレスにマッピングしようと試み、キャッシュ内に当該エントリが見つからない場合に、各アドレスについて badactor[.]com に問い合わせます。こうして攻撃者はエンコード済みのデータを受信し、その後そのデータを単にデコードすることにより、マルウェアが収集した情報を取得します。このプロセスのいずれの時点においても、感染マシンからマルウェアサーバーへの接続や、標準的な通信路を介したデータ転送は行われません。攻撃者は単に DNS の基本的な性質を利用することにより、検知されることなく密かに個人情報を転送するのです。
 

従来型防御による DNS トンネリングへの対処が困難な理由

DNS トンネリングはファイアウォールを迂回して検知を逃れ、従来のセキュリティシステムには何ら手がかりを残さないため、組織と個人の双方にとって真の脅威となっています。技術的にはファイアウォールによるDNS サービスのブロックも可能ですが、その対応は組織に大きな摩擦を生むことになります。ネットワークトラフィックをブロックまたは制限すると、ネットワークリソースやインターネット上の特定の場所にアクセスできず、ユーザーの不満につながります。これでは、IT リーダーやセキュリティリーダーが、ビジネスを実現するどころか、あたかもマイクロマネジメントや生産性の阻害をしているように見られかねません。DNS トンネリングは従来の手法では検知が難しく、単純に阻止するわけにもいかないため、標的とするネットワークで検知されずにデータを抜き出そうとする脅威アクターにとっては、いわば宝の山となっています。

DNS トンネリングの予防

DNS トンネリングを未然に防御するには、いくつかの方法があります。アプローチのひとつは、クラウドネイティブなゼロトラストネットワークアクセス(ZTNA)の導入です。この場合、環境に接続するすべての人、モノは自らの信頼性を継続的に証明する必要があり、さもなければアクセスを拒否されます。正しく導入すれば、このアプローチは組織のエンドユーザーからほぼ意識されることなく機能します。

もうひとつの方法は、トラフィック解析もしくはペイロード解析のいずれかに関連付けられるポリシー設定やルール設定を利用することです。いずれの解析手法も、DNS の監視と攻撃検知のため実践される方法です。以下に、各アプローチが DNS トンネリングのリスクをどのように軽減するか、いくつか例を示します。

  • トラフィック解析では、ドメイン作成後の経過期間や、ドメインによる発行要求数、ドメインに関連付けられた地域、ドメインに関する既知の評判や認識済みリスクなどの要素を考慮し、通常の DNS トラフィックと悪意ある挙動を区別します。

一部の企業では、異常を自動的に特定するため行動分析を導入しています。たとえば、業務時間内に従業員がよく利用する種類のサイトとは異なる新たなドメインへのアクセスは、異常と見なされます。またIT およびセキュリティチームは、既知の評判や認識済みのリスクに基づき、ドメイン名、IP アドレス、または地理的位置へのブロックもできます。これにより、攻撃を特定し阻止できる見込みが増します。

  • ペイロード解析では、DNS クエリの長さ、種類、サイズなどの要素を調べ、疑わしいアクティビティの特定に役立てます。これらの要素はアウトバウンド/インバウンド両方向の DNS クエリに当てはまるため、IT およびセキュリティチームが各要素に関するルールを設定する方法も可能です。

現在、多くの組織が新しい ZTNA テクノロジーを活用し始めています。CylanceGATEWAY™ などの ZTNA ソリューションには DNS トラフィックの解析サービスが組み込まれているため、組織の環境で何が起きているかをより明確に把握できます。テナント管理者は、ユーザーの構成設定に応じて、疑わしいアクティビティを特別なゼロデイアラートタイプとして、あるいはブロック結果として確認できます。

DNS セキュリティのベストプラクティス

ここからは、組織が DNS トンネリングの被害を受けるリスクを軽減するために有効な戦略をいくつかご紹介します。

ゼロトラスト原則の採用

ゼロトラストセキュリティのアプローチでは、デフォルトで「拒否」するという考え方で DNS トンネリング攻撃に対処します。この考え方のもとではネットワーク内外の全ユーザーが潜在的に危険な存在と見なされるため、攻撃のリスクが大幅に低下します。

脅威アクターにとって、DNS 要求は極めて便利なものです。通常、この種の要求はファイアウォールの通過を許可されており、DNS リゾルバを介して DNS 接続が確立された時点で、データの抜き出しが可能になります。しかし、ゼロトラストの場合は強制メカニズムとしてアクセス制御リスト(ACL)ポリシーを適用できるため、この時点で疑わしい挙動と侵入の痕跡(IoC)を検出できる可能性があります。また、ゼロデイ攻撃を阻止、ブロック、トリアージすることもできます。この中にはインサイダー脅威によるデータの抜き出し(他社への転職前に従業員が機密データや専有データをひそかにコピーしようとする場合など)も含まれます。

きめ細やかなアクセス制御の確立

ネットワークセキュリティの基本はアクセス制御であり、ゼロトラストとは切り離せません。両者の連携により、アイデンティティとコンテキストに基づく論理的アクセス境界が実現します。これにより組織の攻撃対象領域が削減され、DNS のセキュリティが強化されます。

脅威インテリジェンスプログラムの導入

組織の目的に合わせて作成されたレポートを入手するために、脅威インテリジェンスプログラムを自社構築するか、脅威インテリジェンスサービスを契約しましょう。また、最も有力な脅威アクターのプロファイルと、彼らが現在使用しているさまざまな TTP について自らの理解を深めるとともに、セキュリティオペレーションセンター(SOC)チームを教育しましょう。こうした知識を持つことにより、データの安全を保つために必要となる適切なポリシーとテクノロジーの確保について、自分自身、またチーム全体が自信を持てます。

AI/ML の採用

Gartner 社は、2035 年までにサイバー攻撃の検知の 90%、対応の 60% が人工知能(AI)で処理されるに至ると予測しています。Gartner 社の名誉アナリスト兼副社長である Andrew Walls 氏は、次のように述べています。「攻撃の量とスピードは、今後桁違いに増加するでしょう。AI(プログラム)はそれらの攻撃を分類して所定のしきい値に達した場合にのみアラートを発出するため、サイバーセキュリティチームが重要な攻撃に注力することを可能にします」
 
また、AI/ML は人的介入の必要性を減らして検知を高速化し、対応を自動化することで、摩擦を減らし、ユーザーエクスペリエンスを改善します。

セキュリティ体制の継続的評価

アクセスに関する、ちょうど良いタイミングかつ「過不足のない」セキュリティ条件を確認し、組織のサイバーセキュリティ体制の変化に応じてアクセス制御ポリシーを動的に調整できるようにしましょう。最新のサイバー攻撃は常に進化しているため、組織も自らのリスク選好度に合わせて進化する必要があります。また、ゼロトラストの導入は常に部門横断の取り組みとして行われるため、NetOps、SecOps、ITOps の連携を改善する機会にもなります。

CylanceGATEWAY の詳細については、デモをご予約いただくか、こちらのページをご覧ください。

同様の記事やニュースの配信を希望される場合は、BlackBerry ブログの購読をご検討ください
 
イベント日程
Bruce Sussman

About Bruce Sussman

Bruce Sussmanは BlackBerryの シニア・マネージング・エディターです。