收集 CrowdStrike IOC 日志
支持的平台:
Google SecOps
SIEM
概览
此解析器会从 JSON 格式的邮件中提取 CrowdStrike Falcon Intelligence 数据。它会将各种 IOC 字段转换为 UDM 格式,处理不同的指标类型(网域、IP 地址、网址、哈希等)及其关联的元数据,包括关系、标签和威胁信息。解析器还会执行数据验证和错误处理。它会优先解析 JSON,在必要时回退到 Grok 匹配,并丢弃格式错误的消息。
准备工作
- 确保您拥有 Google SecOps 实例。
- 确保您拥有访问 CrowdStrike Falcon Intelligence 平台的适当权限。
在 Google SecOps 中配置 Feed 以注入 CrowdStrike IOC 日志
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 在Feed 名称字段中,输入 Feed 的名称(例如 CrowdStrike IOC 日志)。
- 选择Webhook 作为来源类型。
- 选择 Crowdstrike IOC 作为日志类型。
- 点击下一步。
- 可选:为以下输入参数指定值:
- 分隔符:用于分隔日志行(例如
\n
)的分隔符。 - 资源命名空间:资源命名空间。
- 提取标签:应用于此 Feed 中的事件的标签。
- 分隔符:用于分隔日志行(例如
- 点击下一步。
- 在最终确定界面中查看 Feed 配置,然后点击提交。
- 点击生成 Secret 密钥,生成用于对此 Feed 进行身份验证的 Secret 密钥。
- 复制并存储密钥。您将无法再查看此密钥。如有必要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥过时。
- 在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
- 点击完成。
为该网站钩子 Feed 创建 API 密钥
依次前往 Google Cloud 控制台 > 凭据。
点击创建凭据,然后选择 API 密钥。
限制 API 密钥对 Google Security Operations API 的访问权限。
指定端点网址
- 在客户端应用中,指定 webhook Feed 中提供的 HTTPS 端点网址。
通过在自定义标头中指定 API 密钥和密钥(格式如下)来启用身份验证:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
建议:请以标头的形式指定 API 密钥,而不是在网址中指定。
如果您的 webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和密钥:
ENDPOINT_URL?key=API_KEY&secret=SECRET
替换以下内容:
ENDPOINT_URL
:Feed 端点网址。API_KEY
:用于对 Google SecOps 进行身份验证的 API 密钥。SECRET
:您为对 Feed 进行身份验证而生成的密钥。
创建 CrowdStrike 网络钩子
- 登录 CrowdStrike Falcon Intelligence 控制台。
- 前往 CrowdStrike 商店。
- 找到Webhook。
- 启用 Webhook 集成。
- 点击配置。
- 选择添加配置。
- 确保仅向 webhook 发送 IOC。
- 将端点网址粘贴到配置网络钩子界面中的网络钩子网址字段中。
- 点击保存。
- CrowdStrike 现在会将生成的事件发送到指定的 Google SecOps Feed。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
_marker |
event.idm.entity.entity.labels.value |
_marker 字段的值会直接映射。 |
actors |
event.idm.entity.entity.group.group_display_name |
如果 actors 中的第一个值包含“panda”“bear”“kitten”“chollima”“jackal”或“Spider”,系统会进行映射并派生 event.idm.entity.entity.location.country_or_region (分别为中国、俄罗斯、伊朗、朝鲜、活动家团体、犯罪团伙)。actors 中的其他值会作为标签添加到 event.idm.entity.entity.group.attribute.labels 中,键为“actor”。 |
actors |
event.idm.entity.entity.location.country_or_region |
根据 actors 中的第一个值派生(见上文)。 |
deleted |
event.idm.entity.metadata.threat.action |
如果 deleted 为“false”,则操作为“BLOCK”。如果 deleted 为“true”,则操作为“允许”。 |
deleted |
event.idm.entity.metadata.threat.action_details |
deleted 的值会直接映射。 |
domain_types |
event.idm.entity.metadata.threat.detection_fields.value |
domain_types 中的所有值均会用英文逗号串联,并与键“domain_types”进行映射。 |
id |
event.idm.entity.metadata.product_entity_id |
id 的值会直接映射。 |
indicator |
event.idm.entity.entity.hostname |
如果 type 为“domain”,则已映射。 |
indicator |
event.idm.entity.entity.file.md5 |
如果 type 为“hash_md5”且值为有效的 MD5 哈希,则会进行映射。 |
indicator |
event.idm.entity.entity.file.sha1 |
如果 type 为“hash_sha1”且值为有效的 SHA1 哈希,则会进行映射。 |
indicator |
event.idm.entity.entity.file.sha256 |
如果 type 为“hash_sha256”且值为有效的 SHA256 哈希,则会进行映射。 |
indicator |
event.idm.entity.entity.ip |
如果 type 为“ip_address”,且值为有效的 IP 地址,则已映射。 |
indicator |
event.ioc.ip_and_ports.ip_address |
如果 type 为“ip_address”,且值为有效的 IP 地址,则已映射。 |
indicator |
event.idm.entity.entity.url |
如果 type 为“网址”,则已映射。 |
indicator |
event.idm.entity.entity.resource.name |
如果 type 为“device_name”或“mutex_name”,则已映射。 |
indicator |
event.idm.entity.entity.user.email_addresses |
如果 type 为“email_address”,且值为有效的电子邮件地址,则会进行映射。 |
indicator |
event.idm.entity.metadata.threat.detection_fields.value |
基于 type 字段(例如 “campaign_id”“binary_string”等)。如果未专门处理此类型,系统会将其映射为键为 type 的类型。 |
indicator |
event.ioc.domain_and_ports.domain |
如果 type 不是“ip_address”或“port”,则会进行映射。 |
ip_address_types |
event.idm.entity.metadata.threat.detection_fields.value |
ip_address_types 中的所有值均用英文逗号连接,并与键“ip_address_types”进行映射。 |
kill_chains |
event.idm.entity.metadata.threat.category |
此类别是根据 kill_chains 中的值派生的。“reconnaissance”“weaponization”或“actionOnObjectives”会导致“NETWORK_MALICIOUS”。“传送”或“利用”会导致“EXPLOIT”。“installation”或“c3”会导致“SOFTWARE_MALICIOUS”。“c2”会生成“NETWORK_COMMAND_AND_CONTROL”。其他值会导致“UNKNOWN_CATEGORY”。您可以分配多个类别。 |
kill_chains |
event.idm.entity.metadata.threat.category_details |
kill_chains 中的原始值会直接映射。可以提供多个值。 |
labels |
event.idm.entity.metadata.threat.detection_fields |
每个标签中的“name”字段会被“/”分隔为 label_key 和 label_value 。如果 label_key 为“恶意软件”或“威胁类型”,则 label_value 会映射到 threat_name 。否则,label_key 和 label_value 会作为键值对进行映射。每个标签中的“created_on”和“last_valid_on”也会映射为键值对。 |
labels |
event.idm.entity.metadata.threat.threat_name |
派生自 labels 字段(见上文)。 |
last_updated |
event.idm.entity.metadata.threat.detection_fields.value |
last_updated 的值与键“last_updated”对应。 |
malicious_confidence |
event.idm.entity.metadata.threat.confidence |
如果 malicious_confidence 为“high”,则置信度为“HIGH_CONFIDENCE”。如果为“低”,置信度为“LOW_CONFIDENCE”。如果为“中等”,置信度为“MEDIUM_CONFIDENCE”。否则,为“UNKNOWN_CONFIDENCE”。 |
malicious_confidence |
event.idm.entity.metadata.threat.confidence_details |
malicious_confidence 的值会直接映射。 |
malicious_confidence |
event.ioc.confidence_score |
malicious_confidence 的值会直接映射。 |
malware_families |
event.idm.entity.metadata.threat.threat_name |
malware_families 中的所有值都会用英文逗号串联并映射。 |
published_date |
event.idm.entity.metadata.creation_timestamp |
published_date 的值会转换为时间戳。 |
published_date |
event.idm.entity.metadata.interval.start_time |
published_date 的值会转换为时间戳。 |
published_date |
event.ioc.active_timerange.start |
published_date 的值会转换为时间戳。 |
relations |
event.idm.entity.metadata.threat.about |
每个关系中的字段都会根据其 type 映射到 about 对象。“created_date”“last_valid_date”和“id”会添加为标签。 |
reports |
event.idm.entity.metadata.threat.about.labels.value |
reports 中的所有值均会用英文逗号串联,并与键“report_ids”进行映射。 |
threat_types |
event.idm.entity.metadata.threat.threat_name |
threat_types 中的所有值都会与从 malware_families 派生的现有 threat_name 通过英文逗号串联。 |
type |
event.ioc.categorization |
type 的值会直接映射。 |
(Parser Logic) | event.idm.entity.metadata.collected_timestamp |
使用原始日志中的 create_time 值。 |
(Parser Logic) | event.idm.entity.metadata.interval.end_time |
已硬编码为遥远未来的时间戳 (253402300799)。 |
(Parser Logic) | event.idm.entity.metadata.product_name |
已硬编码为“Falcon”。 |
(Parser Logic) | event.idm.entity.metadata.vendor_name |
已硬编码为“CrowdStrike”。 |
(Parser Logic) | event.idm.entity.metadata.entity_type |
根据 type 字段和其他字段的存在情况派生而来。如需了解具体逻辑,请参阅解析器代码。 |
(Parser Logic) | event.ioc.feed_name |
已硬编码为“CrowdStrike Falcon Intelligence”。 |
(Parser Logic) | event.timestamp |
使用原始日志中的 create_time 值。 |
变化
2023-08-23
- 更改了
malicious_confidence
字段的映射。
2023-05-04
- 将
crowdstrike_ioc
解析器提升为默认解析器。