- 限定コンテンツへのアクセス
- 他ユーザーとのつながり
- あなたの体験を共有
- サポート情報の発見
この記事では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アドレスを確認できます)
クエリについて少し補足しておきますと、
comp countを実行した時点ではリモートIPアドレスをローカルIPアドレス・リモートIPアドレスで集計しただけになります。(下の図)
従ってローカルIPアドレスに対して複数のリモートIPアドレスを含むイベントが複数行あります。
例えば以下のスクリーンショットを見ると、
ローカルIP 192.168.68.10に対して、リモートIPが2つ、192.168.68.114,192.168.68.11
確認できます。
そこでcomp valuesを使い、複数あるリモートIPアドレスを1つのイベントにまとめています。
このリモートIPアドレスの一覧は配列になっており配列の長さを取得(array_length)することで、
リモートIPアドレスの数を取得することができます。
Detection Rulesから「Correlations」を選択します。
ルールの名前と説明(Rule Name, Rule Description)、Correlation Ruleに上記のXQLを入力します。
Time Scheduleにルールの実行間隔を設定します。10分毎、20分毎、30分毎、Hourly, Daily, Customのいずれかを選択できます。
Query time frameは上記のXQLクエリが対象とする時間の幅を設定します。ここでは10分間とします。
Alert Suppressionでアラートを抑制するかどうかを設定します。
ルールが実行されたときに、条件に一致するイベントが複数あるため同一アラートが複数生成されることがあります。
時間の間隔(Duration Time)やFields(上記のXQLで表示されるフィールド)を条件に、複数生成されないようにすることができます。
Actionを設定します。
ルールの実行結果をアラートとして使用するには「Generate alert」、datasetに保存したい場合は「Save to dataset」を選択します。実行結果を他の用途(別の相関分析ルールの材料にする、実行結果をサマリデータベース的なものとして保存するなど)は後者を選択しますが、ここでは「Generate alert」を選択します。
また、アラート名(Alert Name)、Severity、Category(MITRE ATT&CKのTacticに該当)を設定します。
アラートの説明(Alert Description)にこのアラートの説明を設定できますが、XQLのフィールド名を変数として埋め込むこともできます。変数を埋め込む場合はフィールド名の先頭に$を付けます。
アラートをドリルダウンした際、下記のDrill-Down Queryで詳細情報を確認することができます。
またこのアラートに対してMITRE ATT&CKのマッピングが可能です。
アラートに以下のようなフィールド情報をマッピングすることができます。
Saveボタンをクリックします。
以下のようにCorrelation Ruleが登録されます。
以下のようにアラートが生成されます。
上記のアラートを選択し、「Investigate Contributing Events」をクリックすると、
このアラート、Correlation Ruleに関連するイベントが表示されます。
この記事ではnetwork_storyだけでルールを作成しましたが、
複数のデータセット(エンドポイント、ネットワーク、クラウド、認証、プロキシなど)を組み合わせて
複雑な相関分析ルールを作成することも可能です。
またCortex XDRはCorrelationルールだけでなく、AI/機械学習(Analytics)、振る舞い分析ルール(BIOC)、
といった様々な分析機能があるので、SIEMに変わるセキュリティログ収集・分析の基盤として
ご利用いただくことも可能であると考えております。
Correlation Ruleはこちら
XQLのCompステージはこちら