Google Security Operations 中的别名设置和 UDM 扩充概览
本文档简要介绍了 Google Security Operations 中的别名和 UDM 扩充功能。本文概述了常见的使用情形,并说明了平台内的别名和丰富功能如何运作。
别名和 UDM 扩充是 Google SecOps 中的关键概念。它们可以协同工作,但用途各不相同。
- 别名用于标识描述指标的不同名称和其他上下文数据。
- 丰富功能使用别名来为 UDM 事件添加情境。
例如,某个 UDM 事件包含主机名 alex-macbook
,并表明用户 alex
执行了恶意文件哈希。通过别名化,我们发现主机名 alex-macbook
在事件发生时被分配了 IP 地址 192.0.2.0
,并且 alex
将在 2 周后离职。将这些别名缝合到原始 UDM 事件中可添加上下文。
支持的别名和扩充功能
Google SecOps 支持对以下内容进行别名化和丰富化:
- 资产
- 用户
- 进程
- 文件哈希元数据
- 地理位置
- 云资源
别名的运作方式
别名可实现丰富化。例如,通过别名化,您可以找到与主机名关联的其他 IP 地址和 MAC 地址,或者与用户 ID 关联的职位和雇佣状态。
与 Google SecOps 中的其他功能一样,别名功能也需要注入和编入索引的数据。别名分为三大类:
- 客户专用数据:客户独有的数据。例如,只有
Aristocrat
才能为amal@aristocrat.com
提供数据。特定于客户的别名类型包括资产、用户和进程。 - 全局数据:适用于所有客户的已提取和已编入索引的数据。例如,有关恶意文件的全球来源指示可用于检查您的企业中是否存在该文件。
- 第三方服务:由第三方服务提供商完成的别名化。Google SecOps 使用地理位置服务来查找 IP 地址的实际位置。
这些类型的别名会一起使用,以生成素材资源别名结果。
资源别名
资产别名可关联主机名、IP 地址、MAC 地址、资产 ID 和其他元数据。这涉及以下步骤:
- EDR 别名:将商品 ID(资产 ID)映射到主机名。
EDR 映射字段仅从
CS_EDR
日志类型派生而来。 - DHCP 别名:使用 DHCP 事件来关联主机名、MAC 地址和 IP 地址。
- 资源上下文别名:将资源指示器与实体数据(例如主机名、IP 地址、MAC 地址、软件版本和部署状态)相关联。
编入索引的 EDR 映射字段
Google SecOps 会对 EDR MAPPING 字段编制索引,以生成关联主机名和产品特定 ID 的别名。
下表列出了 UDM 字段及其对应的指示器类型:
UDM 字段 | 指示器类型 |
---|---|
principal.hostname 和 principal.asset.hostname | HOSTNAME |
principal.asset_id 和 principal.asset.asset_id | PRODUCT_SPECIFIC_ID |
DHCP 编入索引的字段
Google SecOps 会对 DHCP 记录编制索引,以生成关联主机名、IP 地址和 MAC 地址的别名。
下表列出了 UDM 字段及其用于别名化资产的相应指示器类型:
UDM 字段 | 指示器类型 |
---|---|
principal.ip 和 principal.asset.ip | ASSET_IP_ADDRESS |
principal.mac 和 principal.asset.mac | MAC |
principal.hostname 和 principal.asset.hostname | HOSTNAME |
principal.asset_id 和 principal.asset.asset_id | PRODUCT_SPECIFIC_ID |
在 ACK、OFFER、WIN_DELETED 和 WIN_EXPIRED 上network.dhcp.yiaddr | ASSET_IP_ADDRESS |
INFORM、RELEASE 和 REQUEST 上的 network.dhcp.ciaddr | ASSET_IP_ADDRESS |
在 DECLINE 时network.dhcp.requested_address | ASSET_IP_ADDRESS |
network.dhcp.chaddr | MAC |
network.dhcp.client_hostname | HOSTNAME |
资源上下文编入索引的字段
Google SecOps 会将 ASSET_CONTEXT
事件作为实体情境事件(而非 UDM 事件)提取。
下表列出了实体字段及其对应的指示器类型:
实体字段 | 指示器类型 |
---|---|
entity.asset.product_object_id | PRODUCT_OBJECT_ID |
entity.metadata.product_entity_id (如果缺少相应资产的商品对象 ID) | PRODUCT_OBJECT_ID |
entity.asset.asset_id | PRODUCT_SPECIFIC_ID |
entity.asset.hostname | HOSTNAME |
entity.asset.ip | ASSET_IP_ADDRESS |
entity.asset.mac | MAC |
entity.namespace | NAMESPACE |
用户别名
用户别名通过用户指示器查找信息。例如,使用员工电子邮件地址,您可以找到有关该员工的更多详细信息,例如其姓名、职位和雇佣状态。
用户别名化使用 USER_CONTEXT
事件批次类型进行别名化。
用户上下文编入索引的字段
Google SecOps 会将 USER_CONTEXT
事件作为实体情境事件(而非 UDM 事件)提取。
下表列出了实体字段及其对应的指示器类型:
实体字段 | 指示器类型 |
---|---|
entity.user.product_object_id | PRODUCT_OBJECT_ID |
entity.metadata.product_entity_id (如果缺少用户商品对象 ID) | PRODUCT_OBJECT_ID |
entity.user.userid | USERNAME |
entity.user.email_addresses | EMAIL |
entity.user.windows_sid | WINDOWS_SID |
entity.user.employee_id | EMPLOYEE_ID |
entity.namespace | NAMESPACE |
进程别名
进程别名化将产品特定的进程 ID (product_specific_process_id
) 映射到实际进程,并检索有关父级进程的信息。进程别名使用 EDR 事件批处理类型进行别名化。
用于进程别名的 EDR 编入索引字段
当进程启动时,系统会收集命令行、文件哈希和父进程详细信息等元数据。在机器上运行的 EDR 软件会分配一个特定于供应商的进程 UUID。
下表列出了在进程启动事件期间编入索引的字段:
UDM 字段 | 指示器类型 |
---|---|
target.product_specific_process_id | PROCESS_ID |
target.process | 整个流程;不仅仅是指标 |
除了标准化事件中的 target.process
字段之外,Google SecOps 还会收集父进程信息并为其编制索引。
文件哈希元数据别名
文件哈希元数据别名化功能可根据给定的文件哈希(sha256、sha1 或 md5)识别文件元数据,例如其他文件哈希或文件大小。文件哈希元数据别名使用 FILE_CONTEXT
事件批次类型进行别名设置。
文件上下文编入索引的字段
Google SecOps 会从 VirusTotal 提取 FILE_CONTEXT
事件作为实体上下文事件。这些活动是全球性的,并非针对特定客户。
下表列出了已编入索引的实体字段及其对应的指示器类型:
实体字段 | 指示器类型 |
---|---|
entity.file.sha256 | PRODUCT_OBJECT_ID |
entity.metadata.product_entity_id (如果缺少文件 sha256 ) |
PRODUCT_OBJECT_ID |
entity.file.md5 | HASH_MD5 |
entity.file.sha1 | HASH_SHA1 |
entity.file.sha256 | HASH_SHA256 |
entity.namespace | NAMESPACE |
IP 地理定位别名
地理位置别名可为外部 IP 地址提供富含地理位置信息的数据。对于 UDM 事件的 principal
、target
或 src
字段中的每个 IP 地址,如果该地址未别名化,系统会创建一个 ip_geo_artifact
子协议,其中包含关联的位置和 ASN 信息。
地理位置别名不使用回溯或缓存。由于事件数量众多,Google SecOps 会在内存中维护一个索引。该索引源自 IPGeo 简单服务器 MPM,每两周更新一次。
资源别名
资源别名化会返回给定资源 ID 的云资源信息。 例如,它可以返回使用 Google Cloud URI 的 Bigtable 实例的相关信息。它不使用回溯或缓存。
资源别名不会丰富 UDM 事件。不过,某些产品(例如 Alert Graph)会使用资源别名。云资源别名使用 RESOURCE_CONTEXT
事件批处理类型。
资源上下文编入索引的字段
云资源元数据上下文事件会作为 RESOURCE_CONTEXT
事件提取。
下表列出了实体字段及其对应的实体类型:
实体字段 | 指示器类型 |
---|---|
entity.resource.product_object_id | PRODUCT_OBJECT_ID |
entity.metadata.product_entity_id (如果缺少资源的商品对象 ID) | PRODUCT_OBJECT_ID |
entity.resource.name | CLOUD_RESOURCE_NAME |
entity.namespace | NAMESPACE |
丰富
丰富功能通过别名以以下方式为 UDM 指标或事件添加情境:
- 用于标识描述指标(通常是 UDM 字段)的别名实体。
- 使用与返回的别名或实体相关联的丰富值填充 UDM 消息的相关部分。
素材资源丰富化
对于每个 UDM 事件,流水线会从 principal
、src
和 target
实体中提取以下 UDM 字段:
UDM 字段 | 指示器类型 |
---|---|
主机名 | HOSTNAME |
asset_id | PRODUCT_SPECIFIC_ID |
mac | MAC |
ip(如果 asset_id 为空) | IP |
每个资源指示器都有命名空间。空命名空间被视为有效。对于每个资源指示器,流水线会执行以下操作:
- 检索活动时间所在完整日期的别名。
- 根据别名设置响应构建
backstory.Asset
消息。 - 将每个名词类型和指示器映射到 backstory.Asset 消息,并合并所有相关的 proto。
- 使用合并后的背景故事设置顶级素材资源字段和
asset
proto 消息。素材资源消息。
用户数据扩充
对于每个 UDM 事件,流水线会从 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
。
流程丰富化
对于每个 UDM 事件,流水线会从以下字段中提取 process.product_specific_process_id (PSPI)
:
principal
src
target
principal.process.parent_process
src.process.parent_process
target.process.parent_process
然后,流水线使用进程别名从 PSPI 中查找实际进程,该别名还会返回有关父进程的信息。它会将此数据合并到丰富消息中的相关 noun.process
字段中。
制品丰富化
工件丰富化会添加来自 VirusTotal 的文件哈希元数据和来自地理定位数据的 IP 位置。对于每个 UDM 事件,流水线都会从 principal
、src
和 target
实体中提取并查询这些制品指示器的情境数据:
- IP 地址:仅当数据是公开的或可路由时,才会查询数据。
- 文件哈希值:按以下顺序查询哈希值:
file.sha256
file.sha1
file.md5
process.file.sha256
process.file.sha1
process.file.md5
该流水线使用 UNIX 纪元和事件小时来定义文件制品查询的时间范围。如果地理定位数据可用,流水线会根据地理定位数据的来源,针对相应的 principal
、src
和 target
覆盖以下 UDM 字段:
artifact.ip
artifact.location
artifact.network
(仅当数据包含 IP 网络上下文时)location
(仅当原始数据不包含此字段时)
如果流水线找到文件哈希元数据,则会将该元数据添加到文件或 process.file
字段中,具体取决于指示器的来源。流水线会保留与新数据不重叠的所有现有值。
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。