UDM 検索
UDM 検索機能を使用することで、Chronicle インスタンス内の統合データモデル(UDM)のイベントやアラートを検索できます。UDM 検索にはさまざまな検索オプションが含まれているため、あらゆる UDM データを検索できます。共有検索キーワードに関連付けられている個別の UDM イベントとグループの UDM イベント両方を検索できます。
UDM の詳細については、ログデータを UDM としてフォーマットするおよび統合データモデルのフィールド リストをご覧ください。
UDM 検索にアクセスする
Chronicle UDM 検索にアクセスするには、Chronicle ランディング ページのアプリケーション メニューから [UDM 検索] を選択します。また、Chronicle の検索フィールドに有効な UDM フィールドを入力し、Ctrl+Enter キーを押して UDM 検索にアクセスすることもできます。
すべての有効な UDM フィールドの一覧については、統合データモデルのフィールド リストをご覧ください。
図 1. UDM 検索
図 2. Ctrl+Enter キーを押して表示される UDM 検索ウィンドウ
UDM 検索を入力する
UDM 検索を [UDM 検索] フィールドに入力するには、次の手順を実行します。UDM 検索の入力が完了したら、[検索を実行] をクリックします。Chronicle のユーザー インターフェースでは、有効な UDM 検索式のみ入力できます。期間ウィンドウを開いて、検索するデータの範囲を調整することもできます。
図 3. 検索を実行
UDM クエリは UDM フィールドに基づいており、すべて 統合データモデルのフィールド リストに記載されています。フィルタや未加工ログ検索を使用して、検索のコンテキスト内で UDM フィールドを表示することもできます。
イベントを検索するには、検索フィールドに UDM フィールド名を入力します。ユーザー インターフェースに自動入力機能が備わっているため、入力した内容に基づいて有効な UDM フィールドが表示されます。
有効な UDM フィールドを入力したら、有効な演算子を選択します。入力した UDM フィールドに基づいて、使用可能な有効な演算子がユーザー インターフェースに表示されます。次の演算子がサポートされています。
<, >
<=, >=
=, !=
nocase
-- 文字列に対してサポート
有効な UDM フィールドと演算子を入力したら、検索するログデータを入力します。次のデータ型がサポートされています。
列挙値: ユーザー インターフェースに、指定した UDM フィールドで有効な列挙値のリストが表示されます。
例(二重引用符とすべて大文字を使用すること):
metadata.event_type = "NETWORK_CONNECTION"
追加値: 'field[key] = value' を使用して、イベントの追加フィールドとラベル フィールドを検索できます。
例:
additional.fields["key"]="value"
ブール値:
true
またはfalse
を使用できます(すべての文字は大文字と小文字が区別されず、キーワードは引用符で囲みません)。例:
network.dns.response = true
整数
例:
target.port = 443
浮動小数点数:
float
型の UDM フィールドの場合は、3.1
などの浮動小数点値を入力します。また、3
などの整数を入力することもできます。この値は、3.0
を入力した場合と同等です。たとえば、
security_result.about.asset.vulnerabilities.cvss_base_score = 3.1
や、security_result.about.asset.vulnerabilities.cvss_base_score = 3
です。正規表現:(正規表現はスラッシュ(/)文字で囲む必要があります)
例:
principal.ip = /10.*/
正規表現の詳細については、正規表現のページをご覧ください。
文字列
例(二重引用符を使用すること):
metadata.product_name = "Google Cloud VPC Flow Logs"
nocase
演算子を使用すると、特定の文字列の大文字と小文字のバージョンの組み合わせを検索できます。principal.hostname != "http-server" nocase
principal.hostname = "JDoe" nocase
principal.hostname = /dns-server-[0-9]+/ nocase
文字列のバックスラッシュと二重引用符は、バックスラッシュ文字を使用してエスケープする必要があります。例:
principal.process.file.full_path = "C:\\Program Files (x86)\\Google\\Application\\chrome.exe"
target.process.command_line = "cmd.exe /c \"c:\\program files\\a.exe\""
ブール式を使用すると、表示されるデータの範囲を絞り込むことができます。サポートされているブール式の例を次に示します(
AND
、OR
、NOT
ブール演算子を使用できます)。A AND B
A OR B
(A OR B) AND (B OR C) AND (C OR NOT D)
次の例は、実際の構文がどのように表示されるかを示しています。
財務サーバーへのログイン イベント:
metadata.event_type = "USER_LOGIN" and target.hostname = "finance-svr"
正規表現を使用して Windows での psexec.exe ツールの実行を検索する例。
target.process.command_line = /\bpsexec(.exe)?\b/ nocase
複数演算子(>)を使用して、10 MB を超えるデータが送信された接続を検索する例。
metadata.event_type = "NETWORK_CONNECTION" and network.sent_bytes > 10000000
複数の条件を使用して、cmd.exe または powershell.exe を起動する Winword を検索する例。
metadata.event_type = "PROCESS_LAUNCH" and principal.process.file.full_path = /winword/ and (target.process.file.full_path = /cmd.exe/ or target.process.file.full_path = /powershell.exe/)
UDM 検索を使用して、[追加] フィールドと [ラベル] フィールドで特定の Key-Value ペアを検索することもできます。
[追加] フィールドと [ラベル] フィールドは、標準の UDM フィールドに収まらないイベントデータのカスタマイズ可能な「キャッチオール」のフィールドとして使用されます。追加のフィールドには、複数の Key-Value ペアを含めることができます。ラベルのフィールドには、Key-Value ペアを 1 つだけ含めることができます。ただし、フィールドの各インスタンスには、キーと値が 1 つだけ含まれます。キーはかっこで囲み、値は右側に配置する必要があります。
次の例は、指定した Key-Value ペアを含むイベントを検索する方法を示しています。
additional.fields["pod_name"] = "kube-scheduler" metadata.ingestion_labels["MetadataKeyDeletion"] = "startup-script"
次の例は、Key-Value ペア検索で AND 演算子を使用する方法を示しています。additional.fields["pod_name"] = "kube-scheduler" AND additional.fields["pod_name1"] = "kube-scheduler1"
次の構文を使用すると、値に関係なく、指定したキーを含むすべてのイベントを検索できます。
additional.fields["pod_name"] != ""
正規表現と nocase オプションを使用することもできます。additional.fields["pod_name"] = /br/ additional.fields["pod_name"] = bar nocase
ブロック コメントや単一行コメントを使用することもできます。
次の例は、ブロック コメントの使用方法を示しています。
additional.fields["pod_name"] = "kube-scheduler" /* Block comments can span multiple lines. */ AND additional.fields["pod_name1"] = "kube-scheduler1"
次の例は、単一行コメントの使用方法を示しています。
additional.fields["pod_name"] != "" // my single-line comment
[検索を実行] をクリックして UDM 検索を実行し、結果を表示します。
イベントは、イベント タイムライン テーブルの [UDM 検索] ページに表示されます。追加の UDM フィールドを手動で追加したり、インターフェースを使用したりして、結果をさらに絞り込むことができます。
UDM 検索でアラートを表示する
アラートを表示するには、[UDM 検索] ページの右上にある [イベント] タブの右側にある [アラート] タブをクリックします。
アラートが表示される方法
Chronicle は、UDM 検索で返されたイベントを、お客様の環境でのアラートについて存在するイベントに対して評価します。検索クエリイベントがアラートに存在するイベントと一致すると、アラート タイムラインと結果のアラート テーブルに表示されます。
イベントとアラートの定義
イベントは、Chronicle に取り込まれ、Chronicle の取り込みと正規化プロセスによって処理される未加工のログソースから生成されます。1 つの未加工ログソース レコードから複数のイベントを生成できます。イベントは、その未加工ログから生成される一連のセキュリティ関連のデータポイントを表します。
UDM 検索では、アラートはアラートが有効になっている YARA-L ルール検出として定義されます。詳しくは、ライブデータに対するルールの実行をご覧ください。
他のデータソースをアラートとして Chronicle に取り込むこともできます(Crowdstrike Falcon アラートなど)。これらのアラートは、Chronicle Detection Engine で YARA-L ルールとして処理されない限り、UDM 検索に表示されません。
図 4. アラートのスケジュール
1 つ以上のアラートに関連付けられているイベントには、[イベント タイムライン] のアラートチップが表示されます。タイムラインに関連する複数のアラートがある場合、チップには関連するアラートの数が表示されます。
タイムラインには、検索結果から取得した最新のアラートが 1,000 件表示されます。1,000 件の上限に達すると、アラートは取得されなくなります。検索に関連するすべての結果を表示するには、フィルタを使用して検索を絞り込みます。
アラートを調査する方法
アラートの詳細を確認するには、アラートをクリックします。アラートの右側に [アラート ビューア] が開き、検出ウィンドウやリスクスコアなど、アラートの詳細が表示されます。
図 5. アラート ビューア
アラートの詳細を表示するには、[詳細を表示] をクリックします。[アラートの詳細] ページが開き、そのアラートの詳細が表示されます。
図 6. アラートの詳細
UDM 検索で参照リストを使用する
ルールで参照リストを適用するプロセスは、検索でも使用できます。1 つの検索クエリに最大 7 個のリストを含めることができます。すべての型のリファレンス リスト(文字列、正規表現、CIDR)がサポートされています。
トラッキングする変数のリストを作成できます。たとえば、不審な IP アドレスのリストを作成できます。
// Field value exists in reference list src.ip IN %suspicious_ips
また、AND
または OR
を使用すると、複数のリストを使用できます。
// multiple lists can be used with AND or OR src.ip IN %suspicious_ips AND principal.hostname IN %suspicious_hostnames
検索結果を絞り込む
UDM 検索のユーザー インターフェースを使用して、UDM 検索を変更して検索を再実行する代わりに、結果をフィルタして絞り込むことができます。
タイムライン グラフ
タイムライン グラフには、現在の UDM 検索によって表面化される毎日発生しているイベントとアラートの数がグラフィカルに表示されます。イベントとアラートは、同じタイムライン グラフに表示されます。タイムライン グラフは、[イベント] タブと [アラート] タブの両方に表示されます。
各棒の幅は、検索された時間間隔によって異なります。たとえば、検索が 24 時間分にわたる場合、各棒は 10 分を表します。このグラフは、既存の UDM 検索を変更すると動的に更新されます。
図 8. イベント タイムライン グラフ
期間の調整
白いスライダー コントロールを左右に動かして期間を調整し、目的の期間にフォーカスすることで、グラフの期間を調整できます。期間を調整すると、UDM フィールドと値とイベントの表が現在の選択を反映するように更新されます。グラフの単一の棒をクリックして、その期間のイベントだけを表示することもできます。
期間を調整すると、[フィルタ済みイベント] と [クエリイベント] チェックボックスが表示され、表示されるイベントの種類をさらに制限できます。
図 9. 期間コントロールを含むイベントのタイムライン グラフ
クイック フィルタで UDM 検索を変更する
クイック フィルタを使用すると、UDM 検索をさらに絞り込むことができます。UDM フィールドのリストをスクロールするか、検索フィールドを使用して特定の UDM フィールドまたは値を検索できます。ここに表示される UDM フィールドは、UDM 検索によって生成されたイベントの既存のリストに関連付けられます。各 UDM フィールドには、現在の UDM 検索内のこのデータの数も含まれます。UDM フィールドのリストには、フィールド内の一意の値の合計数が表示されます。この機能を使用すると、関心を持っている可能性のある特定の種類のログデータを検出できます。
UDM のフィールドは次の順序で表示されます。
- イベントが最も多いフィールドが最も少ないイベント数にカウントされます。
- 値が 1 つのみのフィールドは、常に最後になります。
- イベント数がまったく同じであるフィールドは、A から Z のアルファベット順で並べられます。
図 10. クイック フィルタ
クイック フィルタを変更する
クイック フィルタ リストで UDM フィールド値を選択し、メニュー アイコンをクリックすると、UDM フィールド値も含まれるイベントのみを表示する、またはその UDM フィールドの値をフィルタで除外するかを選択できます。UDM フィールドに整数値(例: target.port
)が格納されている場合は、<,>,<=,>=
でフィルタするオプションも表示されます。フィルタ オプションによって、表示されるイベントのリストが短くなります。
クイック フィルタでフィールドを固定(画鋲の形をした固定アイコンを使用)して、お気に入りとして保存することもできます。クイック フィルタ リストの一番上に表示されます。
図 11. 例: [表示のみ] を選択する
これらの追加 UDM フィルタは、上述のフィルタ イベント フィールドにも追加されます。フィルタ イベント フィールドは、UDM 検索に追加した UDM フィールドを追跡するのに役立ちます。また、必要に応じて、追加の UDM フィールドをすばやく削除することもできます。
図 12. イベントをフィルタ
[フィルタ イベント] メニュー アイコンまたは左側の [フィルタを追加] をクリックするとウィンドウが開き、追加の UDM フィールドを選択できます。
図 13. フィルタ イベント ウィンドウ
[検索と実行に適用] をクリックすると、UDM フィールドがフィルタ イベント フィールドに追加され(図 8 を参照)、表示されるイベントは、これらの追加フィルタに基づいてフィルタされます。[検索と実行に適用] をクリックして、ページ上部のメインの UDM 検索フィールドに追加することもできます。検索は、同じ日時パラメータを使用して自動的に再実行されます。[検索と実行に適用] をクリックする前に、できるだけ検索を絞り込むことをおすすめします。これによって精度が向上し、検索時間を短縮できます。
イベント テーブルでイベントを表示する
これらのフィルタとコントロールはすべて、イベント テーブルに表示されるイベントのリストを更新します。リストされたイベントのいずれかをクリックしてログビューアを開き、そのイベントの未加工のログと UDM レコードを調べられます。イベントのタイムスタンプをクリックすると、関連するアセット、IP アドレス、ドメイン、ハッシュ、ユーザービューにも移動できます。テーブルの上部にある検索フィールドを使用して、特定のイベントを検索することもできます。
図 14. イベント テーブル
アラート テーブルでアラートを表示する
アラートを表示するには、[イベント] タブの右側にある [アラート] タブをクリックします。クイック フィルタを使用して、アラートを並べ替えることができます。
- ケース
- 名前
- 優先度
- 重大度
- ステータス
- 判断
これにより、最も重要なアラートに集中できます。
アラートは、[イベント] タブと同じ時間枠に表示されます。これにより、イベントとアラートの関係を簡単に確認できます。
特定のアラートの詳細を確認するには、アラートをクリックします。個々のアラートの詳細ページが開き、そのアラートに関する詳細情報が表示されます。
イベント ビューアでイベントを表示する
[イベント] テーブル内のイベントにカーソルを合わせると、ハイライト表示されたイベントの右側にあるイベント ビューアのアイコンが表示されます。クリックしてイベント ビューアを開きます。
図 15. イベント ビューア
[未加工ログ] ウィンドウには、元の未加工のログが次のいずれかの形式で表示されます。
- 元
- JSON
- XML
- CSV
- 16 進数 / ASCII
UDM ウィンドウに構造化 UDM レコードが表示されます。UDM フィールドにカーソルを合わせると、UDM の定義がポップアップ表示されます。UDM フィールドのチェックボックスをオンにすると、追加のオプションが利用できます。
UDM レコードをコピーできます。1 つ以上の UDM フィールドを選択し、[アクションを表示] プルダウン メニューから [UDM をコピー] オプションを選択します。UDM フィールドと UDM の値がシステム クリップボードにコピーされます。
UDM フィールドをイベント テーブル内の列として追加するには、[アクションを表示] プルダウン メニューから [列を追加] オプションを選択します。
UDM 検索の列オプションを使用する
[列] オプションを使用すると、イベント テーブルに表示される情報の列を調整できます。列のポップアップ メニューが表示されます。使用可能なオプションは、UDM 検索から返されるイベントの種類によって異なります。
必要に応じて、[保存] をクリックして、選択した列のセットを保存できます。選択した列の名前に名前を付け、[保存] をもう一度クリックします。保存した列のセットを読み込むには、[読み込み] をクリックして、リストから一連の保存列を選択します。
また、その他メニューをクリックし、[CSV 形式でダウンロード] を選択して、表示されるイベントをダウンロードすることもできます。これによって、すべての検索結果が 100 万件までダウンロードされます。ダウンロードするイベントの数は、ユーザー インターフェースに表示されます。
図 16. UDM 検索列
クイック検索で検索を実行する
[クイック検索] をクリックして、クイック検索ウィンドウを開きます。このウィンドウには、保存済みの検索条件や検索履歴が表示されます。
表示された検索をクリックして、UDM 検索フィールドに読み込みます。
準備ができたら [検索を実行] をクリックします。
一覧表示された検索は Chronicle アカウントに保存されます。保存済みの検索条件を変更(既存の検索の名前を変更するなど)したり、保存済みの検索条件を削除したり、検索履歴から検索を削除したりする必要がある場合は、[すべての検索を表示] をクリックして、検索マネージャーを開きます。
クイック検索でテンプレートを使用する
- UDM 検索の右側にある [クイック検索] をクリックして、クイック検索を開きます。
- [保存済み]、[テンプレート]、[履歴] の 3 つのパネルが表示されます。[テンプレート] には事前に作成されたテンプレートが含まれます。それぞれ、検索によって実行されるタスクの簡単な説明が含まれています。
- いずれかのテンプレートをクリックすると、エディタに直接読み込むか(入力が不要な場合)、新しいパネルとして開くことができます(入力が必要な場合)。
- 入力が必要なもの(プロダクト / ベンダー別ユーザー ログインなど)を選択した場合は、空いているフィールドに必要な値を入力します。検索を実行するのに必要なフィールドがある場合は、すべて入力する必要があります。
- 情報を入力したら、[検索の読み込み] をクリックします。テンプレートがエディタに読み込まれます。
クイック検索を終了するには、[キャンセル] をクリックすると、クイック検索パネルに戻ります。
一覧表示された検索は Chronicle アカウントに保存されます。保存済みの検索条件を変更(既存の検索の名前を変更するなど)したり、保存済みの検索条件を削除したり、検索履歴から検索を削除したりする必要がある場合は、[すべての検索を表示] をクリックして、検索マネージャーを開きます。
図 17. クイック検索ウィンドウ
保存済みの検索条件と検索履歴の概要
検索マネージャーを使用して保存済みの検索条件を取得し、[検索マネージャー] をクリックして検索履歴を表示します。保存済みの検索条件と検索履歴は、Chronicle アカウントと一緒に保存されます。保存済みの検索条件と検索履歴は、各ユーザーが表示、アクセスのみできます。ただし、共有検索機能を使用して検索結果を組織と共有している場合は除きます。
図 18. 検索マネージャー
検索マネージャーのテンプレートを使用する
- [クイック検索] の横にある [検索マネージャー] タブをクリックして、検索マネージャーを開きます。
- [保存済み]、[テンプレート]、[履歴] の 3 つのタブが表示されます。[テンプレート] をクリックします。
- 使用するテンプレートを選択します。
- 追加入力が必要なテンプレートを選択した場合は、空いているフィールドに必要な情報を入力してから、[検索の読み込み] をクリックします。情報の入力が不要なテンプレートを選択した場合は、[検索の読み込み] をクリックします。
検索を保存する
検索を保存するには:
UDM の検索ページで [保存] をクリックして、後で UDM 検索を保存します。これにより、検索マネージャーが開きます。Google では、保存済みの検索条件に意味のある名前を付けることをおすすめします。
完了したら [編集を保存] をクリックします。
保存済みの検索条件を表示するには、[検索マネージャー] をクリックし、[保存済みの検索条件] タブをクリックします。
保存済みの検索条件を取得する
保存済みの検索条件を取得して実行するには:
[保存済みの検索条件] をクリックします。
リストから保存済みの検索条件を選択します。保存済みの検索条件は、Chronicle アカウントに保存されます。検索を削除するには [削除] をクリックします。
この検索の名前は変更できます。完了したら [編集を保存] をクリックします。
[検索を読み込む] をクリックします。検索がメインの UDM 検索フィールドに読み込まれます。
[検索を実行] をクリックすると、この検索に関連付けられたイベントが表示されます。
検索履歴から検索を取得する
検索履歴から検索を取得して実行するには:
[検索履歴] をクリックします。
検索履歴から検索を選択します。検索履歴が Chronicle アカウントに保存されます。検索を削除するには [削除] をクリックします。
[検索を読み込む] をクリックします。検索がメインの UDM 検索フィールドに読み込まれます。
[検索を実行] をクリックすると、この検索に関連付けられたイベントが表示されます。
検索履歴を消去、無効または有効にする
検索履歴を消去、無効または有効にするには:
[
] をクリックします。検索履歴をクリアするには、[検索履歴をクリア] を選択します。
検索履歴を無効にするには、[無効にする] をクリックします。以下のいずれかを行います。
オプトアウトのみ - 検索履歴を無効にします。
オプトアウトと消去 - 検索履歴を無効にして、保存した検索履歴を削除します。
以前に検索履歴を無効にしている場合は、[検索履歴を有効にする] をクリックすると再び有効にできます。
[閉じる] をクリックして検索マネージャー ウィンドウを終了します。
検索を共有する
共有検索を使用すると、チームの他のメンバーと検索を共有できます。[保存済みの検索条件] タブでは、検索を共有、複製、削除できます。検索バーの横にあるフィルタ アイコンをクリックして、[すべて]、[共有]、または [自分の編集] で検索することもできます。
共有検索を編集する場合は、保存済みの検索条件として保存する必要があります。元の共有検索は更新されません。
- [保存済みの検索] をクリックします。
- 共有する検索をクリックします。
- 検索の右側にある をクリックします。検索を共有するオプションが表示されたダイアログ ボックスが表示されます。
- [全員と共有] をクリックします。
- 検索の共有により組織内のユーザーに公開されることを確認するポップアップが表示されます。共有してもよろしいですか?[はい、共有する] をクリックします。
検索結果を自分だけに表示するには、[
] をクリックしてから [非公開にする] をクリックします。共有を停止した場合は、この検索のみを使用できます。