[Cortex XDR/XSIAM]相関ルール機能を使ってアラートを生成する - Correlation Rules

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
L4 Transporter
評価なし

 

 

Intro

 

この記事ではCorrelation Rulesを使用してルールを作成し、アラートを生成する方法について説明します。

Correlation Rulesを使用すると、Cortex XDRに保存されているDatasetやPresetを対象にお客様環境に合わせたルールを

作成することができます。

 

 

サンプルルール

 

preset "network_story"を使用し、1つのホストから10分以内に

100以上のホストに対してポート番号445(SMB)宛にアクセスしている

ローカルIPアドレスがある場合、アラートを生成します。

 

このクエリはCorrelation Ruleの作成方法を説明することを目的としておりますので、

より良いクエリのアイデアをお持ちであれば是非お知らせください。

 

preset=network_story
| filter action_remote_port = 445
| comp count(action_remote_ip) by action_local_ip,action_remote_ip
| comp values(action_remote_ip) as count_of_remote_ip by action_local_ip
| filter array_length(count_of_remote_ip) > 100

 

 

ただここでは100以上のホストを準備することが難しいため、

 

| filter array_length(count_of_remote_ip) > 3

 

としたいと思います。

 

ちなみにこのルールを実行すると、以下のような結果が返ってきます。

1つのホスト(IPアドレス)から、4つのホストにアクセスしていたことがわかります。

(+ 3 moreをクリックすると他の3つのIPアドレスを確認できます)

 

xql-result.png

 

 

クエリについて少し補足しておきますと、

comp countを実行した時点ではリモートIPアドレスをローカルIPアドレス・リモートIPアドレスで集計しただけになります。(下の図)

従ってローカルIPアドレスに対して複数のリモートIPアドレスを含むイベントが複数行あります。

例えば以下のスクリーンショットを見ると、

ローカルIP 192.168.68.10に対して、リモートIPが2つ、192.168.68.114,192.168.68.11

確認できます。

query1.png

 

 

そこでcomp valuesを使い、複数あるリモートIPアドレスを1つのイベントにまとめています。

このリモートIPアドレスの一覧は配列になっており配列の長さを取得(array_length)することで、

リモートIPアドレスの数を取得することができます。

query2.png

 

 

ルールを作成する

 

Detection Rulesから「Correlations」を選択します。

 

correlation-menu.png

 

 

ルールの名前と説明(Rule Name, Rule Description)、Correlation Ruleに上記のXQLを入力します。

 

general-xql.png

 

 

Time Scheduleにルールの実行間隔を設定します。10分毎、20分毎、30分毎、Hourly, Daily, Customのいずれかを選択できます。

 

Query time frameは上記のXQLクエリが対象とする時間の幅を設定します。ここでは10分間とします。

 

Alert Suppressionでアラートを抑制するかどうかを設定します。

ルールが実行されたときに、条件に一致するイベントが複数あるため同一アラートが複数生成されることがあります。

時間の間隔(Duration Time)やFields(上記のXQLで表示されるフィールド)を条件に、複数生成されないようにすることができます。

 

schedule-suppression.png

 

 

Actionを設定します。

 

ルールの実行結果をアラートとして使用するには「Generate alert」、datasetに保存したい場合は「Save to dataset」を選択します。実行結果を他の用途(別の相関分析ルールの材料にする、実行結果をサマリデータベース的なものとして保存するなど)は後者を選択しますが、ここでは「Generate alert」を選択します。

また、アラート名(Alert Name)、Severity、Category(MITRE ATT&CKのTacticに該当)を設定します。

アラートの説明(Alert Description)にこのアラートの説明を設定できますが、XQLのフィールド名を変数として埋め込むこともできます。変数を埋め込む場合はフィールド名の先頭に$を付けます。

 

action.png

 

 

アラートをドリルダウンした際、下記のDrill-Down Queryで詳細情報を確認することができます。

またこのアラートに対してMITRE ATT&CKのマッピングが可能です。

drilldown-mitre.png

 

 

アラートに以下のようなフィールド情報をマッピングすることができます。

alert-fields-mapping.png

 

Saveボタンをクリックします。

save.png

 

以下のようにCorrelation Ruleが登録されます。

 

rule.png

 

 

ルールを実行する

 

以下のようにアラートが生成されます。

alert.png

 

上記のアラートを選択し、「Investigate Contributing Events」をクリックすると、

events.png

 

このアラート、Correlation Ruleに関連するイベントが表示されます。

contributing-events.png

 

 

この記事ではnetwork_storyだけでルールを作成しましたが、

複数のデータセット(エンドポイント、ネットワーク、クラウド、認証、プロキシなど)を組み合わせて

複雑な相関分析ルールを作成することも可能です。

 

またCortex XDRはCorrelationルールだけでなく、AI/機械学習(Analytics)、振る舞い分析ルール(BIOC)、

といった様々な分析機能があるので、SIEMに変わるセキュリティログ収集・分析の基盤として

ご利用いただくことも可能であると考えております。

 

Tech Doc

Correlation Ruleはこちら

XQLのCompステージはこちら

 

 

 

この記事を評価:
  • 2310 閲覧回数
  • 0 コメント
  • 0 賞賛
Register or Sign-in
寄稿者
記事ダッシュボード
バージョン履歴
最終更新日:
‎10-31-2023 07:55 AM
更新者: