收集 Anomali ThreatStream IOC 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 API 将 Anomali ThreatStream IOC 日志注入到 Google Security Operations。解析器会将 IOC 数据从 JSON 或 CEF 格式转换为统一数据模型 (UDM)。该代码首先尝试将输入解析为 JSON,如果失败,则检查“CEF:”前缀,以将其作为 CEF 消息进行处理,提取 IOC 属性并将其映射到 UDM 字段。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 对 Anomali ThreatStream 企业租户的特权访问权限
创建专用 API 用户
- 登录 ThreatStream。如果您使用的是 Anomali Enterprise,请切换到经典版界面。
- 依次前往管理 > 用户。
- 点击 + 添加用户(或选择现有服务账号)。
- 填写以下详细信息:
- 电子邮件地址:服务账号电子邮件地址(例如
anomali_ioc_secops@example.com
)。 - 身份验证来源:选择标准。
- 用户类型:选择 API 用户。
- 角色:选择只读(足以列出指标)。
- 电子邮件地址:服务账号电子邮件地址(例如
- 点击保存。
- 系统会向新账号发送一封激活电子邮件;请完成激活。
生成 API 密钥
- 以 API 用户身份登录 ThreatStream。
- 依次前往个人资料头像 > 我的 API 密钥。
- 点击生成新密钥。
- 输入说明(例如
Google SecOps export
)。 - 点击保存。
- 复制并保存密钥下显示的值,并将其保存在安全位置。系统不会再显示该密钥值。
建议:将收集器 IP 添加到许可名单中
- 依次前往管理 > 组织设置。
- 选择 IP 许可名单标签页。
- 点击添加。
- 输入您的 Google SecOps 租户地址,然后点击保存。
设置 Feed
- 依次前往 SIEM 设置> Feed。
- 点击新增。
- 在Feed 名称字段中,输入 Feed 的名称(例如
Anomali TS IOC
)。 - 选择第三方 API 作为来源类型。
- 选择 Anomali 日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 用户名:输入新创建的 API 用户。
- Secret:输入之前复制的生成的 API Key。
- 资产命名空间:资产命名空间。
- 注入标签:应用于此 Feed 中事件的标签。
- 点击下一步。
- 在最终确定界面中检查 Feed 配置,然后点击提交。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
obj.asn |
entity.administrative_domain | 原始日志中的 asn 字段会映射到 UDM 实体对象中的 administrative_domain 字段。 |
obj.confidence |
ioc.confidence_score | 原始日志中的置信度字段会映射到 UDM ioc 对象中的 confidence_score 字段。 |
obj.country |
entity.location.country_or_region | 原始日志中的“国家/地区”字段会映射到 UDM 实体对象中的“country_or_region”字段。 |
obj.created_ts |
entity.metadata.creation_timestamp | 原始日志中的 created_ts 字段会映射到 UDM 实体对象中的 creation_timestamp 字段。 |
obj.created_ts |
ioc.active_timerange.start | 原始日志中的 created_ts 字段会映射到 UDM ioc 对象中的 start 字段。 |
obj.created_ts |
entity.metadata.threat.first_discovered_time | 原始日志中的 created_ts 字段会映射到 UDM 威胁对象中的 first_discovered_time 字段。 |
obj.expiration_ts |
entity.metadata.interval.end_time | 原始日志中的 expiration_ts 字段会映射到 UDM 实体对象中的 end_time 字段。 |
obj.expiration_ts |
ioc.active_timerange.end | 原始日志中的 expiration_ts 字段会映射到 UDM ioc 对象中的 end 字段。 |
obj.id |
entity.metadata.product_entity_id | 原始日志中的 id 字段会映射到 UDM 实体对象中的 product_entity_id 字段。 |
obj.ip |
entity.entity.ip | 原始日志中的 IP 字段会合并到 UDM 实体对象中的 IP 字段。 |
obj.ip |
ioc.ip_and_ports.ip_address | 原始日志中的 ip 字段会映射到 UDM ioc 对象中的 ip_address 字段。 |
obj.itype |
ioc.categorization | 原始日志中的 itype 字段会映射到 UDM ioc 对象中的 categorization 字段。 |
obj.itype |
entity.metadata.threat.category_details | 原始日志中的 itype 字段会合并到 UDM 威胁对象中的 category_details 字段。 |
obj.latitude |
entity.entity.location.region_latitude | 原始日志中的纬度字段会映射到 UDM 实体对象中的 region_latitude 字段。 |
obj.longitude |
entity.entity.location.region_longitude | 原始日志中的经度字段会映射到 UDM 实体对象中的 region_longitude 字段。 |
obj.meta.detail2 |
ioc.description | 原始日志中的 detail2 字段会映射到 UDM ioc 对象中的说明字段。 |
obj.meta.detail2 |
entity.metadata.threat.description | 原始日志中的 detail2 字段会映射到 UDM 威胁对象中的说明字段。 |
obj.meta.severity |
ioc.raw_severity | 原始日志中的严重程度字段会映射到 UDM ioc 对象中的 raw_severity 字段。 |
obj.meta.severity |
entity.metadata.threat.severity | 原始日志中的严重程度字段会映射到 UDM 威胁对象中的严重程度字段。如果严重程度为“非常高”,则映射为“严重”。 |
obj.meta.severity |
entity.metadata.threat.severity_details | 原始日志中的严重程度字段会映射到 UDM 威胁对象中的 severity_details 字段。 |
obj.modified_ts |
entity.metadata.threat.last_updated_time | 原始日志中的 modified_ts 字段会映射到 UDM 威胁对象中的 last_updated_time 字段。 |
obj.org |
entity.entity.administrative_domain | 原始日志中的组织字段会映射到 UDM 实体对象中的 administrative_domain 字段。 |
obj.resource_uri |
entity.metadata.threat.url_back_to_product | 原始日志中的 resource_uri 字段会映射到 UDM 威胁对象中的 url_back_to_product 字段。 |
obj.retina_confidence |
entity.metadata.threat.confidence_score | 原始日志中的 retina_confidence 字段会映射到 UDM 威胁对象中的 confidence_score 字段。 |
obj.source |
ioc.feed_name | 原始日志中的源字段会映射到 UDM ioc 对象中的 feed_name 字段。 |
obj.source |
entity.metadata.threat.threat_name | 原始日志中的源字段会映射到 UDM 威胁对象中的 threat_name 字段。 |
obj.status |
entity.metadata.threat.threat_status | 原始日志中的状态字段会映射到 UDM 威胁对象中的 threat_status 字段。 |
obj.subtype |
entity.entity.file.sha1 | 如果子类型为“SHA1”,则原始日志中的子类型字段会映射到 UDM 实体对象中的 sha1 字段。 |
obj.subtype |
entity.entity.file.sha256 | 如果子类型为“SHA256”,则原始日志中的子类型字段会映射到 UDM 实体对象中的 sha256 字段。 |
obj.tags |
entity.metadata.source_labels | 原始日志中的“tags”字段会映射到 UDM 实体对象中的“source_labels”字段。 |
obj.tags.id |
entity.metadata.source_labels | 原始日志的标记数组中的 id 字段会映射到 UDM 实体的 source_labels 字段。 |
obj.tags.name |
entity.metadata.source_labels | 原始日志的标记数组中的“name”字段会映射到 UDM 实体对象中的“source_labels”字段。 |
obj.threatscore |
entity.metadata.threat.risk_score | 原始日志中的 threatscore 字段会映射到 UDM 威胁对象中的 risk_score 字段。 |
obj.threat_type |
entity.metadata.threat.detection_fields | 原始日志中的 threat_type 字段会映射到 UDM 威胁对象中的 detection_fields 字段。 |
obj.type |
entity.entity.file.md5 | 如果类型为“md5”,则原始日志中的类型字段会映射到 UDM 实体对象中的 md5 字段。 |
obj.type |
entity.entity.hostname | 如果类型为“网域”,则原始日志中的类型字段会映射到 UDM 实体对象中的主机名。 |
obj.type |
entity.entity.ip | 如果类型为“ip”或“ipv6”,则原始日志中的类型字段会合并到 UDM 实体对象中的 ip 字段。 |
obj.type |
entity.entity.url | 如果原始日志中的 type 字段为“url”或“string”,则该字段会映射到 UDM 实体对象中的 url 字段。 |
obj.type |
entity.entity.user.email_addresses | 如果类型为“email”,则原始日志中的 type 字段会合并到 UDM 实体对象中的 email_addresses 字段。 |
obj.type |
entity.metadata.entity_type | 原始日志中的类型字段会映射到 UDM 实体对象中的 entity_type 字段。如果类型为“ip”或“ipv6”,则映射到“IP_ADDRESS”。如果类型为“domain”,则映射到“DOMAIN_NAME”。如果类型为“md5”或 itype 字段包含“md5”,则会映射到“FILE”。如果类型为“url”或“string”,则映射到“网址”。如果类型为“电子邮件”,则映射到“USER”。否则,它会映射到“UNKNOWN_ENTITYTYPE”。 |
obj.uuid |
entity.additional.fields | 原始日志中的 uuid 字段会映射到 UDM 实体对象中的 fields 字段。 |
obj.value |
entity.entity.ip | 如果类型字段为“ip”,且 IP 字段为空,则原始日志中的值字段会合并到 UDM 实体对象的 IP 字段中。 |
obj.value |
entity.entity.ip | 如果 ip_field_not_exists 字段为 true 且值字段为 IP 地址,则原始日志中的值字段会合并到 UDM 实体对象中的 ip 字段。 |
obj.value |
entity.entity.url | 如果类型字段为“url”或“string”,则原始日志中的值字段会映射到 UDM 实体对象中的网址字段。 |
obj.value |
ioc.domain_and_ports.domain | 如果类型字段不是“ip”,则原始日志中的值字段会映射到 UDM ioc 对象中的网域字段。 |
obj.value |
ioc.ip_and_ports.ip_address | 如果类型字段为“ip”且 ip 字段为空,则原始日志中的值字段会映射到 UDM ioc 对象中的 ip_address 字段。 |
cn1 |
ioc.confidence_score | 原始日志中的 cn1 字段会映射到 UDM ioc 对象中的 confidence_score 字段。 |
cn2 |
entity.metadata.threat.rule_id | 原始日志中的 cn2 字段会映射到 UDM 威胁对象中的 rule_id 字段。 |
cs1 |
ioc.raw_severity | 原始日志中的 cs1 字段会映射到 UDM ioc 对象中的 raw_severity 字段。 |
cs2 |
entity.metadata.threat.threat_name | 原始日志中的 cs2 字段会映射到 UDM 威胁对象中的 threat_name 字段。 |
cs3 |
entity.metadata.threat.threat_status | 原始日志中的 cs3 字段映射到 UDM 威胁对象中的 threat_status 字段。如果 cs3 字段为“active”,则映射到“ACTIVE”。如果 cs3 字段为“已清除”,则映射到“CLEARED”。如果 cs3 字段为“falsePositive”或“falsepos”,则映射到“FALSE_POSITIVE”。如果 cs3 字段为“threat_status_unspecified”,则会映射到“THREAT_STATUS_UNSPECIFIED”。 |
cs4 |
entity.entity.administrative_domain | 原始日志中的 cs4 字段会映射到 UDM 实体对象中的 administrative_domain 字段。 |
cs5 |
ioc.description | 原始日志中的 cs5 字段会映射到 UDM ioc 对象中的说明字段。 |
cs5 |
entity.metadata.threat.detection_fields | 原始日志中的 cs5 字段会映射到 UDM 威胁对象中的 detection_fields 字段。 |
cs5 |
entity.metadata.threat.description | 原始日志中的 cs5 字段会映射到 UDM 威胁对象中的说明字段。 |
cs6 |
entity.metadata.threat.category_details | 原始日志中的 cs6 字段会合并到 UDM 威胁对象中的 category_details 字段。 |
device_product |
entity.metadata.product_name | 原始日志中的 device_product 字段会映射到 UDM 实体对象中的 product_name 字段。 |
device_vendor |
entity.metadata.vendor_name | 原始日志中的 device_vendor 字段会映射到 UDM 实体对象中的 vendor_name 字段。 |
device_version |
entity.metadata.product_version | 原始日志中的 device_version 字段会映射到 UDM 实体对象中的 product_version 字段。 |
msg |
entity.metadata.threat.summary | 原始日志中的 msg 字段会映射到 UDM 威胁对象中的 summary 字段。 |
shost |
entity.entity.hostname | 原始日志中的 shost 字段会映射到 UDM 实体对象中的 hostname 字段。 |
shost |
entity.entity.url | 原始日志中的 shost 字段会映射到 UDM 实体对象中的 url 字段。 |
shost |
ioc.domain_and_ports.domain | 原始日志中的 shost 字段会映射到 UDM ioc 对象中的网域字段。 |
src |
entity.entity.ip | 原始日志中的 src 字段会合并到 UDM 实体对象中的 ip 字段。 |
src |
ioc.ip_and_ports.ip_address | 原始日志中的 src 字段会映射到 UDM ioc 对象中的 ip_address 字段。 |
entity.metadata.threat.confidence | HIGH_CONFIDENCE | 如果 confidence_score 字段的值大于或等于 75,则 UDM 威胁对象中的 confidence 字段会设置为“HIGH_CONFIDENCE”。 |
entity.metadata.threat.confidence | LOW_CONFIDENCE | 如果 confidence_score 字段小于或等于 50,则 UDM 威胁对象中的置信度字段会设置为“LOW_CONFIDENCE”。 |
entity.metadata.threat.confidence | MEDIUM_CONFIDENCE | 如果 confidence_score 字段的值大于 50 且小于或等于 74,则 UDM 威胁对象中的置信度字段会设置为“MEDIUM_CONFIDENCE”。 |
entity.metadata.threat.confidence | UNKNOWN_CONFIDENCE | 如果 confidence_score 字段不是有效的整数,则 UDM 威胁对象中的置信度字段会设置为“UNKNOWN_CONFIDENCE”。 |
entity.metadata.vendor_name | ANOMALI_IOC | UDM 实体对象中的 vendor_name 字段设置为“ANOMALI_IOC”。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。