将 Mandiant Digital Threat Monitoring 与 Google SecOps 集成

本文档提供了有关如何将 Mandiant Digital Threat Monitoring 与 Google Security Operations (Google SecOps) 集成的指南。

使用场景

Mandiant Digital Threat Monitoring 集成使用 Google SecOps 功能来支持以下用例:

  • 提取提醒:直接在 Google SecOps 中拉取和管理外部威胁提醒。

  • 监控泄露的凭证:跟踪 Mandiant 识别出的泄露账号信息和网域发现结果。

  • 更新提醒状态:通过从平台更新 DTM 提醒状态来同步提醒修复。

  • 验证连接:测试与 Mandiant DTM 服务器的集成连接。

准备工作

此集成提供原生平台功能,无需外部第三方 API 密钥或凭证即可进行身份验证。在开始之前,请确保已从 Google SecOps 实例中的内容中心安装集成。

集成参数

Mandiant Digital Threat Monitoring 集成需要以下参数:

参数 说明
API Root 必需

Mandiant 实例的 API 根。

默认值为 https://api.intelligence.mandiant.com。

如需使用 Google Threat Intelligence 凭据进行身份验证,请输入以下值:https://www.virustotal.com。

Client ID 可选

Mandiant Digital Threat Monitoring 账号的客户端 ID。

Client Secret 可选

Mandiant Digital Threat Monitoring 账号的客户端密钥。

GTI API Key 可选

Google Threat Intelligence 的 API 密钥。

如需使用 Google Threat Intelligence 进行身份验证,请将 API Root 参数值设置为 https://www.virustotal.com。

使用 Google Threat Intelligence API 密钥进行身份验证的优先级高于其他身份验证方法。

Verify SSL 必需

如果选中,集成会验证与 Mandiant 服务器的连接的 SSL 证书是否有效。

默认处于选中状态。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。

如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。

操作

如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。

Ping

使用 Ping 操作测试与 Mandiant Digital Threat Monitoring 服务器的连接。

操作输入

无。

操作输出

Ping 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
案例墙表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
输出消息

Ping 操作可能会返回以下输出消息:

输出消息 消息说明
Successfully connected to the Mandiant DTM server with the provided connection parameters! 操作成功。
Failed to connect to the Mandiant DTM server! Error is: ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Ping 操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

更新提醒

使用更新提醒操作在 Mandiant Digital Threat Monitoring 中更新提醒。

操作输入

更新提醒操作需要以下参数:

参数 说明
Alert ID 必需

要更新的提醒的 ID。

Status 可选

提醒状态。

可能的值如下:

  • New
  • Read
  • Resolved
  • Escalated
  • In Progress
  • No Action Required
  • Duplicate
  • Not Relevant
  • Tracked Externally

操作输出

更新提醒操作会提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
案例墙表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用更新提醒操作时收到的 JSON 结果输出:

{
   "id": "ID",
   "monitor_id": "MONITOR_ID",
   "topic_matches": [
       {
           "topic_id": "4a6ffb0f-e90d-46ce-b10a-3a1e24fbe70d",
           "value": "ap-southeast-1.example.com",
           "term": "lwd",
           "offsets": [
               26,
               29
           ]
       },
       {
           "topic_id": "doc_type:domain_discovery",
           "value": "domain_discovery"
       }
   ],
   "label_matches": [],
   "doc_matches": [],
   "tags": [],
   "created_at": "2024-05-31T12:27:43.475Z",
   "updated_at": "2024-05-31T12:43:20.399Z",
   "labels_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID/labels",
   "topics_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID/topics",
   "doc_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/domain_discovery/ID",
   "status": "closed",
   "alert_type": "Domain Discovery",
   "alert_summary": "See alert content for details",
   "title": "Suspicious domain \"ap-southeast-1.example.com\" similar to \"lwd\"",
   "email_sent_at": "",
   "severity": "medium",
   "confidence": 0.5,
   "has_analysis": false,
   "monitor_version": 2
}
输出消息

更新提醒操作可能会返回以下输出消息:

输出消息 消息说明
Successfully updated alert with ID INCIDENT_ID in Mandiant DTM. 操作成功。
Error executing action "Update Alert". Reason: ERROR_REASON

操作失败。

请检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用更新提醒操作时脚本结果输出的值:

脚本结果名称 值
is_success True 或 False

连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅注入数据(连接器)。

Mandiant DTM – 提醒连接器

使用 Mandiant DTM - 提醒连接器从 Mandiant Digital Threat Monitoring 中提取提醒。如需使用动态列表,请使用 alert_type 参数。

Mandiant DTM – Alerts Connector 需要以下参数:

参数 说明
Product Field Name 必需

存储商品名称的字段的名称。

默认值为 Product Name。

Event Field Name 必需

用于确定事件名称(子类型)的字段的名称。

默认值为 event_type。

Environment Field Name 可选

存储环境名称的字段的名称。

如果未找到环境字段,则环境将设置为默认值。

默认值为 ""。

Environment Regex Pattern 可选

要对 Environment Field Name 字段中的值运行的正则表达式模式。此参数可让您使用正则表达式逻辑来操纵环境字段。

使用默认值 .* 检索所需的原始 Environment Field Name 值。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为 ""。

Script Timeout 必需

运行当前脚本的 Python 进程的超时限制(以秒为单位)。

默认值为 180。

API Root 必需

Mandiant 实例的 API 根。

默认值为 https://api.intelligence.mandiant.com。

如需使用 Google Threat Intelligence 凭据进行身份验证,请输入以下值:https://www.virustotal.com。

Client ID 可选

Mandiant Digital Threat Monitoring 账号的客户端 ID。

Client Secret 可选

Mandiant Digital Threat Monitoring 账号的客户端密钥。

GTI API Key 可选

Google Threat Intelligence 的 API 密钥。

如需使用 Google Threat Intelligence 进行身份验证,请将 API Root 参数值设置为 https://www.virustotal.com。

使用 Google Threat Intelligence API 密钥进行身份验证时,该密钥的优先级高于其他身份验证方法。

Lowest Severity To Fetch 可选

要检索的提醒的最低严重级别得分。

如果您未配置此参数,连接器会提取所有严重级别的提醒。

该参数接受以下严重级别值:

  • Low
  • Medium
  • High
Monitor ID Filter 可选

要从中检索提醒的监控器 ID 的逗号分隔列表。

Max Hours Backwards 必需

提取提醒的小时数。

默认值为 1 小时。

Max Alerts To Fetch 必需

每次连接器迭代要处理的提醒数量。

默认值为 25。

Disable Overflow 可选

如果选择此选项,连接器会忽略溢出机制。

默认情况下不选择。

Use dynamic list as a blocklist 必需

如果选中,集成会将动态列表用作屏蔽名单。

默认情况下不选择。

Verify SSL 必需

如果选中,则验证与 Mandiant 服务器的连接的 SSL 证书是否有效。

默认处于选中状态。

Proxy Server Address 可选

要使用的代理服务器的地址。

Proxy Username 可选

用于进行身份验证的代理用户名。

Proxy Password 可选

用于进行身份验证的代理密码。

连接器规则

此连接器支持代理。

连接器事件

Mandiant DTM – Alerts Connector 有两种类型的事件:基于主要提醒的事件和基于主题的事件。

基于主提醒的连接器事件示例如下:

{
   "id": "ID",
   "event_type": "Main Alert",
   "monitor_id": "MONITOR_ID",
   "doc": {
       "__id": "6ed37932-b74e-4253-aa69-3eb4b00d0ea2",
       "__type": "account_discovery",
       "ingested": "2024-05-20T16:15:53Z",
       "service_account": {
           "login": "user@example.com",
           "password": {
               "plain_text": "********"
           },
           "profile": {
               "contact": {
                   "email": "user@example.com",
                   "email_domain": "example.com"
               }
           },
           "service": {
               "inet_location": {
                   "domain": "www.example-service.com",
                   "path": "/signin/app",
                   "protocol": "https",
                   "url": "https://www.example-service.com/signin/app"
               },
               "name": "www.example-service.com"
           }
       },
       "source": "ccmp",
       "source_file": {
           "filename": "[1.145.094.680] urlloginpass ap.txt",
           "hashes": {
               "md5": "c401baa01fbe311753b26334b559d945",
               "sha1": "bf700f18b6ab562afb6128b42a34ae088f9c7434",
               "sha256": "5e6302d95a7e7edb28d68926cede0c44babded720ad1cc9a72c12d8c6d66153f"
           },
           "size": 84161521407
       },
       "source_url": "https://cymbalgroup.com",
       "timestamp": "2023-11-14T20:09:04Z"
   },
   "labels": "Label",
   "topic_matches": [
       {
           "topic_id": "doc_type:account_discovery",
           "value": "account_discovery"
       }
   ],
   "label_matches": [],
   "doc_matches": [
       {
           "match_path": "service_account.profile.contact.email_domain",
           "locations": [
               {
                   "offsets": [
                       0,
                       9
                   ],
                   "value": "example.com"
               }
           ]
       }
   ],
   "tags": [],
   "created_at": "2024-05-20T16:16:52.439Z",
   "updated_at": "2024-05-30T12:10:56.691Z",
   "labels_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID/labels",
   "topics_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID/topics",
   "doc_url": "https://api.intelligence.mandiant.com/v4/dtm/docs/account_discovery/ID",
   "status": "read",
   "alert_type": "Compromised Credentials",
   "alert_summary": "ccmp",
   "title": "Leaked Credentials found for domain \"example.com\"",
   "email_sent_at": "",
   "indicator_mscore": 60,
   "severity": "high",
   "confidence": 0.9999995147741939,
   "aggregated_under_id": "ID",
   "monitor_name": "Compromised Credentials - Example",
   "has_analysis": false,
   "meets_password_policy": "policy_unset",
   "monitor_version": 1
}

基于主题的连接器事件示例如下:

{
   "id": "ID",
   "event_type": "location_name",
   "location_name": "LOCATION_NAME",
   "timestamp": "2024-05-25T10:56:17.201Z",
   "type": "location_name",
   "value": "LOCATION_NAME",
   "extractor": "analysis-pipeline.nerprocessor-nerenglish-gpu",
   "extractor_version": "4-0-2",
   "confidence": 100,
   "entity_locations": [
       {
           "element_path": "body",
           "offsets": [
               227,
               229
           ]
       }
   ]
}

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