丰富
丰富功能使用以下方法为 UDM 指标或事件添加上下文:
- 用于标识描述指标(通常是 UDM 字段)的别名实体。
- 使用从已识别的别名或实体中获取的更多详细信息填充 UDM 消息。
- 向 UDM 事件添加了全局丰富数据,例如 GeoIP 和 VirusTotal。
为了确保依赖于富化字段的规则、搜索或信息中心能够涵盖完整的数据,请使用数据表和实体图联接进行实时富化。
素材资源丰富化
对于每个资产事件,流水线会从 principal、src 和 target 实体中提取以下 UDM 字段:
| UDM 字段 | 指示器类型 |
|---|---|
| 主机名 | 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 | 整个流程;不仅仅是指标 |
除了标准化事件中的 target.process 字段之外,Google SecOps 还会收集父进程信息并将其编入索引。
制品丰富化
制品丰富化会添加来自 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 地址,系统都会创建一个 ip_geo_artifact 子协议缓冲区,其中包含关联的位置和 ASN 信息。
地理位置别名不使用回溯或缓存。由于事件数量众多,Google SecOps 会在内存中维护索引。
使用 VirusTotal 文件元数据丰富事件
Google SecOps 可将文件哈希丰富为 UDM 事件,并在调查期间提供更多背景信息。哈希别名通过合并所有类型的文件哈希来丰富 UDM 事件,并在搜索期间提供有关文件哈希的信息。
Google SecOps 集成了 VirusTotal 文件元数据和关系丰富功能,可识别恶意活动模式并跟踪恶意软件在网络中的移动。
原始日志提供的文件信息有限。VirusTotal 会使用文件元数据丰富事件,包括有关恶意哈希和文件的详细信息。元数据包括文件名、类型、导入的函数和标记等信息。您可以在 UDM 搜索和检测引擎中使用 YARA-L 来了解恶意文件事件,并在威胁搜寻期间使用这些信息。例如,您可以检测对使用文件元数据进行威胁检测的原始文件的修改。
记录中会存储以下信息。 如需查看所有 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 专业人士的解答。