This post is also available in: English (英語)
Ignite '19ではSOCエンジニアのVidya GopalakrishnanとSOC マネージャのMatt Mellen, Srが登壇し、表だって語られる機会のめったにないパロアルトネットワークス セキュリティ オペレーション センター(SOC)の運営についてプレゼンテーションを行う予定です。
そのなかでは、Cortex XDRがティア(階層)によるレベル分けを行わないセキュリティ運用モデルの自動化・改善にどのように役立ったかや、パロアルトネットワークスの戦略の全体像についても明らかにされる予定です。
パロアルトネットワークスは、すべての自社新製品について自身を最初の顧客としてきました。それにより、製品の改善やベストプラクティス開発を進めることができ、同時にセキュリティチームがつねに最新のテクノロジーにふれる機会を保つことができるためです。
Cortex XDRは、「アラートのトリアージ」、「インシデント調査/対応」、「脅威探索」という3つの主要セキュリティ機能のすべてにインテリジェンスと効率性を与えてくれる製品ですが、本プレゼンテーションではこのなかから「脅威探索」に焦点を絞り、Cortex XDRをどのように活用しているかをお話する予定です。とくにこの機能を選んだ理由は、「脅威探索」に割くことのできる企業のリソースは、この3つの機能のなかでももっとも少なくなりがちだからです。
本稿はCortex XDRで永続性を確保するタイプのマルウェアを探索し、識別し、修復する方法についての独占プレビューです。
永続的マルウェアを探索する方法
MitreのAtt&ckフレームワークでは「永続性」について「再起動、資格情報の喪失、またはその他の中断が発生しても、攻撃者がシステムへのアクセスを維持できるようにするアクションまたは設定の変更」と説明しています。マルウェアが永続性を確保する手法は多数ありますが、よく使われる方法の1つがレジストリの「run」キーを変更することです。これにより、ユーザーがログインするたびにプログラムが実行されます。これだけを聞くと特定も容易そうですが、誤検知の罠にはまることなく多種多様な手法を捕捉するのは、適切なツールやプロセスがなければ簡単ではありません。
ステップ1:検索
一般的なIOC探索ではアーティファクトが使われることが多いですが、アーティファクトに基づく識別は容易に回避されてしまいます。そこでCortex XDRでは、既知のふるまいに基づくIOC(BIOC)をあらかじめ一通り設定しておき、このルールを用いた識別を行っています。BIOCとは、注意を向けるべきふるまいや悪意のあるふるまいを識別するためのルールを指し、そこでは戦術や手法、手順を見て識別が行われます。
最初のステップは、「Persistence」というカテゴリでアラートを検索し、アラートのソースを「BIOC」に設定することです。この場合は、典型的な永続性確保のふるまいを伴うBIOCをターゲットにしています。たとえば、上書きされたレジストリキーや、未署名のプロセスによるレジストリ追加などです。
ステップ2:目立つものを見つける
検索をするとイベントのリストが生成されます。ホスト数が多いと結果が重複することがありますが、それ自体は一般によくある正常な動作で、重複は除外できます。ただし、なかには疑わしいパスにある実行可能ファイルもあります。たとえば図の C:/Google は明らかに正常なフォルダのパスではありませんし、ファイル名 (oMO.exe) も普通のものではありません。
ステップ3:トリアージと検証
いずれかのイベントを選択し、[Analyze] をクリックしてイベント チェーン(因果関係)を確認します。この結果、Cortex XDRが根本原因をcmd.exeであると識別し、この cmd.exe からすべての痕跡が生じていることがわかります。下のスクリーンショットではoMO.exeがマルウェアとして識別されているため赤で表示されています。必要に応じて、右クリックするだけで AutoFocusやVirusTotalなどのナレッジベースから追加情報を入手できます。BIOCのアラート数(ここでは「16」)は、omO.exeやそのほかの因果関係について収集されたEDRイベントを使用し、さらに調査する必要があることを示しています。
ステップ4:調査
さらに調査を進める場合は、複数あるタブをクリックして開き、フォレンジック上の詳細情報を見ることができます。ここから、検出されたものが実際にマルウェアであるかどうかを確認することができます。これらのタブで、さまざまな種類のエンドポイントのふるまいについての証拠を見つけていきます。たとえば、[Alert] タブを開くと、「Persistence」のBIOCが同一のマシンに対して16回発報されたことがわかります。さらに他のタブも使って関連したエンドポイントやネットワークのふるまいについて調査することができます。
この事例については、これらのタブから以下を確認できます。
- レジストリの改ざんがあることを [Registry] タブから確認できます。
- ランダムな GoDaddy サイトへの疑わしい接続があることを [Network] タブから確認できます。
- [Startup] メニューからマルウェアが自分自身を繰り返し読み込んでいることを示す、ファイル読み出しの繰り返しがあることを [File] タブから確認できます。
これらはすべて永続的なふるまいの典型例です。
フォレンジックが専門でなければ、こうした情報を補足するのは難しいでしょう。ですがCortex XDRは既知の悪意のあるアクティビティをコンテキスト付きのアラートに落とし込んでくれるので、アナリストとしての経験が浅くてもすばやく正確な調査を行うことができます。こうした情報があれば、これが本当にマルウェアであることを追認できるだけでなく、当該マルウェアがインフラのどこまで侵入した可能性があるかを可視化し、被害範囲を評価しやすくなります。
ステップ5:修復
これが悪意のあるアクティビティであることが確認できましたので、次は対策に取り掛かります。まず、システムがマルウェアの影響を受けている場合再イメージを行います。次に、マルウェアをブラックリストに含めてエンドポイントでの実行を防ぎ、「悪意のあるドメイン」についても同じ処理を行って、ネットワークとクラウドの保護ポイントを経由する通信を遮断します。これによりWildfireが更新され、悪意のあるエンティティが確認されます。Traps上のPreventionシグネチャは自動的に更新され、世界中のすべてのお客様環境にプッシュされます。これにより、ほかの環境ではそれまで確認されていなかったマルウェアサンプルであっても、それ以降防止できるようになります。
ステップ6:深呼吸
お疲れ様でした。これで処理は終了です。世の中がまたすこし安全な場所になりました。
このように、Cortex XDRなら、難しい脅威探索をマウスたった数クリックという簡単なプロセスに落とし込むことができます。
従来、脅威探索は非常に手間がかかるもので、企業側でも対応しきれないことが多く、それがたとえば「脅威の識別までにかかる日数は平均197日」という業界の統計につながっていました。
ここで取り上げた永続的マルウェアの調査は、構造化されたデータ探索の一例です。この探索は、アラートを生成したあらかじめ定義されているふるまいに基づいて行なわれます。
なお、Ignite '19では、構造化されていないデータの探索を行うCortex XDRユースケースも共有する予定です。
これらユースケースでは、堅牢な機械学習機能を使用し、何百ものデータ特性からアノマリを見つけていきます。これらは、従来型アプローチで識別することがさらに難しいタイプの脅威です。
さらなる詳細については、6月3日(米国時間 UTC-6)にIgnite USAで開催される「'Stand and Still’ Hunting with Cortex XDR」のセッションでどうぞご確認ください。
テキサス州オースティンで開催される Ignite '19 へのご参加がむずかしい場合は、動作中のCortex XDRをもっとご覧になるため、弊社まで製品デモをご依頼ください。