拡充
エンリッチメントでは、次の方法で UDM インジケーターまたはイベントにコンテキストを追加します。
- インジケーター(通常は UDM フィールド)を記述するエイリアス エンティティを識別します。
- 特定されたエイリアスまたはエンティティから追加の詳細情報を取得して、UDM メッセージに入力します。
- GeoIP や VirusTotal などのグローバル エンリッチメント データを UDM イベントに追加します。
拡充されたフィールドに依存するルール、検索、ダッシュボードのデータが完全にカバーされるようにするには、データテーブルとエンティティ グラフの結合を使用してリアルタイム拡充を行います。
アセットの拡充
アセット イベントごとに、パイプラインは principal、src、target エンティティから次の UDM フィールドを抽出します。
| UDM フィールド | 指標のタイプ |
|---|---|
| hostname | HOSTNAME |
| asset_id | PRODUCT_SPECIFIC_ID |
| mac | MAC |
| ip | IP |
ユーザーの拡充
各ユーザー イベントについて、パイプラインは principal、src、target から次の UDM フィールドを抽出します。
| UDM フィールド | インジケーターのタイプ |
|---|---|
| email_addresses | EMAIL |
| userid | USERNAME |
| windows_sid | WINDOWS_SID |
| employee_id | EMPLOYEE_ID |
| product_object_id | PRODUCT_OBJECT_ID |
パイプラインは、指標ごとに次のアクションを実行します。
- ユーザー エンティティのリストを取得します。たとえば、
principal.email_addressとprincipal.useridのエンティティは同じである場合もあれば、異なる場合もあります。 - 優先順位(
WINDOWS_SID、EMAIL、USERNAME、EMPLOYEE_ID、PRODUCT_OBJECT_ID)の高い指標タイプからエイリアスを選択します。 - 有効期間がイベント時間と重複するエンティティで
noun.userを入力します。
プロセスの拡充
プロセス拡充を使用して、プロダクト固有のプロセス ID(product_specific_process_id)、つまり PSPI を実際のプロセスにマッピングし、親プロセスの詳細を取得します。このプロセスは、EDR イベント バッチタイプに依存しています。
パイプラインは、各 UDM イベントについて、次のフィールドから PSPI を抽出します。
principalsrctargetprincipal.process.parent_processsrc.process.parent_processtarget.process.parent_process
パイプラインは、プロセス エイリアスを使用して PSPI から実際のプロセスを特定し、親プロセスに関する情報を取得します。次に、このデータを拡充されたメッセージ内の対応する noun.process フィールドに統合します。
プロセス エイリアシングの EDR インデックス フィールド
プロセスが起動すると、システムはメタデータ(コマンドライン、ファイル ハッシュ、親プロセスの詳細など)を収集します。マシンで実行されている EDR ソフトウェアは、ベンダー固有のプロセス UUID を割り当てます。
次の表に、プロセス起動イベント中にインデックス登録されるフィールドを示します。
| UDM フィールド | インジケーターのタイプ |
|---|---|
| target.product_specific_process_id | PROCESS_ID |
| target.process | プロセス全体(インジケーターだけではない) |
Google SecOps は、正規化されたイベントの target.process フィールドに加えて、親プロセス情報を収集してインデックスに登録します。
アーティファクトの拡充
アーティファクトの拡充により、VirusTotal のファイル ハッシュ メタデータと IP アドレスの位置情報データが追加されます。パイプラインは、UDM イベントごとに、principal、src、target エンティティから次のアーティファクト指標のコンテキスト データを抽出してクエリします。
- IP アドレス: パブリックまたはルーティング可能な場合にのみデータをクエリします。
- ファイル ハッシュ: 次の順序でハッシュをクエリします。
file.sha256file.sha1file.md5process.file.sha256process.file.sha1process.file.md5
パイプラインは、UNIX エポックとイベント時間を使用して、ファイル アーティファクト クエリの期間を定義します。位置情報データが利用可能な場合、パイプラインは位置情報データの送信元に基づいて、principal、src、target エンティティの次の UDM フィールドを上書きします。
artifact.ipartifact.locationartifact.network(データに IP ネットワーク コンテキストが含まれている場合のみ)location(元のデータにこのフィールドが含まれていない場合のみ)
パイプラインでファイル ハッシュ メタデータが見つかった場合、インジケーターの送信元に応じて、そのメタデータがファイルまたは process.file フィールドに追加されます。パイプラインは、新しいデータと重複しない既存の値を保持します。
IP 位置情報拡充
地理的エイリアスは、外部 IP アドレスの位置情報データを提供します。UDM イベントの principal、target、src フィールドのエイリアスなしの IP アドレスごとに、関連するロケーションと ASN 情報を含む ip_geo_artifact サブプロトコル バッファが作成されます。
地理的エイリアスは、ルックバックやキャッシュ保存を使用しません。イベントの量が多いので、Google SecOps はメモリ内にインデックスを保持します。
VirusTotal ファイルのメタデータを使用してイベントを拡充する
Google SecOps は、ファイル ハッシュを UDM イベントに拡充し、調査中に追加のコンテキストを提供します。ハッシュ エイリアスは、すべての種類のファイル ハッシュを組み合わせて、検索時にファイル ハッシュに関する情報を提供することで、UDM イベントを拡充します。
Google SecOps は、VirusTotal ファイルのメタデータと関係の拡充を統合して、悪意のあるアクティビティのパターンを特定し、ネットワーク全体でマルウェアの動きを追跡します。
生ログには、ファイルに関する情報がほとんど含まれていません。VirusTotal は、悪意のあるハッシュやファイルの詳細など、ファイル メタデータを使用してイベントを拡充します。メタデータには、ファイル名、型、インポートされた関数、タグなどの情報が含まれます。この情報を利用して、YARA-L を使用した UDM 検索エンジンで、悪意のあるファイル イベントを把握することや、脅威ハンティングで使用することが可能です。たとえば、脅威検出にファイルのメタデータを使用する元のファイルに対する変更を検出できます。
次の情報はレコードとともに保存されます。すべての UDM フィールドの一覧については、統合データモデルのフィールド リストをご覧ください。
| データの種類 | UDM フィールド |
|---|---|
| sha-256 | ( principal | target | src | observer ).file.sha256 |
| md5 | ( principal | target | src | observer ).file.md5 |
| sha-1 | ( principal | target | src | observer ).file.sha1 |
| サイズ | ( principal | target | src | observer ).file.size |
| ssdeep | ( principal | target | src | observer ).file.ssdeep |
| vhash | ( principal | target | src | observer ).file.vhash |
| authentihash | ( principal | target | src | observer ).file.authentihash |
| PE ファイルのメタデータ Imphash | ( principal | target | src | observer ).file.pe_file.imphash |
| security_result.threat_verdict | ( principal | target | src | observer ).(process | file).security_result.threat_verdict |
| security_result.severity | ( principal | target | src | observer ).(process | file).security_result.severity |
| last_modification_time | ( principal | target | src | observer ).file.last_modification_time |
| first_seen_time | ( principal | target | src | observer ).file.first_seen_time |
| last_seen_time | ( principal | target | src | observer ).file.last_seen_time |
| last_analysis_time | ( principal | target | src | observer ).file.last_analysis_time |
| exif_info.original_file | ( principal | target | src | observer ).file.exif_info.original_file |
| exif_info.product | ( principal | target | src | observer ).file.exif_info.product |
| exif_info.company | ( principal | target | src | observer ).file.exif_info.company |
| exif_info.file_description | ( principal | target | src | observer ).file.exif_info.file_description |
| signature_info.codesign.id | ( principal | target | src | observer ).file.signature_info.codesign.id |
| signature_info.sigcheck.verfied | ( principal | target | src | observer ).file.signature_info.sigcheck.verified |
| signature_info.sigcheck.verification_message | ( principal | target | src | observer ).file.signature_info.sigcheck.verification_message |
| signature_info.sigcheck.signers.name | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.name |
| signature_info.sigcheck.status | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.status |
| signature_info.sigcheck.valid_usage | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.valid_usage |
| signature_info.sigcheck.cert_issuer | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.cert_issuer |
| file_type | ( principal | target | src | observer ).file.file_type |
次のステップ
他の Google SecOps 機能で拡充データを使用する方法については、以下をご覧ください。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。