コンテンツにスキップ

自動ケース🔗

Secureworks® Taegis™ XDR の自動ケースは、新しく作成された検出を監視し、条件を満たす検出から新しいケースを作成するように設定できます。また、指定したアトリビュートに一致する既存のケースに、新しく作成された検出を追加することもできます。

重要

自動ケースルールを呼び出すのは、新しく作成された検出のみです。重大度の変更などの検出更新では、現時点では自動ケースルールはトリガーされません。

自動ケース

ルールは、パートナーレベルで定義してすべての子テナントに適用することも、個々のテナントで定義することもできます。ルールでは、受信する検出ストリームに対するクエリ言語の検出クエリと、検出のエンティティやタイトルなどのアトリビュートごとに検出をケースへグループ化する Group By 定義のセットを定義します。

自動ケースルールを作成する🔗

ヒント

まだ作成していない場合は、まず自動ケースルールで使用するケーステンプレートを作成してください。詳細は、ケーステンプレート を参照してください。

自動ケースルールを作成するには、次のようにします。

  1. Taegis Menu から、ケース > 自動ケース を選択します。
  2. New Rule をクリックして、自動ケースルールビルダーを開きます。

    自動ケースルールビルダーの詳細

ルールの詳細を定義する🔗

  1. ルールの目的を説明するタイトルを入力します。
  2. ドロップダウンから、次のいずれかのルール状態を選択します。

    • Disabled: ルールは何も実行しません。
    • Test: 検証目的でログのみを生成します。
    • Enabled: 新しいケースを作成するか、既存のケースに検出を追加します。
    • Append: 既存のケースにのみ検出を追加し、ケースは作成しません。
  3. Case Template ドロップダウンからテンプレートを選択します。詳細は、ケーステンプレート を参照してください。

  4. (任意)ルールの説明を入力します。
  5. ルールの評価順序を設定します。数値が小さいほど優先順位が高く、先に評価されます。詳細は、ルール順序 を参照してください。
  6. (任意)ルールを整理するために、1 つ以上のタグを追加します。
  7. Continue をクリックします。

ルール条件を決定する🔗

ルール条件を次のように設定します。

  1. ルールを適用する検出をフィルタリングする XDR クエリ言語ステートメントを追加します。XDR のクエリ言語の詳細は、クエリエディター を参照してください。
  2. ユーザーがこのルールで作成されたケースに検出を追加できるようにする場合は、追加したい検出を検索する XDR クエリ言語ステートメントを追加します。XDR のクエリ言語の詳細は、クエリエディター を参照してください。
  3. (任意)Ignore Detection Prioritization を選択すると、ルールは検出の Threat Score を無視し、システムが対象の検出を自動的に優先度引き下げしていた場合でもルールを実行します。このオプションはデフォルトでオフです。
  4. Continue をクリックします。

検出のグループ化を設定する🔗

  1. Common Expression Language (CEL) を使用して、検出を既存のケースに追加するかどうか、およびどのケースに検出を追加するかを定義します。詳細は、Group By を参照してください。

    注意

    このフィールドは自動ケースルールの作成に必須です。少なくとも 1 つの検出アトリビュートを指定する必要があります。

    ヒント

    AI Expression Assistant をクリックすると、自然言語による説明から CEL 式を作成できます。

    また、CEL Explorer を使用して、特定の入力タイプに対して CEL 式をテストできるため、設定の完了中に式の結果を確認できます。

  2. Criteria Count に、検出をグループ化するために一致する必要がある、定義した検出アトリビュートの最小数を入力します。

  3. Submit をクリックします。

ルール評価🔗

ルールの評価時には、次の点が考慮されます。

  • 中以上の重大度の検出のみが自動ケースルールをトリガーします。低および情報の検出は、ルールのトリガー対象から除外されます。
  • 新しく作成された検出は、まず子テナントレベルで定義されたルールセットに対して評価され、その後、定義された順序で MSSP パートナーレベルのルールに対して評価されます。
  • ルール評価は最初の一致で停止します。ルールに一致するには、検出がルールクエリに一致し、かつ指定されたグループ化アトリビュートを含んでいる必要があります。
  • ルールに一致すると、Group By 句によって返されたすべての結果値を使用して、指定されたグループ数以上の一致するアトリビュートを持つ既存のケースを検索します。
  • 一致が見つかった場合、検出はケースに追加され、ルールで指定されていればコメントが生成されてケースに追加されます。
  • 一致が見つからない場合は、ルールの状態に応じて新しいケースが作成されます。新しいケースが作成されると、システムはルールクエリに一致する最近の検出に対して検出検索を実行し、一致する Group By アトリビュートを持つものを新しいケースに追加します。
  • ケースが手動で作成されると、システムは新しく作成されたケースに関連付けられた起点検出を評価し、定義済みルールとの一致を確認します。
  • ルールが一致し、そのケースがルールを定義したテナントのメンバーであるユーザーによって作成された場合、システムは上記で定義したものと同じ検出検索を実行し、自動的にケースに追加される追加の一致検出を検索します。

ルールの監視とテスト🔗

ルールは Test 状態に設定できます。この状態ではルールは評価されますが、実際にはケースに追加されません。メトリクスが収集され、アクションが実際に実行されたかのようにログが生成されます。ルールの詳細を定義する を参照してください。

ルール処理🔗

重要

子テナントレベルで定義されたルールは、MSSP パートナールールより先に実行されます。Taegis MDR のお客様、または Secureworks MSSP パートナーからサービス提供を受けている場合は注意してください。

ルール順序🔗

ルールは、ルール上の順序値で定義された順に処理されます。値が小さいほど先に処理されます。ルール処理は最初の一致後に停止します。テナントルールはパートナールールより先に処理されます。

Group By🔗

ルールの Group By 値は、Common Expression Language (CEL) を使用して、検出を既存のケースに追加するかどうかを決定します。ルールが一致すると、group_by 条件が評価されます。group_by 式によって返された結果のいずれかに一致する既存のオープンケースが見つかった場合、新しいケースを作成する代わりに、その検出は既存のケースに追加されます。

各式は、単一の結果またはリストのいずれかを返すことができます。複数の式が定義されている場合、結果セット全体は 1 つのフラット化された OR リストに結合されます。

たとえば、次の例では、検出に関連付けられたエンティティとして識別されたユーザー名のリストを返します。既存のオープンケースに、結果として得られたユーザー名のいずれか 1 つを持つ検出が含まれている場合、その検出は既存のケースに追加されます。

${alertUsernames(alert)}

検出内のユーザー名の すべて が一致することを強制するには、ユーザー名のリストを単一の文字列値に変換する必要があります。これは join マクロを使用して実行できます。

${join(alertUsernames(alert))}

より複雑な例では、次の例は、指定されたアドレス (127.0.0.1 または 0.0.0.0) に 一致しない、検出に関連付けられたエンティティとして識別された IP のリストを返します。既存のオープンケースに、結果として得られた IP のいずれか 1 つを持つ検出が含まれている場合、その検出は既存のケースに追加されます。

${alertIPs(alert).filter(e, !(e in ['127.0.0.1', '0.0.0.0']))}

次の例では、複数の検出アトリビュートを group_by 句の単一の値に結合する、単一の group_by 句を定義しています。その場合、検出が追加される前に、これらすべてのアトリビュートが既存のオープンケースと一致する必要があります。

${join(alertHostnames(alert).filter(e, e != 'localhost')+alertSensorIds(alert))}

デフォルトでは、group_by 値が一致すれば、どのルールでも任意のオープンケースに追加できます。このルール自身が作成したケースにのみこのルールが追加できるようにするには、group_by 値にルール名を追加できます。

${alertHostnames(alert).map(h, h + 'The Name of This Rule')}

注意

Group By の一致はルール固有ではありません。つまり、Group By 値が一致すれば、どのルールでも任意のケースに追加できます。

Group By リスト内の個別の各行は、一致結果になる可能性があります。一致は OR 条件を使用して評価されます。AND 条件で一致させるには、単一の行を定義する必要があります。場合によっては、Group By count を使用して AND 条件の結果にすることが可能です。

検出の追加🔗

ルールは、ケースが作成されたとき、または検出がケースに追加されたときに、そのケースに関連付けられた検出に対して評価されます。ルールがケースに関連付けられた検出に一致した場合、ルールの追加フィルターで定義されたとおりに、追加の検出がケースに追加されることがあります。

注意事項🔗

  • ケースに関連付けられた最初の 100 件の検出のみが評価されます。
  • ルールに追加フィルターがない場合は、ルールフィルターが使用され、追加する関連検出が検索されます。
  • 実行前に、次の条件が常にクエリに追加され、上書きすることはできません。ケースに追加されるには、検出がこれらの条件を満たす必要があります。
    • 検出の重大度が 0.6 以上
    • 検出ステータスが OPEN であること(検出がすでに別のケースに関連付けられていてはなりません)
    • earliest/latest timestamp が detection created at timestamp の ±4 時間以内
  • 最大 100 件の検出を自動的に追加できます。
  • 自動的に追加された検出は、今後の検出評価(Group By の一致)に使用されます。

検出処理🔗

中以上の重大度の検出は、作成または公開されるたびに順次処理されます。各検出についてルールが評価され、その検出に最初に一致したルールに対してケースが作成されるか、ケースに追加されます。ルール上の filter は検出との一致に使用されますが、検出は append_filter に対しても評価され、append_filter と group_by 条件の両方に一致した場合はケースに追加されることに注意してください。

追加状態を持つルール、または append_filter が定義されているルールは、filter または append_filter と group_by の両方が一致するまで、順番に評価され続けます。検出が filter に一致しても group_by に一致しない場合、その検出は順序付けられたルール一覧の次のルールに対して評価されます。

自動ケースルールを編集する🔗

ルールを編集するには、目的のルールの Actions 列にある鉛筆アイコン をクリックします。詳細、ルール条件、または 検出グループ化条件 を編集し、Submit を選択して保存します。

自動ケースルールのアクション

自動ケースルールをエクスポートおよびインポートする🔗

  • ルールをエクスポートするには、目的のルールの Actions 列にあるエクスポートアイコン をクリックします。ルール設定は YAML 形式でエクスポートされます。

  • YAML 形式のルール設定をインポートするには、テーブル上部の + Import をクリックしてファイルを選択します。

自動ケースルールを削除する🔗

設定済みルールを削除するには、目的のルールの Actions 列にあるごみ箱アイコン を選択し、Delete を選択してアクションを確認します。

ルールログ🔗

Rule Logs タブでは、ユーザーは自動ケースルールまたはテンプレートへの変更のログ、および自動ケースによって検出に対して実行されたアクションを表示できます。最初は空の、フィルタリング可能なテーブルが含まれています。

フィルターを使用し、次の識別子のいずれか 1 つを入力します: Rule ID、Case ID、Detection ID、または Template ID。これにより、アクションのログが返されます。

自動ケースのルールログ

Summary Message 列からログを選択すると、アクションの詳細情報と、関連するメタデータの JSON ビューを表示できます。

自動ケースのルールログ詳細

ヒント

個別のインスタンスにアクセスするときは、URL 内で Rule、Case、Detection、または Template の識別子を確認できます。

<taegis_xdr_url>/cases/<case_id>/summary