使用 v3 API 收集 ThreatConnect IOC 日志

支持的平台:

借助 Google Security Operations 中的 ThreatConnect Feed,您可以从 ThreatConnect 账号自动提取失陷指标 (IOC),例如 IP 地址、网域、网址和文件哈希,以及它们的上下文(例如威胁类型、可信度得分、标记)。注入这些 IOC 可丰富 Google Security Operations 中的安全数据,从而增强威胁检测和调查功能。

本文档介绍了如何配置 Google SecOps,以使用 ThreatConnect v3 API 连接器从 ThreatConnect 实例注入 IOC。此版本的连接器使用 ThreatConnect v3 REST API,是使用 ThreatConnect v2 REST API 的现有连接器的更新版本。

准备工作

确保您满足以下前提条件:

  • 一个有效的 ThreatConnect 实例和一个用户账号,该账号具有足够的权限来使用 v3 API 访问所需的指示器。这通常涉及读取指标及其属性的权限
  • Google Security Operations 实例
  • 在 Google Cloud 项目中拥有足够的 Identity and Access Management 权限来管理 Google SecOps Feed

配置步骤

请按照以下步骤设置 ThreatConnect IOC Feed:

获取 ThreatConnect v3 API 凭据

  1. 登录 ThreatConnect 实例。
  2. 前往 API 用户管理部分,创建新的 API 用户或使用为 Google SecOps 集成指定的现有 API 用户。
  3. 如需创建新的 API 用户,请执行以下操作:

    1. 依次前往设置 > 组织设置
    2. 前往组织设置页面中的会员标签页。
    3. 点击 Create API User
    4. 填写API 用户管理窗口中的字段:

      • First Name:输入 API 用户的名字。
      • Last Name:输入 API 用户的姓氏。
      • 系统角色:选择 API 用户Exchange 管理员系统角色。

      • 组织角色:选择 API 用户的组织角色。

      • 纳入观测结果和误报:选中此复选框可允许将 API 用户提供的数据纳入统计。

      • 已停用:如果管理员希望保留日志完整性,请点击相应复选框以停用 API 用户的账号。

  4. 复制并妥善存储访问 ID密钥

  5. 点击保存

  6. 检索相关 API 用户的访问 ID 和密钥,然后继续执行下一步。

在 Google Security Operations 中配置 ThreatConnect Feed

  1. 依次前往 SIEM 设置> Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称(例如 ThreatConnect Logs)。
  5. 对于来源类型,选择第三方 API
  6. 对于日志类型,选择 ThreatConnect IOC V3
  7. 点击下一步
  8. 输入 ThreatConnect v3 API 的以下详细信息:
    • Access ID(访问 ID):输入在第 1 步中获得的 ThreatConnect 访问 ID。
    • 密钥:输入在第 1 步中获得的 ThreatConnect 密钥。
    • API 主机名:ThreatConnect 实例的 FQDN(例如 <myinstance>.threatconnect.com)。
    • 所有者:指定要从中提取指标的 ThreatConnect 组织、社区或来源。每行输入一个所有者。如需了解详情,请参阅所有者概览
    • TQL:根据您的提取要求提取 IoC 所需的 TQL 查询(请参阅如何编写 TQL 查询)。
    • 字段:要提取的额外字段的名称,默认情况下不会提取这些字段。每行输入一个字段(请参阅默认字段和其他字段的列表)。
  9. 点击下一步
  10. 最终确定界面中检查 Feed 配置,然后点击提交

验证注入

  1. 提交配置后,请等待一段时间,以便系统提取初始数据。
  2. Feed 列表中查看 Feed 状态。状态最终应显示为已完成有效
  3. 在 Google Security Operations 搜索页面中查询日志,验证数据是否正在注入:
    • 使用以下查询:log_type = "THREATCONNECT_IOC_V3"
  4. 检查提取的日志,确保字段已按预期进行解析。

如何编写 TQL 查询

在 ThreatConnect 中,您可以使用类似于 SQL 的查询语言(称为 ThreatConnect 查询语言 [TQL])构建结构化查询,以便对数据执行高度有针对性的搜索。TQL 查询包含参数名称、运算符以及一个值或值列表,您可以使用圆括号和 AND/OR 逻辑组合多个查询。

  • 以下示例 TQL 查询会搜索过去 30 天内添加的与 Cobalt Strike、APT 或网络钓鱼相关联的高可信度网络指示器(IP、主机、网址)。它还会明确滤除已知的假正例和内部测试数据。

    typeName IN ("Address", "Host", "URL")
    AND confidence > 75
    AND dateAdded > "NOW() - 30 DAYS"
    AND (summary CONTAINS "cobalt" OR tag STARTSWITH "APT" OR tag ENDSWITH "Phish")
    AND NOT tag = "False_Positive"
    AND source != "Internal_Testing"
    

如需详细了解 TQL,请参阅 ThreatConnect TQL 文档

默认字段和其他字段的列表

本部分详细介绍了从 ThreatConnect API 检索到的具体数据点,并按这些数据点是默认包含还是需要手动配置进行分类。

默认字段

API 默认会提取以下默认字段,无需进行任何额外配置:

# 字段 说明 类型 示例值
1 active 指示相应指标是否处于有效状态 布尔值 truefalse
2 activeLocked 指明有效指标状态是否已锁定 布尔值 truefalse
3 confidence 指示器的置信度评级 整数 123、... 100
4 dateAdded 外部创建的指标的日期和时间 DateTime "2023-10-04T12:34:56Z"
5 id 指标的 ID 整数 123、... 100
6 ip 与地址指示器关联的 IP 地址 字符串 "107.180.48.66"
7 lastModified 上次在外部修改指标的日期和时间 DateTime "2023-10-04T12:34:56Z"
8 legacyLink 用于在 ThreatConnect 应用中访问有关指示器的详细信息的旧版网址(需要授权) 网址 "https://app.threatconnect.com/auth/indicators/..."
9 ownerId 相应指标所属的所有者的 ID 整数 123、... 100
10 ownerName 相应指标所属的所有者的名称 字符串 "Demo Community"
11 privateFlag 指示相应指标是否为私密指标 布尔值 truefalse
12 rating 指示器的威胁等级 Big Decimal 1.02.03.04.05.0
13 summary 指示器的值 基于指示器类型 "type": "Host","summary": "zayla.co" ; "type": "Address","summary": "107.180.48.66"
14 type 正在创建的指标的类型 字符串 "Address""Host""Registry Key"接受的值的列表
15 webLink 用于访问 ThreatConnect 应用中指示器相关详细信息的网址(需要授权) 网址 "https://app.threatconnect.com/#/details/indicators/10/overview"

其他字段

检索数据时,您可以使用字段输入字段来添加未包含在“默认字段”列表中的其他字段。

如需在 API 响应中添加一个或多个其他字段,请在设置 Feed 时,在字段输入框中以单独的行填充字段值。 例如,如需在 API 响应中包含关联的群组和标记的数据,请在第 1 行中输入 associatedGroups,按 Enter,然后在第 2 行中输入 tags

如需详细了解指示器属性,请参阅指示器概览。 如需详细了解“其他字段”,请参阅在 API 响应中包含其他字段

排查常见问题

  • 身份验证失败:请仔细检查 API 主机、访问 ID 和密钥。确保 API 用户拥有 v3 API 的正确权限,并且未被锁定。验证是否没有任何网络防火墙会阻止 Google SecOps 访问您的 ThreatConnect API 主机。
  • 未注入任何数据
    • 确认您设置的过滤条件(例如置信度、标记、类型)与 ThreatConnect 实例中提供的指标相符。
    • 检查 ThreatConnect API 用户的权限。
    • 在 Google SecOps 界面中查看最新的 Feed 状态,看看是否有错误消息。
  • API 速率限制:ThreatConnect 可能会强制执行 API 速率限制。连接器应能处理标准速率限制,但过度提取可能会导致延迟。如需了解限制详情,请查看 ThreatConnect API 文档。
  • 数据解析问题:如果日志已提取但未正确解析,请将 Google SecOps 中的原始日志与 ThreatConnect v3 API 针对指示器的预期 JSON 输出进行比较。如果您怀疑存在解析器问题,请与 Google Cloud 支持团队联系。

从 v2 连接器迁移

如果您之前使用的是基于 v2 API 的 ThreatConnect Feed,请考虑以下事项:

  • 主要区别:v3 API 可能具有不同的数据结构、不同的过滤参数或新功能。查看 ThreatConnect v3 API 文档,了解与您提取的指标相关的更改。
  • 设置 v3 Feed:使用 v3 API 凭据配置新 Feed(如上所述)。在过渡期内,您可以同时运行 v2 和 v3 Feed。
  • 验证数据:将 v3 Feed 提取的数据与旧版 v2 Feed 中的数据进行比较,以确保数据的完整性和正确性。记录所有字段更改或改进。
  • 停用旧版 Feed:确认 v3 版 Feed 可按预期运行后,您可以停用或删除使用 v2 版 API 的旧版 Feed 配置,以避免数据重复并减少 API 调用次数。

了解详情

如需详细了解 ThreatConnect v3 REST API,请参阅 ThreatConnect 文档

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。