エンティティ コンテキスト グラフ(ECG)の使用
このドキュメントでは、エンティティ コンテキスト グラフ(ECG)、そのデータソース、処理パイプライン、ルールと検索でのアプリケーションの包括的な概要について説明します。ECG は、検出ルール、検索、ダッシュボードで高度な脅威検出、調査、脅威ハンティングに不可欠なコンテキストを提供するコア エンティティ データモデルです。ECG 処理パイプラインは、各 Google SecOps 環境のコンテキスト情報を(統合)します。
また、ECG は、有病率(特定のエンティティが UDM データで他のエンティティと比較してどのくらいの頻度で発生するか)、エンティティの first-seen-time と last-seen-time、主要なエンリッチメント ソース、Google Threat Intelligence(GTI)、セーフ ブラウジング、WHOIS、VirusTotal データなどの侵害の指標(IOC)ソースなどのエンティティの概要指標を計算します。
ECG は UDM イベントを使用して次の処理を行います。
- 内部エンティティ(アセットとユーザー)と外部エンティティ(IOC)の、強化され、関連付けられた包括的なビューを構築します。
- これらのエンティティ間の関係を特定します。
心電図のデータソース
ECG は、次のソースのデータを組み合わせています。
| コンテキスト ソース | ソース | 説明 |
|---|---|---|
| エンティティ コンテキスト | お客様提供 | Google SecOps は、ユーザーやアセットに関する信頼できる詳細情報などの構造化された組織データを外部システムから直接取り込みます。これらのソースには、ID プロバイダ(IDP)、構成管理データベース(CMDB)システム(ServiceNow CMDB、Duo User Context など)、脆弱性管理システムが含まれます。 |
| 派生コンテキスト | Google SecOps によって生成された | Google SecOps は、取り込まれたアクティビティの分析に基づいて統計データを生成します。環境内のさまざまなソース(Windows AD、Azure AD、Okta、 Google Cloud、IAM など)のイベントとエンティティを拡充します。 例:
|
| グローバル コンテキスト | Google ソース | グローバル ソースは、内部および外部の脅威インテリジェンスと評判データを提供します。 例:
|
心電図データ処理パイプライン
まず、UDM エイリアスとエンリッチメントのパイプラインが、未加工のセキュリティ イベントを UDM 構造に取り込んで正規化します。
次に、ECG の統合は、複数のオリジン(ID プロバイダ、構成管理データベース(CMDB)、脅威インテリジェンス フィード、派生コンテキストなど)のコンテキストを単一の統合エンティティ プロファイルに統合することで、各エンティティの豊富な信頼できるプロファイルを作成します。ECG の統合により、新しい接続、プロパティ、関係が ECG に追加され、派生コンテキストが作成および更新されます。
ECG は、時間ベース(一時的)エンティティと時間ベースでない(一時的でない)エンティティの両方を構築します。ECG は、指定されたルールと検索の期間内の timed エンティティを評価します。一方、timeless エンティティは、検索またはルールの期間を考慮せずに評価します。
ECG は、これらの異なるデータソース間で hostname、MAC address、user ID、email address などの共通キー識別子を照合して、コンテキスト レコードを統合します。これらの値のいずれかに一致するレコードを統合して、エンティティの包括的で充実したビューを構築します。
ECG エイリアスは、次の UDM フィールドを「マージキー」として使用します。
Assetentity.asset.product_object_identity.asset.hostnameentity.asset.asset_identity.asset.mac
Userentity.user.product_object_identity.user.useridentity.user.windows_sidentity.user.email_addressesentity.user.employee_id
Resourceentity.resource.product_object_identity.resource.name
Groupentity.group.product_object_identity.group.email_addressesentity.group.windows_sid
統合プロセス中に上記のフィールドのいずれかで値が競合する場合、ECG パイプラインは開始時間が最も新しい値を選択してエンティティを更新します。
心電図は、5 日間のルックバック ウィンドウでエンティティ コンテキスト データを作成します。このプロセスでは、遅延データが処理され、エンティティ コンテキスト データの暗黙的な有効期間が作成されます。
ECG は、コンテキスト データ(アセット、ユーザー、リソース、グループ)とセキュリティ侵害インジケーター(IOC)を区別します。
例: 心電図の統合によるユーザーデータの統合
Google SecOps は、Okta、Azure AD、脆弱性スキャナの 3 つのソースから jdoe のユーザーデータを取り込みます。ECG は、一致する識別子(jdoe@example.com など)に基づいてこれら 3 つのレコードを統合し、3 つのソースすべての属性を含む 1 つの統合された jdoe ユーザー エンティティを ECG に作成します。
例: 冗長データを排除して共通のエンティティを作成する
共通の結合エンティティを作成するために、ECG は重複除去によって冗長なデータを排除します。これは、正確なタイムスタンプを照合するのではなく、時間間隔を生成することで行われます。
たとえば、タイムスタンプが t1 と t2 の 2 つのエンティティ e1 と e2 について考えます。e1 と e2 がそれ以外で同一の場合、ECG は次のフィールドのタイムスタンプの違いを無視して重複除去します。
collected_timestampcreation_timestampinterval
重要なエンティティとイベントのコンテキスト ECG データソース
Google SecOps でエンティティを作成して更新するには、いくつかの特定のデータソースが必要です。
重要なエンティティ コンテキストの心電図データソース
環境のユーザーとアセットの信頼できるデータソースは、エンティティ データモデルを構築するための最も重要なログデータを提供します。次に例を示します。
| カテゴリ | 重要なデータソース | エンティティが入力された |
|---|---|---|
| ID とアクセスの管理 | Active Directory、Azure AD、Okta、 Google Cloud Identity | user、group |
| アセット インベントリ | CMDB、JAMF、Microsoft Intune | asset |
| 脅威インテリジェンス | カスタム フィードまたはサードパーティ フィード、Google Threat Intelligence(GTI) | ip_address、domain_name、file |
検索の例
各カテゴリをサポートするパーサーを一覧表示するには:
- デフォルト パーサーのあるサポートされているログタイプに移動します。
検索バーにカテゴリを入力します(例:)。
- アセット インベントリに関連するパーサーの場合は、「
inventory」または「asset」と入力します。 - ID とアクセス管理に関連するパーサーの場合は、
identityと入力します。 - 脅威インテリジェンスに関連するパーサーの場合は、「
IOC」と入力します。
- アセット インベントリに関連するパーサーの場合は、「
エンティティ プロファイリングのデータソースと重要な UDM フィールド
Google SecOps は、信頼できるエンティティ コンテキスト データソースと重要な UDM フィールドに基づいてエンティティ プロファイルを強化します。
| エンティティ タイプ | データソース | 重要な UDM フィールド(エイリアスとインデックス登録用) |
|---|---|---|
| プロセス | エンドポイント ログは、堅牢なプロセス エイリアシングに不可欠な安定した識別子である PSPI(`principal.process.product_specific_process_id`)を提供します。 たとえば、CrowdStrike EDR(CS_EDR)や Windows Sysmon(WINDOWS_SYSMON)などがあります。 |
source.process.product_specific_process_id |
| ユーザー | これらのソースは、ユーザー属性と ID 情報を提供します。 たとえば、Duo エンティティ コンテキスト データ(DUO_CONTEXT)や Okta(OKTA)などです。 |
source.user.userid、source.user.email_address、source.user.windows_sid、source.user.product_object_id |
| アセットまたはエンドポイント | これらのソースは、信頼できるアセット情報を提供します。 例: ServiceNow CMDB(SERVICENOW_CMDB)、Tanium Asset(TANIUM_ASSET)。 |
source.ip、source.hostname、source.asset_id、principal.asset.hostname |
| ファイルのハッシュ | データ コンテンツの一意の「デジタル フィンガープリント」を提供し、データの完全性を検証します。 | source.file.sha256、source.file.sha1、source.file.md5 |
重要なイベント コンテキスト データ UDM フィールド
Google SecOps には、いくつかの重要なイベント コンテキスト データ UDM フィールドが必要です。
最も重要な UDM フィールドは、安定した識別子と関係インジケーター(
principal.*、target.*、src_*、dst_*フィールド)として機能するフィールドです。Entity graph機能領域に属する主要な UDM フィールドの一覧をご覧ください。包括的な ECG を構築するには、価値の高い識別子と関係データを提供するデータソースを優先します。次に例を示します。
エンティティ タイプ 重要なデータソース エンティティ構築に不可欠な UDM フィールド アセット(ホスト) EDR と XDR、DNS と DHCP、ファイアウォール、 Google Cloud コンソールの監査ログ metadata.event_type、
principal.asset.asset_id、
principal.asset.hostname、
principal.ipユーザー ID プロバイダ(IdP)ログ、HR フィード(コンテキスト)、Cloud Identity ログ、メールゲートウェイ principal.user.userid、
principal.user.email_addresses、
target.user.userid、
principal.ipネットワーク ファイアウォール、VPN、DNS、VPC フローログ principal.ip、
target.ip、
src_ip、
dst_ip、
network.directionファイルとプロセス EDR と XDR、アプリケーション ログ target.file.full_path、
target.process.file.full_path、
target.process.command_line
例
ECG データは、これらの UDM フィールドを使用して、ルール、検索、ダッシュボードで ECG データと UDM イベントデータを結合します。
たとえば、「ブルート フォース」モニタリング ルールでユーザー コンテキスト データを結合して、関連するユーザーが「ドメイン管理者」グループに属し、関連するアセットがドメイン コントローラである場合にのみアラートを生成できます。
events:
$fail.metadata.event_type = "USER_LOGIN"
$fail.metadata.vendor_name = "Microsoft"
$fail.principal.hostname = $hostname
$fail.target.user.userid = $target_user
$fail.security_result.action = "BLOCK"
$fail.metadata.product_event_type = "4625"
$fail.metadata.event_timestamp.seconds < $success.metadata.event_timestamp.seconds
$success.metadata.event_type = "USER_LOGIN"
$success.metadata.vendor_name = "Microsoft"
$success.target.user.userid = $target_user
$success.principal.hostname = $hostname
$success.security_result.action = "ALLOW"
$success.metadata.product_event_type = "4624"
$user.graph.entity.user.userid = $target_user
$user.graph.metadata.entity_type = "USER"
$user.graph.metadata.source_type = "ENTITY_CONTEXT"
any $user.graph.relations.entity.group.group_display_name = "Domain Admins"
$asset.graph.entity.asset.hostname = $hostname
$asset.graph.metadata.entity_type = "ASSET"
$asset.graph.metadata.source_type = "ENTITY_CONTEXT"
any $asset.graph.relations.entity.group.group_display_name = "Domain Controllers"
match:
$target_user, $hostname over 15m
condition:
#fail > 4 and $success and $user and $asset
派生コンテキストの拡充
Google SecOps は、組織のイベントデータから、すべての Namespace の各エンティティについて動的なイベント駆動型推論データを生成します。エイリアス情報、内部拡充プロセスからのデータ、セキュリティ イベント データを使用して、関係(IP address を使用する asset など)を確立します。このプロセスにより、エンティティ プロファイルが強化され、貴重なコンテキストが追加されます。
たとえば、entity.file.sha256 を file (hash) エンティティに追加し、(principal or target).ip_geo_artifact.location.country_or_region を network (geolocation) エンティティに追加します。
Google SecOps は、取り込まれたアクティビティの複数の指標を分析して、コンテキスト情報でイベントを拡充します。重要なエンリッチメント関数を実行して、たとえば、普及率の統計情報などのエンティティの希少性指標や、first-seen-time や last-seen-time などの時間的指標を生成します。
普及率の統計情報
ECG は、既存のデータと受信データを分析して、普及率の指標を計算し、派生コンテキスト フィールドとして保存する役割も担います。これらの指標は、環境全体での domain、file hash、IP address などのエンティティの数値の「人気度」を表します。これにより、人気のあるエンティティは通常、悪意のある可能性が低いため、まれなアクティビティや異常なアクティビティを特定できます。
Google SecOps はこれらの統計情報を定期的に更新し、別のエンティティ コンテキストに保存します。検出エンジンはこれらの値を使用できます。また、UDM クエリ構文を使用してこれらの値を検索することもできます。ただし、これらの値は他のエンティティの詳細とともにコンソールに表示されません。
検出エンジン ルールの作成時に、次のフィールドを使用できます。
| エンティティ タイプ | UDM フィールド |
|---|---|
| ドメイン | entity.domain.prevalence.day_count
entity.domain.prevalence.day_max
entity.domain.prevalence.day_max_sub_domains
entity.domain.prevalence.rolling_max
entity.domain.prevalence.rolling_max_sub_domains |
| ファイル(ハッシュ) | entity.file.prevalence.day_count
entity.file.prevalence.day_max
entity.file.prevalence.rolling_max |
| IP アドレス | entity.artifact.prevalence.day_count
entity.artifact.prevalence.day_max
entity.artifact.prevalence.rolling_max |
Google SecOps では、day_max と rolling_max の値が次のように計算されます。
day_maxは、アーティファクトの 1 日における最大普及率です(1 日は UTC の午前 12 時 00 分 00 秒から午後 11 時 59 分 59 秒として定義されます)。rolling_maxは、過去 10 日間のアーティファクトの 1 日あたりの普及率スコアの最大値(day_max)です。- システムは
day_countを使用してrolling_maxを計算します。値は常に 10 です。
システムが domain のこれらの値を計算する場合、day_max と day_max_sub_domains の違い(および rolling_max と rolling_max_sub_domains)は次のようになります。
rolling_maxとday_maxは、特定のドメイン(サブドメインを除く)にアクセスする 1 日あたりの一意の内部 IP アドレスの数を表します。rolling_max_sub_domainsとday_max_sub_domainsは、特定のドメイン(サブドメインを含む)にアクセスする一意の内部 IP アドレスの数を表します。
Google SecOps は、新しく取り込まれたエンティティ データを使用して普及率の統計情報を計算します。Google SecOps は、以前に取り込まれたデータに対して遡及的に計算を実行しません。Google SecOps が統計情報を計算して保存するまで、約 36 時間かかります。
例
ECG では、関連するコンテキスト データをルールまたは検索に結合するために、これらの UDM フィールドが必要です。心電図関連のすべてのデータを UDM イベントデータに明示的に結合する必要があります。
たとえば、心電図の prevalence データを使用して、セキュリティ ログ内の「まれな」ドメインへの接続を特定できます。
$dns.metadata.event_type = "NETWORK_DNS"
$dns.network.dns.questions.name != ""
$dns.network.dns.questions.name = $domain
$prevalence.graph.metadata.entity_type = "DOMAIN_NAME"
$prevalence.graph.metadata.source_type = "DERIVED_CONTEXT"
$prevalence.graph.entity.hostname = $domain
$prevalence.graph.entity.domain.prevalence.day_count = 10
$prevalence.graph.entity.domain.prevalence.rolling_max > 0
$prevalence.graph.entity.domain.prevalence.rolling_max <= 3
match:
$domain over 5m
condition:
$dns and $prevalence
エンティティの最初と最後の検出時刻
Google SecOps は受信データを分析し、次の重要なフィールドでエンティティ コンテキスト レコードを拡充します。
first-seen-time: エンティティが環境で最初に検出された日時。last-seen-time: 最新のモニタリングの日時。
これらの派生フィールドを使用すると、domain、file hash、asset、user、IP address エンティティ間のアクティビティを関連付けることができます。
システムは、これらの値を次の UDM フィールドに格納します。
| エンティティ タイプ | UDM フィールド |
|---|---|
| ドメイン | entity.domain.first_seen_timeentity.domain.last_seen_time |
| ファイル(ハッシュ) | entity.file.first_seen_timeentity.file.last_seen_time |
| IP アドレス | entity.artifact.first_seen_timeentity.artifact.last_seen_time |
| アセット | entity.asset.first_seen_time |
| ユーザー | entity.user.first_seen_time |
最初と最後の検出時刻の計算の例外:
assetエンティティとuserエンティティの場合、Google SecOps はfirst_seen_timeフィールドのみを入力し、last_seen_timeフィールドは入力しません。- Google SecOps は、個々の Namespace 内の各エンティティの統計情報を計算しません。
- Google SecOps は、これらの統計情報を BigQuery の Google SecOps
eventsスキーマにエクスポートしません。 - Google SecOps は、
groupやresourceなどの他のエンティティ タイプに対してこれらの値を計算しません。
グローバル コンテキストの拡充
これらのソースには、内部およびサードパーティのグローバル ソースからの外部脅威インテリジェンスと評判データが含まれます。
Google Threat Intelligence データを取得する
Google SecOps は、Google Threat Intelligence(GTI)データソースからデータを取り込み、環境内のアクティビティの調査に使用できるコンテキスト情報を提供します。
次のデータソースにクエリを実行します。
- GTI Tor 出口ノード: 既知の Tor 出口ノードの IP アドレス。
- GTI Benign Binaries: オペレーティング システムの元のディストリビューションの一部であるか、公式のオペレーティング システムのパッチによって更新されたファイル。最初のエントリ ベクトルに焦点を当てているものなど、環境寄生型攻撃に一般的に見られる攻撃を通じて悪用された一部の公式のオペレーティング システムのバイナリは、このデータソースから除外されます。
- GTI リモート アクセスツール: 悪意のあるアクターが頻繁に使用するファイル通常、これらのツールは正規のアプリケーションであり、悪用されて不正使用されたシステムにリモートで接続されることがあります。
システムは、このコンテキスト データをエンティティとしてグローバルに保存します。検出エンジンのルールを使用してデータをクエリできます。これらのグローバル エンティティをクエリするには、ルールに次の UDM フィールドと値を含めます。
graph.metadata.vendor_name=Google Threat Intelligencegraph.metadata.product_name=GTI Feed
時間指定された対時間制限のない Google Threat Intelligence データソース
Google Threat Intelligence のデータソースには、時間指定または時間制限のないのいずれかのタイプがあります。
時間制限のあるデータソースの各エントリには、時間範囲が関連付けられています。Google SecOps が 1 日目に検出を生成した場合、その後の任意の日には、Google SecOps は Retro Hunt 中に 1 日目のために同じ検出を生成すると想定されます。
時間制限のないデータソースには、関連付けられた時間範囲がありません。これは、最新のデータセットのみを考慮する必要があるためです。通常、システムは、ファイル ハッシュなど、変更されることが想定されていないデータに時間制限のないデータソースを使用します。Google SecOps が 1 日目に検出を生成しない場合、2 日目の Retro Hunt 中に、タイムレス データソースに新しいエントリが追加されたため、1 日目の検出が生成されることがあります。
Tor 出口ノードの IP アドレスに関するデータ
Google SecOps は、Tor 出口ノードと呼ばれる IP アドレスを取り込み、保存します。Tor 出口ノードは、Tor ネットワークからトラフィックが送信されるポイントです。Tor 出口ノードのデータはタイムアウトします。
Google SecOps は、このデータソースから取り込まれた情報を次の UDM フィールドに格納します。
| UDM フィールド | 説明 |
|---|---|
<variable_name>.graph.metadata.vendor_name |
値 Google Threat Intelligence を保存します。 |
<variable_name>.graph.metadata.product_name |
値 GTI Feed を保存します。 |
<variable_name>.graph.metadata.threat.threat_feed_name |
値 Tor Exit Nodes を保存します。 |
<variable_name>.graph.entity.artifact.ip |
GTI データソースから取り込まれた IP アドレスを保存します。 |
検索の例
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Tor Exit Nodes"
良性のオペレーティング システム ファイルに関するデータ
Google SecOps は、GTI Benign Binaries データソースからファイル ハッシュを取り込んで保存します。Google SecOps は、このデータソースから取り込まれた情報を次の UDM フィールドに格納します。安全なバイナリのデータは時間制限がありません。
| UDM フィールド | 説明 |
|---|---|
<variable_name>.graph.metadata.vendor_name |
値 Google Threat Intelligence を保存します。 |
<variable_name>.graph.metadata.product_name |
値 GTI Feed を保存します。 |
<variable_name>.graph.metadata.threat.threat_feed_name |
値 Benign Binaries を保存します。 |
<variable_name>.graph.entity.file.sha256 |
ファイルの SHA256 ハッシュ値を保存します。 |
<variable_name>.graph.entity.file.sha1 |
ファイルの SHA-1 ハッシュ値を保存します。 |
<variable_name>.graph.entity.file.md5 |
ファイルの MD5 ハッシュ値を保存します。 |
検索の例
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Benign Binaries"
リモート アクセス ツールに関するデータ
リモート アクセスツールには、悪意のあるアクターが頻繁に使用する、VNC クライアントなどの既知のリモート アクセス ツールのファイル ハッシュが含まれています。通常、これらのツールは正規のアプリケーションであり、悪用されて不正使用されたシステムにリモートで接続されることがあります。Google SecOps は、このデータソースから取り込まれた情報を次の UDM フィールドに格納します。リモート アクセス ツールのデータは時間制限なしです。
| UDM フィールド | 説明 |
|---|---|
<variable_name>.graph.metadata.vendor_name |
値 Google Threat Intelligence を保存します。 |
<variable_name>.graph.metadata.product_name |
値 GTI Feed を保存します。 |
<variable_name>.graph.metadata.threat.threat_feed_name |
値 Remote Access Tools を保存します。 |
<variable_name>.graph.entity.file.sha256 |
ファイルの SHA256 ハッシュ値を保存します。 |
<variable_name>.graph.entity.file.sha1 |
ファイルの SHA-1 ハッシュ値を保存します。 |
<variable_name>.graph.entity.file.md5 |
ファイルの MD5 ハッシュ値を保存します。 |
検索の例
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Remote Access Tools"
セーフ ブラウジングの脅威リストの情報を使用してエンティティを拡充する
Google SecOps は、ファイル ハッシュに関連するデータをセーフ ブラウジングから取り込みます。Google SecOps は、各ファイルのデータをエンティティとして保存し、ファイルに関する追加コンテキストを提供します。このエンティティ コンテキスト データをクエリしてコンテキストに応じた分析を構築する検出エンジンルールを作成できます。
Google SecOps は、エンティティ コンテキスト レコードに次の情報を保存します。
| UDM フィールド | 説明 |
|---|---|
entity.metadata.product_entity_id |
エンティティの一意の識別子。 |
entity.metadata.entity_type |
この値は FILE で、エンティティがファイルを表していることを示します。 |
entity.metadata.collected_timestamp |
エンティティが確認された日時、またはイベントが発生した日時。 |
entity.metadata.interval |
このデータが有効である開始時間と終了時間を保存します。脅威リストのコンテンツは時間の経過とともに変化するため、start_time と end_time には、エンティティに関するデータが有効な期間が反映されます。たとえば、start_time と end_time の間にファイル ハッシュに悪意があるか、または疑わしいことが確認されました。 |
entity.metadata.threat.category |
Google SecOps SecurityCategory。システムは、次のいずれかの値に設定します。
|
entity.metadata.threat.severity |
これは Google SecOps ProductSeverity です。値が CRITICAL の場合、アーティファクトに悪意があることを示します。値が指定されていない場合、アーティファクトに悪意があることを示す十分な信頼性がありません。 |
entity.metadata.product_name |
値 Google Safe Browsing を保存します。 |
entity.file.sha256 |
ファイルの SHA256 ハッシュ値。 |
ルールの例
events:
// find a process launch event, match on hostname
$execution.metadata.event_type = "PROCESS_LAUNCH"
$execution.target.process.file.sha256 != ""
$execution.principal.hostname = $hostname
// join execution event with Safe Browsing graph
$sb.graph.entity.file.sha256 = $execution.target.process.file.sha256
// look for files deemed malicious
$sb.graph.metadata.entity_type = "FILE"
$sb.graph.metadata.threat.severity = "CRITICAL"
$sb.graph.metadata.product_name = "Google Safe Browsing"
match:
$hostname over 5m
condition:
$execution and $sb
WHOIS データを使用してエンティティを拡充する
システムは、重要な機能として WHOIS データの拡充を毎日実行します。WHOIS データは、時間指定と時間制限なしの両方です。
デバイスデータの取り込み中に、Google SecOps は WHOIS データに対してドメインを評価します。ドメインが一致すると、Google SecOps は関連する WHOIS データをドメインのエンティティ レコードとともに保存します。entity.metadata.entity_type = DOMAIN_NAME を含むエンティティごとに、Google SecOps は WHOIS 情報でエンティティを拡充します。
Google SecOps が、エンティティ レコードの次のフィールドに WHOIS 拡充データを入力します。
entity.domain.admin.attribute.labelsentity.domain.audit_update_timeentity.domain.billing.attribute.labelsentity.domain.billing.office_address.country_or_regionentity.domain.contact_emailentity.domain.creation_timeentity.domain.expiration_timeentity.domain.iana_registrar_identity.domain.name_serverentity.domain.private_registrationentity.domain.registrant.company_nameentity.domain.registrant.office_address.stateentity.domain.registrant.office_address.country_or_regionentity.domain.registrant.email_addressesentity.domain.registrant.user_display_nameentity.domain.registrarentity.domain.registry_data_raw_textentity.domain.statusentity.domain.tech.attribute.labelsentity.domain.update_timeentity.domain.whois_record_raw_textentity.domain.whois_serverentity.domain.zone
Google SecOps は、global context WHOIS レコードの registrant、creation、expiration time データを使用して domain エンティティ(entity.metadata.entity_type = "DOMAIN_NAME")を拡充します。
これらのフィールドの説明については、統合データモデルのフィールド リストのドキュメントをご覧ください。
検索の例
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
graph.entity.domain.registry_data_raw_text != b""
ベスト プラクティス: グローバル コンテキストで強化されたデータソースを特定する
ルールのパフォーマンスを向上させるには、グローバル コンテキスト エンリッチメント ソースのデータを使用するルールにフィルタを含めて、特定のエンリッチメント タイプまたはソースを特定します。
次のフィルタ パラメータは、拡充のタイプまたはソースを識別します。entity_type、product_name、vendor_name。
たとえば、WHOIS データを結合するルールの events セクションに次のフィルタ フィールドを含めます。
$enrichment.graph.metadata.entity_type = "DOMAIN_NAME"
$enrichment.graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
$enrichment.graph.metadata.vendor_name = "WHOIS"
エンティティ コンテキスト グラフの制限事項と提案
コンテキスト拡充されたデータを使用する場合は、次の ECG の動作を考慮してください。
- エンティティ データにインターバルを追加しないでください。代わりに、心電図でインターバルを作成します。これは、特に指定しない限り、重複除去中に Google SecOps が間隔を生成するためです。
- 間隔を指定すると、Google SecOps は同じイベントのみを重複除去し、最新のエンティティを保持します。
- ライブルールと RetroHunt が想定どおりに機能するようにするには、エンティティを少なくとも 1 日 1 回取り込む必要があります。
- エンティティが毎日取り込まれず、2 日以上に 1 回だけ取り込まれると、ライブルールは想定どおりに機能しますが、RetroHunt は一部のイベント コンテキストを失う可能性があります。
- 同じエンティティを 1 日に複数回取り込むと、Google SecOps はそれらを 1 つのエンティティに重複除去します。
- 1 日分のイベントデータがない場合、Google SecOps は前日のデータを一時的に使用して、ライブルールが正しく機能するようにします。
Google SecOps サービスの一般的な上限の詳細については、サービスの上限をご覧ください。
関連する外部コンテンツ
- エンティティ グラフを多次元リストとして使用する
- Chronicle SIEM のエイリアス
- エンティティ グラフの有効期限切れの IOC
- Chronicle SIEM の Google セーフ ブラウジング
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。