これらの FAQ、ヒント、および例を使用して、データ フォワーダのカスタム クエリ フィルタから開始できます。Carbon Black Cloud は、アラート、イベント、プロセス検索、およびクエリベースのウォッチリストに、強力なクエリ構文である Lucene を使用します。
- どのフィールドでフィルタリングできますか?
- 「 データ フォワーダ データ ガイド」には、フィルタ可能なフィールドのリストがあります。
- データ フォワーダで調査またウォッチリスト クエリを使用できますか?
-
- 調査/ウォッチリストとデータ フォワーダのカスタム クエリ フィルタの構文には、いくつかの違いがあります。
- 一部のフィールドは、データ フォワーダのカスタム クエリ フィルタで使用できない場合があります。検索可能なフィールドとフィルタ可能なフィールドの完全なリストについては、「検索フィールド ガイド」および「データ フォワーダ データ ガイド」を参照してください。
- 一部のフィールドの名前は若干異なりますが、最も顕著なのは次の通りです。
- 調査/ウォッチリスト:
process_name
、カスタム クエリ フィルタ:process_path
- 調査/ウォッチリスト:
event_type
、カスタム クエリ フィルタ:type
- 調査/ウォッチリスト:
- ワイルドカードは、データ フォワーダのカスタム クエリ フィルタのほとんどのフィールドで必須です。
- 調査/ウォッチリスト:
process_name:powershell.exe
- カスタム クエリ フィルタ:
process_path:*\\powershell.exe
- 調査/ウォッチリスト:
- データ フォワーダのカスタム クエリは、値のみの検索をサポートしていません。フィールド名を指定する必要があります。
-
- 調査/ウォッチリスト:
powershell
- カスタム クエリ フィルタ:
process_path:*powershell*
- 調査/ウォッチリスト:
-
- エスケープする必要がある文字
-
クエリ フィルタの値に次の文字が含まれている場合は、単一の \ でエスケープする必要があります。
文字:
+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ / space
- [例 1]: 通常の Windows パス c:\windows\system32\ をエスケープします。
コロンとディレクトリの区切り文字がエスケープされていることに注意してください。末尾のアスタリスクはワイルドカードであるため、プロセス パスでリテラルのアスタリスク文字を検索しません。
process_path:c\:\\windows\\system32\\*
- [例 2]: プロセス cmdline で –encoded フラグを探します
process_cmdline:\-encoded
- [例 3]: スペースをエスケープします
process_path:*Google\ Chrome*
-
process_publisher:Google\ LLC
- [例 1]: 通常の Windows パス c:\windows\system32\ をエスケープします。
- ワイルドカードまたはトークン化された検索では大文字と小文字が区別されますか?
-
次のクエリ タイプは比較時に小文字に変換されるため、これらのクエリでは大文字と小文字は区別されません。元のクエリは小文字で保存されません。
- CIDR (IPv6 の場合)
- フィールド
- 引用符で囲まれたフィールド
- ワイルドカード
- ファジー
フィルタリングでは大文字と小文字が区別されます。明示的なフィルタの場合は、1 文字/複数文字のワイルドカード(すなわち、"X" ! = "x")を使用して、直接文字列/ルーン一致(すなわち、process_path== "value")を実行します。
- ワイルドカードの使用
-
データ フォワーダのカスタム クエリ フィルタは、次の 2 つのワイルドカード文字をサポートします。
- * は 0 文字以上と一致します
- ? は 1 文字と一致します
- パス
-
Carbon Black Cloud では、Windows のパスは通常、区切り文字に「\」を使用しますが、Linux のパスは通常、区切り文字に「/」を使用します。
- [例 1]: Windows c:\windows\system32
process_path:c\:\\windows\\system32\\*
- [例 2]: Linux /usr/bin/bash
process_path:\/usr\/bin\/bash
- [例 1]: Windows c:\windows\system32
- CIDR の使用
- IP フィールドは CIDR 範囲をサポートします。範囲を示す「/」はエスケープする必要があります。
- 範囲の使用
-
現在、範囲はアルファベット順の並べ替えのみをサポートします。
- [例 1]: c:\ ドライブと d:\ ドライブには一致するが e:\ ドライブには一致しない
process_path:[c TO d]
- [例 2]: 数値範囲はまだサポートされず、アルファベット順が適用されています。これは、ポート 20、25、30、2500 と一致しますが、ポート 40 とは一致しません。
remote_port:[20 TO 300]
- [例 1]: c:\ ドライブと d:\ ドライブには一致するが e:\ ドライブには一致しない
- グループ分け
-
括弧、AND、OR、および NOT ステートメントを含むグループは、より複雑なクエリをサポートします。
- AND/OR/NOT は大文字にする必要があります
- [例 1]: 単一のフィールドの複数の値
process_path:(*\\powershell.exe OR *\\pwsh.exe)
- [例 2]: ネットワーク接続 (Chrome からポート 443 または 80 への接続を除く)
type:endpoint.event.netconn AND NOT (process_path:*\\chrome.exe AND remote_port:(443 OR 80) AND netconn_inbound:false)
- [例 3]: ファイルレス スクリプトロード イベント、すべてのスクリプトロード イベント
type:endpoint.event.fileless_scriptload OR (type:endpoint.event.scriptload AND (device_os:(WINDOWS OR MAC) OR scriptload_publisher_state:FILE_SIGNATURE_STATE_NOT_SIGNED))
- クエリ深度
-
クエリ深度は、カスタム クエリ フィルタ内のネストされたグループの数です。
- 最大クエリ深度は 3 です。
深度が 3 を超えるクエリを実行すると、「クエリが深すぎます」というエラーが発生します。
- [例 1]: このクエリは深度が 4 で、エラーが発生します。
event_origin:NGAV OR (type:endpoint.event.netconn AND (remote_port:80 OR (remote_port:443 AND process_path:*\\chrome.exe)))
- [例 2]: これらの 2 つのクエリの組み合わせは、例 1 と同じロジックですが、深さの制限に違反しません。
remote_port
フィールドはendpoint.event.netconn
イベントにしか表示されないため、2 番目のクエリではイベント タイプを指定する必要はありません。- (フィルタ 1 を含む)
event_origin:NGAV
- (フィルタ 2 を含む)
remote_port:80 OR (remote_port:443 AND process_path:*\\chrome.exe)
- (フィルタ 1 を含む)
- 最大クエリ深度は 3 です。