今回は、Professional Security Operations Engineer 認定試験の学習内容として、Google Security Operations(Google SecOps)の中核機能である「UDM(統合データモデル)」「YARA-L 2.0による検知エンジン」、そして「UDM検索と未加工ログスキャンの使い分け」について解説します。
Google SecOpsでは、さまざまなセキュリティ製品から収集したログをUDMへ正規化することで、ベンダーに依存しない一貫した分析を実現しています。また、YARA-L 2.0を利用した柔軟な検知ルールにより、高精度な脅威検知を行える点も大きな特徴です。
さらに、インシデント調査では、目的に応じてUDM検索と未加工ログスキャンを使い分けることが重要になります。それぞれの特徴や適切な利用シーンを理解することで、より効率的で精度の高いセキュリティ運用が可能になります。
これらはGoogle SecOpsを運用する上で欠かせない基礎知識であると同時に、Professional Security Operations Engineer認定試験でも重要な出題範囲です。本記事では、それぞれの仕組みや役割、実運用で押さえておきたいポイントを分かりやすく解説します。
是非、最後までご覧いただけると嬉しいです。
UDM(統合データモデル)を徹底解説
Google SecOpsの中核をなす技術が、UDM(統合データモデル:Unified Data Model)共通の「標準言語」に変換するためのフレームワークです。
ログの「正規化」がもたらすメリット
通常、ファイアウォール、エンドポイント保護、クラウドサービスなどから送られてくるログは、それぞれ独自の形式(スキーマ)を持っています。UDMはこれらのデータをプラットフォームに取り込む際に正規化(Normalization)し、ベンダーに依存しない一貫した構造へと変換します。
- 一元的な分析:異なるソースからのデータを同じキーワードで検索・相関分析できます。
- 汎用的な検出ルール:特定の製品に依存せず、UDMのフィールドを指定して汎用的な検出ルールを記述できます。
- 脅威インテリジェンスとの統合:正規化されたデータは、最新の脅威インテリジェンスと自動的にリンクされ、即座にコンテキスト(背景情報)が付与されます。
UDM を支えるデータ処理パイプライン
ログがUDMとして利用可能になるまでには、高度なデータ処理パイプラインが働いています。
- 収集と取り込み:フォワーダー、コネクタ、API、Webhookなどを通じて、未加工ログ(生ログ)が取り込まれます。
- 解析(パース):各ログタイプに対応したパーサーが、生ログ内の各要素をUDMの適切なフィールドにマッピングします。
- データの拡充(Enrichment):正規化されたイベントに対し、IPアドレスの地理情報やアセットのメタデータなどが付与されます。最新のアップデートでは、UDMフィールドごとに拡充済みデータ(E)か未拡充のデータ(U)かを示すアイコンが表示され、情報のソースを容易に識別できるようになっています。
効率的な調査を実現する「UDM 検索」
UDMとして構造化されたデータは、UDM検索ページから高速に探索できます。アナリストは複雑な生ログを直接読み解く代わりに、定義された共通フィールド(例:principal.ip や target.hostname)を使用して、環境全体にわたる脅威の影響範囲を即座に調査できます。
さらに、統合ルールインターフェース(IDE)では、ルール作成中にUDMフィールドの定義をホバー表示で確認できる機能が備わっており、検知エンジニアリングの作業効率を大幅に高めています。
UDMは、膨大なセキュリティテレメトリーに秩序を与え、アナリストがベンダーごとのログ形式の違いに惑わされることなく、「何が起きているか」という本質的な調査に集中できる環境を提供します。
UDM(統合データモデル)を徹底解説のまとめ
Google SecOpsのUDM(統合データモデル)は、さまざまなセキュリティ製品のログを共通フォーマットへ正規化し、一元的な分析を可能にする重要な仕組みです。
UDMにより、異なるベンダーのログを同じフィールドで検索・相関分析できるため、効率的な脅威ハンティングやインシデント対応を実現できます。また、データの拡充(Enrichment)によってログへ脅威インテリジェンスなどの情報が付与され、より高度な分析が可能になります。
UDMはGoogle SecOpsの基盤技術であり、Professional Security Operations Engineer認定試験でも頻出の重要トピックとなるため、正規化の流れやUDM検索の仕組みまで理解しておきましょう。
検知エンジンとYARA-L構文の基本
Google SecOpsの検知エンジンは、取り込まれた膨大なデータ全体からセキュリティ上の問題を検索するプロセスを自動化するための強力なコンポーネントです。このエンジンは、指定されたルールに基づいて受信データを常にスキャンし、企業内で既知の脅威や潜在的なリスクが検出された場合にアナリストへ通知します。
この検知ルールを記述するために使用されるのが、Google SecOps 独自の機能豊富なプログラミング言語である YARA-L 2.0 です。
YARA-L 2.0 ルールの基本構造
YARA-L 2.0 のルールは、論理的な役割を持つ複数の「セクション」で構成されています。主なセクションとその役割は以下の通りです。
- meta セクション:ルールの作成者、説明、深刻度、カテゴリなどのメタデータを記述します。これは調査時の管理情報として役立ちます。
- events セクション:検知の対象となる特定のイベント条件を定義します。ここで UDM(統合データモデル)のフィールドを指定して、「ログインに失敗した」や「特定のIPへアクセスした」といったフィルタリングを行います。
- match セクション:複数のイベントを関連付けるための変数を定義し、それらを監視する時間枠(ウィンドウ)を指定します。例えば、「同じユーザー(変数)」による「5分以内(ウィンドウ)」のアクティビティを追跡する場合に使用します。
- outcome セクション:検出されたアラートに追加のコンテキストを付与します。リスクスコアの算出や、調査に役立つ関連情報(アセット名、地理情報など)を動的に設定できます。
- condition セクション:ルールがアラートをトリガーするために必要な論理条件(例:
$event1 and $event2)を記述します。 - options セクション:ルールの実行に関する高度なオプション(サンプリングレートなど)を指定します。
高度な検知を支える「関数」
YARA-L 2.0 には、複雑なロジックを簡潔に記述するための多くの組み込み関数が用意されています。
- 正規表現:
re.captureや、文字列全体から一致するすべてのパターンを抽出するre.capture_allなどの関数を使用して、未加工のログから詳細な情報を抽出できます。 - 文字列・算術操作:文字列のトリミング(
strings.trim)、URLデコード(strings.url_decode)、地理的距離の計算(math.geo_distance)などが可能です。 - 統計とウィンドウ処理:移動平均(
window.avg)や標準偏差(window.stddev)などの関数を使用して、通常の挙動からの逸脱を検知するルールを作成できます。
運用の効率化
Google SecOps は、ルールの作成と管理を容易にする統合ルールエディタ(IDE)を提供しています。また、最新の機能として、Gemini を活用して自然言語のプロンプトから YARA-L 2.0 ルールを自動生成することも可能になっており、構文に詳しくないアナリストでも迅速に検知ロジックを構築できるようサポートされています。
YARA-L 2.0 構文を理解し、検知エンジンを使いこなすことは、ノイズ(偽陽性)の少ない精度の高いセキュリティ監視体制を構築するための第一歩となります。
検知エンジンとYARA-L構文の基本のまとめ
Google SecOpsの検知エンジンは、YARA-L 2.0ルールを利用して膨大なセキュリティログを継続的に分析し、脅威をリアルタイムに検出する中核機能です。
YARA-L 2.0では、meta・events・match・outcome・conditionなどのセクションを組み合わせることで、高度な検知ルールを柔軟に作成できます。また、組み込み関数やGeminiによるルール自動生成を活用することで、効率的かつ精度の高い検知ルールの開発が可能になります。
YARA-L 2.0はGoogle SecOpsの運用だけでなく、Professional Security Operations Engineer認定試験でも最重要分野の一つであるため、ルール構造や各セクションの役割をしっかり理解しておきましょう。
UDM検索と未加工ログスキャンを徹底比較
Google Security Operations (Google SecOps) で脅威の調査や分析を行う際、アナリストは「UDM 検索」と「未加工ログスキャン」という 2 つの強力な検索機能を利用できます。これらはデータの処理状態や検索の仕組みが異なるため、目的に応じて適切に使い分けることが、迅速なインシデント対応の鍵となります。
1. UDM 検索:高速かつ構造化された調査
UDM 検索は、プラットフォーム内に取り込まれ、統合データモデル (UDM) 形式に構造化・インデックス化されたデータを対象とする検索手法です。
- 特徴:インデックス付きデータベースを検索するため、非常に高速です。
- 用途
- 正規化されたフィールド(IP アドレス、ユーザー名、ホスト名など)に基づく標準的な調査。
- SOAR コネクタや Webhook から取り込まれたアラートの確認。
- 特定のエンティティ(アセットやユーザー)に関連するイベントの追跡。
- メリット:共通の検索キーワードを使用して、異なるログソースを横断的に相関分析できる点にあります。
2. 未加工ログスキャン:広範かつ詳細な深掘り
未加工ログスキャンは、パーサーによって解析される前の、生の状態(未加工)のログを直接スキャンする手法です。
- 特徴:解析されていないログ全体を対象とするため、UDM 検索よりも広範な検索が可能ですが、インデックスを使用しないため、結果の取得に時間がかかります。
- 用途
- UDM のフィールドにマッピングされていない特定の文字列や詳細情報の検索。
- 正規表現(Regex)を使用した、複雑なパターンの抽出。
- パーサーの構成ミスなどで解析に失敗したログの調査。
- メリット:大文字と小文字を区別した検索や、特定のログソースに限定した深掘り調査が可能です。
3. 使い分けの判断基準
調査のステージや必要とする情報の粒度に基づいて、以下のように使い分けるのがベストプラクティスです。
| 項目 | UDM 検索 | 未加工ログスキャン |
|---|---|---|
| 対象データ | UDM に正規化済みのデータ | 解析前の生ログ |
| 検索速度 | 高速(インデックスあり) | 低速(インデックスなし) |
| 柔軟性 | 構造化されたフィールド指定 | 正規表現による自由な検索 |
| 推奨シナリオ | 迅速な状況把握、共通項での検索 | 解析漏れの調査、未知のパターンの特定 |
4. アクセス制御と運用の注意点
検索機能の利用には権限設定が関わります。
- データアクセス範囲:検索結果には、ユーザーに割り当てられたデータ RBAC のスコープに一致するデータのみが表示されます。
- グローバルアクセス:組織全体の未加工ログや、特定のスコープに制限されない広範なデータにアクセスする必要があるユーザーには、
chronicle.globalDataAccessScopes.permit権限などの高いレベルの権限(グローバル スコープ)が必要です。
日常的な調査では UDM 検索 をメインに活用してスピードを重視し、UDM 検索ではヒットしない詳細な証拠が必要になった場合に 未加工ログスキャン へ切り替えることで、効率的かつ漏れのないセキュリティ運用が実現します。
UDM検索と未加工ログスキャンを徹底比較のまとめ
Google SecOpsでは、UDM検索と未加工ログスキャンを目的に応じて使い分けることで、効率的なセキュリティ調査を実現できます。
UDM検索は正規化されたデータを高速に検索でき、日常的なインシデント調査や脅威ハンティングに最適です。一方、未加工ログスキャンは生ログを直接検索できるため、パーサーの解析漏れや正規表現を用いた詳細な調査に適しています。
それぞれの特徴や用途、必要なアクセス権限を理解することは、Google SecOpsの運用だけでなく、Professional Security Operations Engineer認定試験でも重要な知識となるため、違いを整理して覚えておきましょう。
まとめ
今回は、下記3点について説明しました。
- UDM(統合データモデル)を徹底解説
- 検知エンジンとYARA-L構文の基本
- UDM検索と未加工ログスキャンを徹底比較
今回は、Google SecOpsにおけるデータ分析・検知の中核となるUDM、YARA-L 2.0、UDM検索と未加工ログスキャンについて解説しました。
UDMによるログの正規化によって異なるセキュリティ製品のデータを統一的に分析でき、YARA-L 2.0では柔軟かつ高度な検知ルールを作成できます。また、UDM検索と未加工ログスキャンを目的に応じて使い分けることで、迅速かつ精度の高いインシデント対応を実現できます。
これらの機能はGoogle SecOpsの実運用だけでなく、Professional Security Operations Engineer認定試験でも重要な出題範囲となるため、特徴や役割をしっかり理解しておきましょう。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!
