エンティティをマッピングしてモデル化する
エンティティは、アラートから抽出された、関心の対象となるポイント(セキュリティ侵害インジケーター(IoC)やアーティファクトなど)を表すオブジェクトです。セキュリティ アナリストの業務を次のように支援します。
- 履歴を自動的に追跡します。
- 人手を介さずにアラートをグループ化する。
- エンティティ間の関係に基づいて悪意のあるアクティビティを検出する。
- ケースを読みやすくし、ハンドブックをシームレスに作成できるようにします。
Google Security Operations は、自動システム(オントロジー)を使用して、未加工のアラートから主な対象オブジェクトを抽出し、エンティティを作成します。各エンティティは、将来の参照用に独自の履歴を追跡できるオブジェクトで表されます。
エンティティ オントロジーを構成する
オントロジーを構成するには、データをマッピングしてモデル化する必要があります。これには、アラートの視覚的な表現を選択し、抽出するエンティティを定義することが含まれます。Google SecOps には、よく使われる多くの SIEM プロダクト用に事前構成されたオントロジー ルールが用意されています。
オントロジーをカスタマイズする最適なタイミングは、コネクタが Google SecOps にデータをプルした後です。このプロセスには、次の 2 つの主要なステップがあります。
- モデリング: データの視覚的表現(モデル/ビジュアル ファミリー)を選択します。
- マッピング: 選択したモデルをサポートし、エンティティを抽出するようにフィールドをマッピングします。
サポートされているエンティティ
次のエンティティがサポートされています。
| エンティティ タイプ | 説明 | 想定される形式 | 例 |
|---|---|---|---|
| 住所 | IPV4 アドレス。 | 保存されるアドレスの特定のタイプによって異なります。 | IP アドレス(例: 192.168.1.1) |
| アプリケーション | ソフトウェア アプリケーション。 | テキスト文字列。 | nmap、Microsoft Word。 |
| クラスタ | コンピューティング リソースのグループ。 | テキスト文字列。 | Kubernetes クラスタ名、クラスタ名、クラスタ ID。 |
| コンテナ | コンテナ インスタンス。 | テキスト文字列。 | Docker コンテナの ID または名前。 |
| クレジット カード | クレジット カード番号。 | マスクされた文字列またはトークン化された文字列。 | センシティブな PCI データの保存を避けるため、データをマスク処理またはトークン化する必要があります。 |
| CVE | 共通脆弱性識別子。 | CVE-YYYY-NNNNN |
CVE-2023-12345 |
| データベース | データベース インスタンスまたはシステム。 | テキスト文字列。 | データベース名または接続識別子。 |
| デプロイ | ソフトウェアのデプロイ。 | テキスト文字列。 | デプロイ識別子。 |
| Destination URL | Uniform Resource Locator。 | 標準の URL 文字列。 | https://example.com/path |
| ドメイン | ネットワーク ドメイン名。 | 標準ドメイン文字列。 | example.com |
| メールの件名 | メール メッセージの件名。 | テキスト文字列。 | メールの件名。 |
| ファイル ハッシュ | ファイルの暗号ハッシュ。 | 16 進数の文字列。 | MD5、SHA-1、SHA256 ハッシュ。 |
| ファイル名 | ファイルの名前。 | テキスト文字列。 | malware.exe |
| 汎用エンティティ | 他のカテゴリに当てはまらないデータ用の柔軟なエンティティ タイプ。 | 保存するデータによって異なります。 | なし |
| ホスト名 | ネットワーク上のデバイスに割り当てられたラベル。 | 標準ホスト名文字列。 | workstation-01、server.example.com |
| IP セット | IP アドレスのコレクションまたはグループ。 | 明示的に定義されていない(カンマ区切りの文字列、JSON 配列、リストへの参照など)。 | 範囲、CIDR 表記、またはリスト。 例については、信頼できる IP リストを作成するをご覧ください。 |
| MAC アドレス | メディア アクセス制御アドレス。 | 2 桁の 16 進数の文字列 6 組をハイフンまたはコロンで区切って指定します。 | 00-1B-44-11-3A-B7、00:1B:44:11:3A:B7 |
| 電話番号 | 電話番号。 | さまざま(E.164 が標準)。 | +18005550100 |
| POD | Kubernetes の 1 つ以上のコンテナのグループ。多くの場合、ストレージやネットワークを共有します。 | 名前文字列。 | Kubernetes POD 名。 |
| プロセス | 実行中のコンピュータ プログラムのインスタンス。 | プロセス ID(PID)または名前。 | 1234、chrome.exe |
| サービス | システムで実行されているソフトウェア サービス。 | サービス名の文字列。 | sshd、apache2 |
| 脅威アクター | 脅威となる個人またはグループ。 | 名前またはコード文字列。 | APT28、FIN7 |
| 脅威キャンペーン | 一連の関連する脅威アクティビティ。 | キャンペーン名またはコード文字列。 | キャンペーン名またはコード。 |
| 脅威シグネチャ | 既知の脅威のパターンまたは指標。 | ルール ID またはシグネチャ名。 | 短いルール ID、YARA-l ルール名。 |
| USB | ユニバーサル シリアル バス デバイス。 | デバイス名、シリアル番号、その他の属性。 | USB デバイスの識別子。 |
| ユーザー名 | ユーザー アカウントの識別子。 | 単純なユーザー名またはメールアドレス。 | jdoe、jdoe@example.com |
ユースケース: 取り込まれたメールの新しいデータをマッピングしてモデル化する
このユースケースでは、取り込まれたメールの新しいデータをマッピングしてモデル化する方法を示します。
- [Content Hub]> [Use Cases] に移動します。
- Zero to Hero テストケースを実行します。詳しい手順については、ユースケースを実行するをご覧ください。
- [Cases] タブで、[Cases Queue] から [Mail] ケースを選択し、[Events] タブを選択します。
- アラートの横にある 設定アイコン イベント設定をクリックして、[イベント設定] ページを開きます。
-
階層リストで [メール] をクリックします。これにより、このプロダクト(メールボックス)から取得されるすべてのデータに対して、構成が自動的に機能するようになります。
-
データを最もよく表すビジュアル ファミリーを割り当てます。このユースケースでは、
MailRelayOrTAPがすでに選択されているため、この手順をスキップできます。 - [マッピング] に切り替えて、次のエンティティ フィールドをマッピングします。各エンティティをダブルクリックし、抽出されたフィールドでそのエンティティの元データ フィールドを選択します。情報を抽出する代替フィールドを指定できます。
SourceUserNameDestinationUserNameDestinationURLEmailSubject- [Raw Event Properties] をクリックして、元のメールのフィールドを表示します。
正規表現を抽出する
Google SecOps は正規表現グループをサポートしていません。正規表現パターンを使用してイベント フィールドからテキストを抽出するには、抽出関数ロジックで lookahead と lookbehind を使用します。
次の例では、イベント フィールドに大きなテキストのチャンクが表示されています。
Suspicious activity on A16_WWJ - Potential Account Takeover (33120)
テキスト Suspicious activity on A16_WWJ のみを抽出するには、次の操作を行います。
- [抽出関数] の値フィールドに、次の正規表現を入力します。
Suspicious activity on A16_WWJ(?=.*) - [変換関数] フィールドで、[To_String] を選択します。
Suspicious activity on A16_WWJ の後のテキストのみを抽出するには、次の操作を行います。
- [抽出関数] の値フィールドに、次の正規表現を入力します。
(?<=Suspicious activity on A16_WWJ).* - [変換関数] フィールドで、[To_String] を選択します。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。