キーワードの選択と選択解除で列を制御する
検索とダッシュボードでは、select キーワードと unselect キーワードを使用して、[結果] タブ(検索の場合)の [イベント] テーブルと、ダッシュボード ウィジェット内のテーブルに表示される列をカスタマイズできます。
[タイムスタンプ] 列と [イベント] 列はデフォルトで表示されますが、select キーワードと unselect キーワードを使用すると、特定の統合データモデル(UDM)フィールド、outcome 変数、match 変数を追加または削除して、ビューを絞り込むことができます。
select キーワードと unselect キーワードは省略可能で、ルールでは使用できません。
select: クエリ結果に含める UDM フィールド、outcome変数、またはmatch変数のリストを指定します。unselect: クエリ結果から除外する UDM フィールドまたは変数のリストを指定します。
使用例
このセクションの例では、検索クエリで select キーワードと unselect キーワードを使用する一般的な構文を示します。
例: 単一イベントの検索
次のクエリは、alex-laptop に関連するイベントを検索し、Events テーブルに security_result.about.email を列として追加します。
principal.hostname = "alex-laptop"
limit: 10
select: security_result.about.email
例: 複数の列
複数の列を追加する場合は、カンマで区切ります。列は、リストに記載した順序で表示されます。
principal.hostname = "alex-laptop"
limit: 10
select: network.sent_bytes, security_result.about.email
例: テーブル定義
ダッシュボードでは、table キーワードで列の出力を定義し、select または unselect で表示する特定のフィールドを管理します。
metadata.event_type = "USER_LOGIN"
select:
principal.hostname
集計クエリと統計クエリ
YARA-L では、通常、集計関数と統計関数は outcome セクションに配置し、match セクションで集計ベースを定義します。
select セクションと unselect セクションは相互に排他的であり、ユーザーは結果変数、一致変数、イベント フィールド、エンティティ フィールドを含めたり除外したりできます。
すべての UDM 検索は、単一イベント検索または集計検索(イベント統計とも呼ばれます)のいずれかです。集計検索では、match キーワードを指定するか、出力で集計関数(sum や count など)を使用します。
集約検索
stats コマンドは、データ集計の主なツールです。未加工のイベントデータを要約されたセキュリティ指標に変換します。eval コマンドはフィールド レベルの行ごとの変換を処理しますが、stats はセットレベルの集計を実行します(SQL の GROUP BY と同様)。
例: 集約検索
次のクエリは、$count_id metric に焦点を当てるために、最終的な表示から $count_hostname 変数を除外します。
events:
$e.metadata.event_type != "RESOURCE_CREATION"
$e.principal.hostname = $hostname
$id = $e.network.session_id
match:
$hostname over 1h
outcome:
$count_hostname = count($hostname)
$count_id = count($id)
unselect:
$count_hostname
例: 検索の成果変数
select キーワードを含む変数を使用して、特定の計算を表示することもできます。次の例では、$seconds を結果変数として宣言しています。Events テーブルには、$seconds 値が列として表示されます。
principal.hostname = "alex-laptop"
outcome:
$seconds = metadata.event_timestamp.seconds
limit: 10
select: $seconds, security_result.about.email
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。