BlueLiv

本文档介绍了如何将 BlueLiv 与 Google Security Operations 集成。

集成指南

集成的目的是从 BlueLiv 注入威胁,使用相关过滤条件仅在 Google Security Operations 中显示所需的威胁,使用威胁连接器,然后根据相关用例对这些威胁执行其他操作。

在本快速指南中,我们将介绍一些事项,以便 Google SecOps 客户更轻松地使用集成。

集成配置

我们将逐一介绍这些参数以及在哪里可以找到它们,以便您更轻松地配置集成:

  • API 根 - 这是您在添加后缀 /api/v2 时用于查看 BlueLiv 首页的网址。例如:此参数的值应为 https://tcdach.blueliv.com/api/v2。
  • 用户名 - 与您用于连接到 BlueLiv 首页的用户名相同。
  • 密码 - 您用于连接到 BlueLiv 首页的密码。
  • 组织 ID - 您可以轻松地在用于浏览产品本身的网址上找到组织 ID,例如:

    在此示例中,组织 ID 为 117:

    https://tcdach.blueliv.com/dashboard/organizations/117/indexed

在了解集成参数后,我们可以深入了解集成中的其他术语。

模块类型

BlueLiv 已将威胁部分划分为模块类型,在此集成中,我们使用这些类型来帮助 SOAR 平台,并且如果您想按模块类型进行过滤,则仅注入相关信息。BlueLiv 中目前提供以下模块类型:

  • 凭据
  • 社交媒体
  • 信用卡
  • 网域保护
  • 恶意软件
  • 数据泄露
  • 黑客行为
  • 暗网
  • 自定义
  • 媒体跟踪器
  • 移动应用

威胁 ID 和模块 ID

https://tcdach.blueliv.com/dashboard/organizations/117/modules/1303/resource/31024379

您在 BlueLiv 中找到的每个威胁都有一个 UID,即代表该威胁的数字。 您也可以在网址中轻松找到此 ID。威胁也称为资源。例如,此处的威胁 UID 为 31024379。

此外,对于您在 BlueLiv 上的每个模块,您都有一个 UID,即代表该模块的数字。例如,此处的威胁 UID 为 1303。

有关配置的建议

Blueliv 一次只允许一个会话处于打开状态。为确保稳定性,建议为集成配置和连接器使用不同的用户。注意:每个连接器都需要一个单独的用户。

使用场景

  1. 主动监控网络威胁
  2. 品牌保护
  3. 数据泄露防护
  4. 欺诈防范
  5. 仿冒商品检测

在 Google SecOps 中配置 BlueLiv 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必填项 说明
API 根 字符串

https://example
.blueliv.com/api/v2

是 BlueLiv 实例的 API 根。
用户名 字符串 不适用 是 BlueLiv 的用户名。
密码 密码 不适用 是 用户的密码
组织 ID 字符串 不适用 是 指定要在 BlueLiv 中使用的组织 ID
验证 SSL 复选框 尚未核查 是 如果启用此设置,系统会验证与 IronScales 服务器连接的 SSL 证书是否有效。

操作

Ping

说明

使用 Google SecOps Content Hub 页面中的集成配置页面上提供的参数测试与 BlueLiv 的连接。

参数

不适用

运行时间

该操作不会对实体执行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果两个 API 调用都成功:“已使用提供的连接参数成功连接到 BlueLiv 服务器!”

操作应失败并停止 playbook 执行:

如果只有第一次调用成功,第二次调用失败:“已成功使用用户名和密码登录,但组织 ID 似乎不正确。请检查“集成配置”页面中的“组织 ID”参数,然后重试

如果不成功:“Failed to connect to the BlueLiv! 错误为 {0}”。format(exception.stacktrace)

常规

丰富实体

说明

使用 Blueliv 的威胁情境模块中的信息丰富实体。 支持的实体:IP、哈希、网址、威胁行为者、威胁活动、威胁签名、网域、CVE。

参数

名称 默认值 是否为必填项 说明
标记为可疑的最低得分 5 是 指定将实体标记为可疑的最低分数。最多:10。
创建分析洞见 正确 否 如果启用,操作将创建包含实体相关信息的分析洞见。

运行时间

此操作将在以下实体上运行:

  • IP 地址
  • 哈希
  • 网址
  • 威胁行为者
  • 威胁活动
  • 威胁签名
  • CVE
操作执行结果
脚本结果
脚本结果名称 “值”选项 示例
成功 True/False success:False
案例墙
格 成功 失败 消息
如果丰富了某些实体 true false 已成功使用 Blueliv 中的信息丰富以下实体:{entity.identifier}
如果未进行一些 true false 操作无法使用 Blueliv 中的信息丰富以下实体:{entity.identifier}
if not enriched all false false 未使用来自 Blueliv 的信息丰富任何实体。
严重错误、凭据无效、API 根 false true 执行“丰富实体”操作时出错。原因:{error traceback}
如果“威胁情境”模块不可用 false 正确 执行“丰富实体”操作时出错。原因:您的实例不支持“威胁上下文”模块。

为威胁添加评论

说明

该操作会向特定威胁添加所需的文字评论。

参数

参数显示名称 类型 默认值 是否为必填项 说明
模块类型 字符串 不适用 是 指定资源所属的模块类型。
模块 ID 字符串 不适用 是 指定资源所属的模块 ID。
资源 ID 字符串 不适用 是 指定要添加评论的资源 ID。
评论文本 字符串 不适用 是 提供您要添加到资源的评论。

运行时间

此操作不会对实体执行。

操作执行结果
脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值/说明 类型(实体 \ 常规)
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果成功:“已成功将评论添加到威胁 ID:”+{threat_ID}

操作应失败并停止 playbook 执行:

如果未成功:“Failed to perform action "Add Comment to a Threat {0}".format(exception.stacktrace)

常规
案例墙表格

名称:“威胁 ID”+{threat_id}+“评论:

列:

  • 评论行
  • 评论 ID
  • 内容
  • 创建日期
  • 评论者

将威胁标记为收藏

说明

该操作会将指定的威胁在 BlueLiv 中标记为收藏的威胁。

参数

参数显示名称 类型 默认值 DDL 值 是否为必填项 说明
模块类型 字符串 不适用 是 指定资源所属的模块类型。
模块 ID 字符串 不适用 是 指定资源所属的模块 ID。
资源 ID 字符串 不适用 是 指定要添加评论的资源 ID。
收藏状态 DDL 用户已加星标

未加星标

用户已加星标

已加星标的群组

Full Starred

是 提供您要对指定威胁应用的收藏状态。

运行时间

此操作不会对实体执行。

操作执行结果
脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值/说明 类型(实体 \ 常规)
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果成功:“已成功将威胁 ID:”+{threat_ID}+“标记为收藏”

操作应失败并停止 playbook 执行:

如果未成功:“未能执行操作‘将威胁标记为收藏’{0}”。format(exception.stacktrace)

常规

为威胁添加标签

说明

该操作会将指定的标签名称添加到指定的威胁 ID。

参数

参数显示名称 类型 默认值 是否为必填项 说明
模块类型 字符串 不适用 是 指定资源所属的模块类型。
模块 ID 字符串 不适用 是 指定资源所属的模块 ID。
资源 ID 字符串 不适用 是 指定要添加标签的资源 ID(以英文逗号分隔的列表)。
标签名称 字符串 不适用 是 以英文逗号分隔列表的形式指定要应用于指定威胁的标签名称。请注意区分大小写。

运行时间

此操作不会对实体执行。

操作执行结果
脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
结果类型 值/说明 类型(实体 \ 常规)
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果未能成功找到某些标签:“Couldn't find the following labels in BlueLiv: +(unsuccessful_label names_list). Please check the label names you have provided in the action parameters and try again”(在 BlueLiv 中找不到以下标签:+(unsuccessful_label names_list)。请检查您在操作参数中提供的标签名称,然后重试)

如果未找到某些威胁:“Couldn't find the following threats in BlueLiv: +(unsuccessful_threat_IDs). Please check the threat IDs you have provided in the action parameters and try again”(在 BlueLiv 中找不到以下威胁:+(unsuccessful_threat_IDs)。请检查您在操作参数中提供的威胁 ID,然后重试)

如果成功:“已成功将以下标签:”+(successful_label_names_list)+“添加到以下威胁 ID:”+(successful_threat_IDs_list)

操作应失败并停止 playbook 执行:

如果未成功找到任何标签:“Couldn't find any of the following labels in BlueLiv: +(unsuccessful_label names_list). Please check the label names you have provided in the action parameters and try again”(在 BlueLiv 中找不到以下任何标签:+(unsuccessful_label names_list)。请检查您在操作参数中提供的标签名称,然后重试)

如果未成功找到任何威胁:“Couldn't find any of the following Threats in BlueLiv: +(unsuccessful_threat_IDs_list). Please check the threat IDs you have provided in the action parameters and try again”(在 BlueLiv 中找不到以下任何威胁:+(unsuccessful_threat_IDs_list)。请检查您在操作参数中提供的威胁 ID,然后重试)

如果未成功:“Failed to perform action "Add Labels to Threats".format(exception.stacktrace)

常规

从威胁中移除标签

说明

此操作将从指定的威胁 ID 中移除指定的标签。

参数
名称 默认值 是否为必填项 说明
模块类型 不适用 是 指定资源所属的模块类型。
模块 ID 是 指定资源所属的模块 ID
资源 ID 是 指定要从中移除标签的资源 ID 逗号分隔列表。
标签名称 是 指定需要移除的标签列表,以英文逗号分隔。请注意区分大小写。

运行时间

此操作不会对实体执行。

操作执行结果
脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
案例墙
格 成功 失败 消息
如果未找到某些标签 true false “在 BlueLiv 中找不到以下标签:\n {labels}。请检查您在操作参数中提供的标签名称,然后重试。”
如果未找到某些威胁 true false 找不到模块 {module} {threat IDs} 中的以下威胁:{threat IDs}。请检查您在操作参数中提供的威胁 ID,然后重试
如果部分成功: true false 已成功从 Blueliv 中的以下威胁 {threat ID} 中移除以下标签:{successful_labels}
如果部分建议尚未应用: true false 以下标签已不属于 Blueliv 中的威胁 {threat ID}:{labels already not a part}
如果未找到任何标签 false true 执行“从威胁中移除标签”操作时出错。原因:未找到任何标签。请检查拼写。
如果未发现任何威胁 false true 执行“从威胁中移除标签”操作时出错。原因:未发现任何威胁。请检查拼写。
严重错误、凭据无效、API 根 false true 执行“从威胁中移除标签”操作时出错。原因:{error traceback}
如果模块类型或 ID 无效 false true 执行“从威胁中移除标签”操作时出错。原因:提供的模块 ID 或模块类型无效。

列出实体威胁

说明

列出与 Blueliv 中的实体相关的威胁。支持的实体:全部。

已知限制

即使字符串与威胁名称完全一致,Blueliv API 也可能不会返回任何结果。示例如下:

https://pastebin.com/YRkUCLGc - 使用“pastebin”关键字搜索时,会显示此网址。

https://pastebin.com/YRkUCLGc - 使用“https://pastebin.com/YRkUCLGc”关键字搜索时,未显示。

参数

参数显示名称 类型 默认值 是否为必填项 说明
标签过滤条件 CSV 不适用 否 指定以英文逗号分隔的标签列表,这些标签将用于过滤威胁。注意:标签过滤条件采用“OR”逻辑。
模块过滤条件 CSV 不适用 否 指定模块的逗号分隔列表,这些模块将用于过滤威胁。
返回的威胁数上限 整数 50 否 指定每个实体要返回的威胁数量。如果未指定任何内容,操作将返回 50 个威胁。

运行时间

此操作会对所有实体执行。

操作执行结果
脚本结果
脚本结果名称 “值”选项
is_success is_success=False
is_success is_success=True
JSON 结果
{
    "id": xxxxxxx,
    "module_id": xxxx,
    "module_name": "Data Leakage",
    "module_short_name": "xxx-xxxxx",
    "module_type": "DATA_LEAKAGE",
    "url": "xxx",
    "content_type": "text/html",
    "countries_id": "xx",
    "analysis_result": "INFORMATIVE",
    "analysis_calc_result": "INFORMATIVE",
    "created_at": 1626163680000,
    "checked_at": 1626163680000,
    "changed_at": 1626163680000,
    "user_rating": 0,
    "read": true,
    "fav": "NOT_STARRED",
    "issued": false,
    "labels": [
        {
            "id": 36116,
            "name": "GithubCodeByFilename",
            "background_color": 16777215,
            "text_color": 0,
            "type": "GLOBAL"
        },
        {
            "id": 160,
            "name": "Public",
            "background_color": 45960,
            "text_color": 16777215,
            "type": "GLOBAL"
        }
    ],
    "tlpStatus": "AMBER",
    "searchPhrase": "credit card",
    "followedUp": false,
    "history": []
},
案例墙
结果类型 值/说明 类型(实体 \ 常规)
输出消息*

操作不应失败,也不应停止 playbook 执行:

如果一个实体有可用数据(is_success = true):“已成功列出 Blueliv 中以下实体的可用威胁:{entity.identifier}”。

如果一个实体没有威胁 (is_success=true):“No related threats were found to the following entities in Blueliv: {entity.identifier}”

如果未发现威胁 (is_success=true):“在 Blueliv 中未找到与所提供实体相关的威胁”

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:“执行‘列出实体威胁’操作时出错。Reason: {0}''.format(error.Stacktrace)

常规
案例墙表格

标题:{entity.identifier}

模块名称

网址

标题

标签

创建时间

实体

连接器

BlueLiv - 威胁连接器

说明

从 BlueLiv 中拉取安全威胁。连接器从 BlueLiv 模块中提取所有最新威胁。

许可名单和屏蔽名单过滤条件适用于 BlueLiv 模块类型。例如,如果您只想从 Hacktivism 模块获取威胁,可以开启许可名单并输入“Hacktivism”类型名称。

对于每种模块类型,注入到 Google SecOps 的数据结构都不同。请修改 Google SecOps 实例中的映射,以最符合您的需求。请务必查看从 BlueLiv 返回的每个事件的不同“event_type”值。

对于恶意软件威胁类型,我们目前仅提供基本事件数据。 我们很快就会添加一个额外的事件,以便更好地处理从恶意软件威胁类型返回的特殊数据。

在 Google SecOps 中配置 BlueLiv - Threats 连接器

如需详细了解如何在 Google SecOps 中配置连接器,请参阅配置连接器。

连接器参数

使用以下参数配置连接器:

参数显示名称 类型 默认值 是否为必填项 说明
产品字段名称 字符串 ProductName 是 输入源字段名称,以便检索产品字段名称。
事件字段名称 字符串 event_type 是 输入源字段名称,以检索事件字段名称。
环境字段名称 字符串 "" 否

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

如果未找到环境字段,则环境为默认环境。

环境正则表达式模式 字符串 .* 否

要对“环境字段名称”字段中的值运行的正则表达式模式。

默认值为 .*,用于捕获所有值并返回未更改的值。

用于允许用户通过正则表达式逻辑操作环境字段。

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

脚本超时(秒) 整数 180 是 运行当前脚本的 Python 进程的超时限制。
API 网址 字符串 https://example.blueliv.com/api/v2 是 BlueLiv 实例的 API 根。
用户名 字符串 不适用 是 BlueLiv 的用户名
密码 密码 不适用 是 BlueLiv 的用户密码
组织 ID 字符串 不适用 是 指定要在 BlueLiv 中使用的组织 ID
回溯的小时数上限 整数 1 否 提取事件的小时数。
要提取的威胁数量上限 整数 10 否

每次连接器迭代要处理的威胁数量。
注意 - 此处的最大值为 100。

严重级别 字符串 中 是

严重级别将是以下值之一:低、中、高、严重。
将分配给通过此连接器创建的 Google SecOps 提醒。

要注入的分析结果 字符串(值:NOT_AVAILABLE、NOT_IMPORTANT、NOT_PROCESSABLE、POSITIVE、NEGATIVE、INFORMATIVE、IMPORTANT) 不适用 否

根据分析师对威胁的分析结果过滤威胁,仅注入具有所选分析结果的威胁。提供要注入的所需分析结果的逗号分隔列表。
可能的值:NOT_AVAILABLE、NOT_IMPORTANT、NOT_PROCESSABLE、POSITIVE、NEGATIVE、INFORMATIVE、IMPORTANT

用于过滤的标签 字符串(以英文逗号分隔的列表) 不适用 否 请提供要作为过滤条件的标签名称列表,并用英文逗号分隔。请注意字母的大小写,并严格按照 BlueLiv 界面中显示的标签进行输入。
正在读取要注入的状态 字符串(值:“Only Read”“Only Unread”) 不适用 否 按威胁的读取状态过滤威胁,以便连接器根据读取状态注入威胁。如果未提供任何值,我们将同时提取这两者。选项:“仅已读”“仅未读”。
是否仅提取已加星标的威胁? 复选框 尚未核查 否 如果选中,则系统只会提取已加星标(收藏)的威胁
是否应提取与突发事件相关的威胁? 字符串(值:Only Incidents、Only Non Incidents) 不适用 否 连接器是否应通过检查与突发事件的关系来过滤威胁。如果未提供任何值,我们将同时注入这两者。选项包括:仅突发事件 - 仅注入与突发事件相关的威胁;仅非突发事件 - 仅注入与突发事件无关的威胁
将白名单用作黑名单 复选框 尚未核查 是 如果启用,白名单将用作黑名单。
验证 SSL 复选框 尚未核查 是 如果已启用,请验证与 BlueLiv 服务器连接的 SSL 证书是否有效。
代理服务器地址 字符串 不适用 否 要使用的代理服务器的地址。
代理用户名 字符串 不适用 否 用于进行身份验证的代理用户名。
代理密码 密码 不适用 否 用于进行身份验证的代理密码。

连接器规则

代理支持

连接器支持代理。

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