未加工ログ検索を使用する
検索を実行すると、Google Security Operations はまず、取り込まれ、解析され、正規化されたセキュリティ データを調べます。正規化されたデータで情報が見つからない場合は、未加工ログ検索を使用して、解析されていない未加工のログを調べることができます。また、正規表現を使用して、未加工ログを詳細に調べることもできます。
未加工ログ検索を使用して、次のような、ログに表示されるもののインデックスに登録されていないアーティファクトを調査できます。
- ユーザー名
- ファイル名
- レジストリキー
- コマンドライン引数
- 未加工の HTTP リクエスト関連データ
- 正規表現に基づくドメイン名
- アセットの名前空間とアドレス
未加工ログ検索
未加工ログの検索は、ランディング ページまたはメニューバーにある [検索] バーを使用して行います。次のいずれかを行います。
raw=
形式を使用する
raw=
形式を使用して未加工ログをクエリできます。こちらをおすすめします。
- 部分文字列を検索するには、検索キーワードを引用符で囲みます。例:
raw = "ABC"
。 - 正規表現を使用して検索するには、式をスラッシュ(/)で囲みます(例:
raw = /AB*C/
)。
以前の方法: 未加工ログ検索プロンプトを使用する
- [検索] バーに、ワイルドカードを含む 4 文字以上の検索文字列(MD5 ハッシュなど)を入力します。
- 検索で結果が返されない場合は、[未加工ログ検索] オプションが表示されます。
- 省略可: [開始時間] と [終了時間] を指定します。デフォルトの期間は過去 7 日間です。
- 省略可: [ログソース] リストで、1 つ以上のログソースを選択します。デフォルトの設定は [すべて] です。
- [検索] をクリックします。
検索文字列に関連付けられたイベントが表示されます。矢印をクリックして、対応する未加工ログを開きます。
正規表現
Google SecOps で正規表現を使用すると、セキュリティ データ内の文字列のセットを検索して照合できます。正規表現を使用すると、完全一致を必要とせずに、情報の断片を使って検索を絞り込むことができます。
正規表現構文を使用して検索を実行するには:
- [検索] フィールドに正規表現を入力します。正規表現は 4 ~ 66 文字にする必要があります。
- [正規表現でのクエリ実行] チェックボックスをオンにして、[検索] をクリックします。
Google SecOps の正規表現インフラストラクチャは、オープンソースの正規表現エンジンである Google RE2 に基づいています。Google SecOps は同じ正規表現構文を使用します。
次の表に、検索に使用できる一般的な正規表現の構文の一部を示します。
任意の文字 | . |
x 文字 | {x} |
文字クラス | [xyz] |
否定文字クラス | [^xyz] |
英数字([0-9 a-z A-Z]) | [[:alnum:]] |
英字(A-Za-z) | [[:alpha:]] |
数字(0-9) | [[:digit:]] |
小文字(a-z) | [[:lower:]] |
大文字(A-Z) | [[:upper:]] |
単語構成文字(0-9A-Za-z_) | [[:word:]] |
16 進数(0-9A-Fa-f) | [[:xdigit:]] |
疑問符記号(?) | 先行する要素の 0 回または 1 回の出現に一致します。 |
アスタリスク(*) | 直前の文字またはグループが 0 回以上出現する場合に一致します。 |
プラス記号(+) | 直前の文字またはグループが 1 回以上出現する場合に一致します。 |
次の例は、正規表現を使用してデータを検索する方法を示しています。
goo.le\.com
-goo
で始まり、任意の 1 文字が続き、le.com
で終わる文字列(google.com
やgoo0le.com
など)に一致します。goo\w{3}\.com
-goo
で始まり、3 つの単語文字(\w
)が続き、.com
で終わる文字列に一致します。例:google.com
、goojle.com
、goodle.com
など。[[:digit:]]\.[[:alpha:]]
- 1 桁の数字の後にドット(.)が続き、その後に 1 文字のアルファベット(34323.system
、23458.office
、897.net
など)が続く文字列と一致します。
Windows ログを検索する正規表現の例
このセクションでは、一般にモニタリングされる Windows イベントを見つけるために Google SecOps の未加工ログ検索で使用できる正規表現クエリ文字列について説明します。これらの例では、Windows ログメッセージが JSON 形式であることを前提としています。
一般にモニタリングされる Windows イベント ID の詳細については、モニターするイベントをご覧ください。ここで説明する例は、これらのユースケースで説明されているものと同様のパターンに従っています。
ユースケース: EventID 1150 でイベントを返す | |
正規表現文字列: | \"EventID\"\:\s*1150 |
一致した値 | "EventID":1150 |
ユースケース: イベント ID が 1150 または 1151 のイベントを返します | |
正規表現文字列 | (?:\"EventID\"\:\s*)(?:1150|1151) |
一致した値 | "EventID":1150 と "EventID":1151 |
ユースケース: イベント ID が 1150 または 1151、ThreadID が 9092 のイベントを返します | |
正規表現文字列 | (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092) |
一致した値 | "EventID":1150 <...any number of characters...> "ThreadID":9092
と "EventID":1151 <...any number of characters...> "ThreadID":9092 |
アカウント管理イベントを見つける
これらの正規表現クエリ文字列は、EventID 属性を使用して一般的なアカウント管理イベントを識別します。
イベントのタイプ | 正規表現 |
ユーザー アカウントが作成されました | "EventID\"\:\s*4720 |
ユーザー アカウントが有効 | "EventID\"\:\s*4722 |
ユーザー アカウントが無効 | "EventID\"\:\s*4725 |
ユーザー アカウントが削除されました | "EventID\"\:\s*4726 |
ユーザー権限の変更 | "EventID\"\:\s*4703 |
セキュリティが有効なグローバル グループに追加されたメンバー | "EventID\"\:\s*4728 |
セキュリティが有効なグローバル グループからメンバーを削除しました | "EventID\"\:\s*4729 |
セキュリティが有効なグローバル グループが削除されました | "EventID\"\:\s*4730 |
ログイン成功イベントを探す
これらの正規表現クエリ文字列は、EventID 属性と LogonType 属性を使用して、成功したログオン イベントのタイプを識別します。
イベントのタイプ | 正規表現 |
ログオンの成功 | "EventID\"\:\s*4624 |
ログオンの成功 - インタラクティブ(LogonType=2) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\" |
ログオンの成功 - バッチログイン(LogonType=4) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\" |
ログオンの成功 - サービス ログイン(LogonType=5) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\" |
ログイン成功 - リモート インタラクティブ ログイン(LogonType=10) | "EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\" |
ログオンの成功 - インタラクティブ、バッチ、サービス、リモート インタラクティブ | (?:"EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\" |
ログイン失敗イベントを探す
これらの正規表現クエリ文字列は、EventID 属性と LogonType 属性を使用して、失敗したログオン イベントのタイプを識別します。
イベントのタイプ | 正規表現 |
ログイン失敗 | "EventID\"\:\s*4625 |
ログイン失敗 - インタラクティブ(LogonType=2) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\" |
ログオンの失敗 - バッチログイン(LogonType=4) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\" |
ログイン失敗 - サービス ログイン(LogonType=5) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\" |
ログオンの失敗 - リモート インタラクティブ ログイン(LogonType=10) | "EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\" |
ログオンの失敗 - インタラクティブ、バッチ、サービス、リモート インタラクティブ | (?:"EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\" |
プロセス、サービス、タスクのイベントを探す
これらの正規表現クエリ文字列は、EventID 属性を使用して特定のプロセスとサービス イベントを識別します。
イベントのタイプ | 正規表現 |
プロセスの開始 | "EventID\"\:\s*4688 |
プロセスの終了 | "EventID\"\:\s*4689 |
サービスがインストールされました | "EventID\"\:\s*4697 |
新しいサービスが作成されました | "EventID\"\:\s*7045 |
タスクのスケジュールが作成されました | "EventID\"\:\s*4698 |
オブジェクト アクセスに関連するイベントを探す
これらの正規表現クエリ文字列は、EventID 属性を使用して、さまざまな種類のプロセスとサービス関連のイベントを識別します。
イベントのタイプ | 正規表現 |
監査ログを消去しました | "EventID\"\:\s*1102 |
オブジェクト アクセスが試行されました | "EventID\"\:\s*4663 |
共有アクセス | "EventID\"\:\s*5140 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。