Cortex XDR による摘発: 見逃されそうになった脅威をネットワークトラフィック分析で捕捉

Mar 09, 2020
1 minutes
... views

This post is also available in: English (英語)

脅威を最も正確に検出するには、クラウド・ネットワーク・エンドポイントなど、さまざまなソースから得たデータを統合する必要があります。ところが実際は、可視性が足りなかったり、統合が不完全であったりと、多層防御でなんとか乗り切ることが多々あります。

本稿では、エンドポイントエージェントでの障害発生後、サイバー攻撃侵入の兆候をたやすく見逃す可能性があったある大手製薬会社での顧客事例をご紹介します。攻撃者はたくみな戦術でITセキュリティ製品による検出をかいくぐろうとしましたが、さいわい、ネットワークトラフィック分析(NTA)が脅威を認識して事なきをえることができました。

This conceptual image illustrates the concept of network traffic analysis and threat detection, showing data flowing past two analysts.

ネットワークトラフィック分析(NTA)は、新しい種類の次世代ネットワーク検出および分析ツールであり、セキュリティチームが、ITインフラストラクチャを横方向に移動する攻撃者を適切に検出および追跡できるようにします。良質なネットワークデータと機械学習(ML)の開発が結びついたことで、NTAは過去数年で今まで考えられなかったようなレベルにまで大きく進化しました。高機能のMLモデルは、NTAのおかげで、ネットワーク上のノイズのように見えるさまざまな攻撃戦術を組み合わせた高度なイベントを検出できるようになりました。

攻撃の兆候

ことの発端は、大規模な製薬会社がネットワークトラフィックを分析するためにCortex XDRを導入し、ファイアウォールをセンサーとして使用したことでした。Cortex XDRは、ネットワーク上でランダムに見える大量のドメイン名のクエリを実行しているホストについてアラートをあげました。多くの読者から見れば、前の文に特に変わったことはないかもしれませんが、次のような2つの重要なポイントに注目することができます。This screenshot shows how Cortex XDR identified malware attempting to use random domain names to communicated with its command and control server on the internet.

  1. 人間はランダムに見えるドメイン名のクエリを簡単に直感的に見つけることができますが、コンピューターの場合は違います。ランダムに見えるものを体系的に認識するのは非常に 複雑な作業です。そのためCortex XDRチームは、このユースケースのためだけに、いくつかのMLモデルを構築する必要がありました。これについては、後ほどお話します。
  2. 企業のセキュリティ オペレーション センター(SOC)で働いたことがあれば、Cortex XDRがランダムに見えるDNSクエリの24個のアラートを1つのインシデントにグループ化することで、分析者が1つずつアラートを調べ、それらを手動でグループ化する必要がなくなることをありがたく思うでしょう。

話を元に戻します。Cortex XDRは、これらのランダムなドメイン名が、インターネット上の「コマンド&コントロール」(C2)サーバーと通信しようとするマルウェアのように疑わしく見えると判断しました。

C2とは何か? マルウェアは正常に展開されると、攻撃者からのリモートコマンドが実行されるのを待ちます。この方法を、サイバーセキュリティ用語で「コマンド&コントロール」または「C2」と言います。C2トラフィックは、C2サーバーとのデータの送受信を行うために会社のファイアウォールを通る必要があります。C2サーバーは、存在の証として「ビーコン」を送信し、攻撃者からコマンドをダウンロードして、データを盗み出します。ここ何年かの間に、攻撃者は戦術を進化させて、C2をより高度にしました。攻撃者はソーシャルメディアサイトをC2インフラストラクチャとして使用する場合があり、組織がマルウェアをインターネットから隔離しようとする場合に備えて、より自律性の高いマルウェアを構築しています。

脅威を取り逃すエンドポイントエージェント

ホストは、競合他社のエージェントの1つをエンドポイントで実行していましたが、そのエージェントがマルウェアの検出に失敗しました。これは大変です。この顧客が、そのエンドポイントプロテクションのみに頼っていたなら、このマルウェアは検出されなかったでしょう。これは多層防御(「深層防護」とも呼ばれる)が非常に重要である理由を示す典型的な例です。絶えず防御をすり抜ける方法を見つけようとしている高度な脅威エージェントが複数あれば、いくつかはその方法を見つけるでしょう。単一層の防御だけを使用している場合は、システム内に攻撃者が入り込んでいることに気付くことすらないかもしれません。

幸いなことに、この企業はネットワークトラフィックを監視するCortex XDRを導入していたため、脅威の検出と軽減を可能にするセキュリティの第2層が組織に組み込まれていました。

攻撃者がマルウェアをコントロールする方法

マルウェアが展開されると、インスタンスはインターネット経由でC2サーバーとの接続を確立して、コマンドを取得し、窃取したデータを攻撃者に転送しようとします。一部のマルウェアは、ランダム文字で構成されたドメイン名を使用して気付かれないように動作するよう構築されており、単純なドメイン ブロック ルールを物ともせず、C2通信を維持するように頻繁に変更されています。またこの手法は、手動で迅速にドメイン名をブロックするのをほぼ不可能にするため、ITセキュリティチームは非常に苦労しています。

Cortex XDRがドメイン名生成動作を見つける

ITセキュリティを通過するには、これらのドメイン名は、使われたこともブロックされたこともない、一意のものでなければなりません。このようなドメイン名を実装するために、攻撃者はランダムドメイン名を作成するアルゴリズム(私たちはこの方法を「ドメイン名生成アルゴリズム」またはDGAと呼んでいます)を構築し、ランダムに見える新しいパブリックドメイン名を1つずつ登録します。この際、攻撃を受けた組織はそれらを手動でブロックすることになります。

マルウェアが膨大な数のドメイン名のバリエーションを生成し、攻撃者はそれらを1つずつ登録するだけなので、ネットワークログには失敗した多くのDNSルックアップが表示され、ランダムに見える異常なドメイン名の解決が試みられます。Cortex XDRの分析エンジンは、これを主な兆候として、ネットワークトラフィック内でのC2の動きをキャッチします。

アルゴリズムがランダムに見えるドメイン名を認識する方法

Cortex XDRには、マルウェアのC2イベントの検出に特化したいくつかの検出モデルがあり、各モデルはアンサンブル学習と呼ばれるプロセスを通じて多対多のMLモデルを利用します。この注目すべきC2検出モデルは、ネットワーク上のランダムに見えるドメイン名を探します。

アンサンブル学習とは、複数のMLモデルを戦略的に生成し、組み合せて、特定の計算知能問題を解決するプロセスです。アンサンブル学習は、主としてモデルの分類と予測のパフォーマンスを向上させるために使用され、私たちのケースではランダムに見えるドメイン名の検出に使用されます。

検出モデルは、二項累積分布関数(二項CDF)と呼ばれる、教師なし異常検出アルゴリズムに基づいています。このモデルは複数の特徴を活用しますが、最も重要な特徴はドメイン名のランダム性と、組織内のホストからの成功したドメインクエリと失敗したドメインクエリの通常パターンです。ドメイン名のランダム性は、n-gram(正規のドメイン名で繰り返される文字列)を使用する言語モデルによって算出されます。このモデルにドメイン名を与えると、ドメイン名の「異常」の程度を示すスコアが作成されます。

モデルは、組織のDNSクエリパターンも使用します。攻撃者はDGAで生成されるドメイン名のごく一部しか登録しないため、感染したホストは、攻撃者が登録しなかったドメイン名に対して多くのDNSクエリを実行して失敗します。このNTAのユースケースによって使用されたMLモデルでは、DNSルックアップの失敗した大量の試行と、成功したわずかな試行を見つけました。攻撃者が事前にC2サーバーのドメイン名のリストを定義しないのは、このマルウェアは数か月(あるいは数年も)動作するように設計されているためです。それほど長い期間では、たとえ数百のドメイン名を事前に定義しても十分ではなく、最終的にマルウェアはC2サーバーに辿り着けなくなるためです。

異常検出だけでは不十分

異常検出は、それ自体にノイズが多すぎるため、十分な対策にはなりません。Cortex XDRは精度の向上に努めています。精度が向上すれば、アナリストがアラートの誤検知をトリアージするために費やすすべての時間を、組織のセキュリティ体制にプラスの影響を与えるために使うことができるためです。したがって、ランダムに見えるドメイン名検出モデルは、他の多くのモデルを活用して、誤検知を除去します。

まずCortex XDRは、新しいドメイン名(過去30日間に組織に存在しなかった名前)のみを照会します。そのため、組織全体を流れる何百ものさまざまな性質のトラフィックに関するメタデータを長期的に収集することが重要になります。

次にCortex XDRは、DNSおよびDHCPからのローカルドメイン サフィックスを検出するモデルを活用し、そのサフィックスを除去します。

さらに、通常であれば「異常」だと考えられるDNSクエリの無害なソースは破棄されます。このような例として、ジョブを実行するために大量の逆DNSクエリを実行する、顧客のネットワーク上の別のセキュリティ製品や、存在しないDNSレコードを常に解決しようとする、ネットワーク上の無害だが正常に動作していないソフトウェアなどがあります。これらは、SOCチームの休憩時間を削ってしまうアラームをあげるべきではありません。

NTA + 良質なデータ: 正確な脅威検出の基盤

真の深層防護にはネットワークトラフィック分析が不可欠です。マルウェアはエンドポイントプロテクションのないホストへのアクセス方法を見つける可能性があります。ただしネットワーク通信には痕跡が残ります。エンドポイントプロテクションが施されていても、マルウェアがそれを回避することもあります。エンドポイントエージェントは重要なテレメトリと保護を提供しますが、完全無欠ではないのです。ネットワーク上の痕跡を隠すことはできません。高度なマルウェアでも、その大部分はC2サーバーと通信するために、ネットワーク上でパケットを送信する必要があるからです。

Cortex XDRは、100を超えるMLモデルを使用し、顧客の環境で毎秒数百万のイベントを学習することで、重要な異常を検出します。

本稿関連のブログはこちら


Subscribe to the Blog!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.