脅威検知ルール
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

脅威検知ルール

概要

検出ルールは、取り込んだすべてのログに適用される条件付きロジックを定義します。対象期間内において、検出ルールで定義された少なくとも 1 つのケースが一致した場合に Datadog でセキュリティシグナルが生成されます。Datadog は、環境の脅威をすばやく検出する デフォルトの規則を採用しています。

検出ルールを作成する

Datadog で検出ルールを新規作成するには、メインナビゲーションで SecurityDetection Rules –> New Rule の順に移動します。

検索クエリを定義する

同じロジックを使用して、ログエクスプローラー検索で検索クエリを構築します。各クエリには ASCII の小文字でラベルが付与されます。クエリ名を ASCII 文字から変更する場合は、鉛筆アイコンをクリックします。

オプションとして、シグナルのグループを定義することもできます。定義されたグループに応じて、各グループの値に対するシグナルが生成されます。通常、グループ化する値にはエンティティ (ユーザー、IP など) が用いられます。また、グループ化を使ってクエリを結合することもできます。

別のクエリを追加する場合は Add Query ボタンをクリックします。

: このクエリはすべての Datadog イベントと、インデックス作成を必要としない取り込み済みログに適用されます。

ルールのケースを定義する

ルールケースのトリガーと名称

a > 3 などのルールケースは、ステートメントとして評価されます。そのため、シグナルは一致した最初のケースに応じて生成されます。順番を変更する場合は、ルールケースをクリックしたままドラッグします。

ルールケースには、過去に定義されたクエリのイベント数に基づいてシグナルを生成すべきかを判断するための論理演算 (>、>=、&&、||) が含まれます。ここで ASCII 小文字の クエリラベル が参照されます。

: クエリラベルは演算子に先行しなければなりません。たとえば、a < 3 は使用できますが、 3 > a は許容されません。

各ルールケースにつき、「ケース 1」のような名前を付与します。シグナルの生成時には、この名前がルールの名称に追加されます。

重大度および通知

セキュリティシグナルの重大度を設定します。ドロップダウンから適切な重大度レベル (INFOLOWMEDIUMHIGHCRITICAL) を選択してください。

“Notify” セクションで、各ルールケースに対する 通知ターゲット (0 以上) を構成します。

タイムウィンドウ

evaluation window は少なくとも 1 つのケースが一致した場合に指定されるスライド式のウィンドウで、リアルタイムで評価が行われます。

シグナルが生成された後、この keep alive ウィンドウ内でケースが少なくとも 1 回一致した場合、そのシグナルは「オープン」状態として残ります。新しいイベントがケースのいずれかと一致する度に、シグナルの*最終更新日付*タイムスタンプが更新されます。

maximum signal duration に達すると、シグナルはクエリと一致したかどうかに関わらず「クローズ」されます。この時間は最初に記録されたタイムスタンプに基づいて計算します。

その他のケースを追加する場合は Add Case ボタンをクリックします。

: この evaluation window は、keep alive および maximum signal duration 以下でなければなりません。

セキュリティシグナルメッセージ

通知ボックスはモニター通知と同じマークダウンとプレビュー機能を備えています。

ルール名セクションで、ルールリストビューに表示されるルール名や、セキュリティシグナルのタイトルを構成することができます。

security:attacktechnique:T1110-brute-force など、シグナル固有のタグを付加しましょう。

: security タグはセキュリティシグナルの分類に用いられる特殊なタグです。attackthreat-intelcomplianceanomalydata-leak など他のタグの使用を推奨します。

クエリを結合する

タイムフレームをまたぐログを結合すると、セキュリティシグナルの信頼性と重大度を強化することができます。たとえば、ブルートフォースアタックを検出するためには、成功した場合と失敗した場合の認証ログをユーザーと関連付ける必要があります。

検出ルールはグループ化の値をもとにログを結合します。グループ化の値は通常エンティティ (IP アドレス、ユーザーなど) となりますが、必要に応じてすべての属性を使用できます。

検出ルールケースは、グループ化の値に基づいてこれらのクエリを結合します。一致するケースと値が同じでなければならないため、グループ化属性には通常同じ属性が設定されます。グループ化の値が存在しない場合、ケースが一致することはありません。セキュリティシグナルはケースが一致した場合のみ、一意のグループ化値に対して生成されます。

以下の例は、同じ @usr.name で5 回を超えてログインに失敗した場合、および 1 回ログインに成功した場合のケースです。この場合、最初のケースに一致した場合はセキュリティシグナルが生成されます。

検出ルールを管理する

すべての検出ルールはセキュリティコンフィギュレーション検出ルールページから検索が可能です。これらのルールを活用して、生成したシグナルの有効化、無効化、編集、削除、複製、表示などをすばやく行うことができます。また、ビューから新規ルールを作成することもできます。

ルールの検索

フリーテキスト検索を使うと、ルール名やクエリに含まれるテキストで検出ルールを絞り込むことができます。クエリが編集された場合、“Search” ボタンを再度クリックしなくてもクエリ結果がリアルタイムで更新されます。

検出ルールテーブル

検出ルールは検出ルールテーブルに表示されます。

Options ボタンを使用して、検出ルールテーブルの内容をニーズに応じて構成します。追加できる列は作成日とルール ID のみです。

デフォルトの場合、検出ルールはアルファベットの昇順 (A-Z) でソートされます。名前で逆ソートしたり、クエリ名、作成日、ルール ID で並び替えたりすることも可能です。

ルールの有効化 / 無効化

ルールの右側にあるトグルスイッチを使ってルールを有効または無効にすることができます。

ルールの編集

ルールの上にカーソルを重ねて、Edit ボタンをクリックするとルールを編集できます。

ルールごとに生成されたシグナルを検索

ルールの上にカーソルを重ねて View Generated Signals ボタンをクリックすると、そのルールで生成されたシグナルを検索できます。

ルールの複製

ルールの上にカーソルを重ねて、Clone ボタンをクリックするとルールを複製できます。

ルールの削除

ルールの上にカーソルを重ねて、Delete ボタンをクリックするとルールを削除できます。

その他の参考資料