RSA NetWitness Platform

本文档提供了有关如何将 RSA NetWitness Platform 与 Google SecOps 集成的指南。

在 Google Security Operations 中配置 RSA NetWitness Platform 集成

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

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 为必需参数 说明
实例名称 字符串 不适用 否 您打算为之配置集成的实例的名称。
说明 字符串 不适用 否 实例的说明。
代理 API 根地址 字符串 http://x.x.x.x:50103 否 Broker API 的 API 根。
Broker API 用户名 字符串 不适用 否 Broker API 的用户名。
经纪商 API 密码 密码 不适用 否 Broker API 的密码。
集中器 API 根地址 字符串 http://x.x.x.x:50105 否 Concentrator API 的 API 根。
集中器 API 用户名 字符串 不适用 否 Concentrator API 的用户名。
集中器 API 密码 密码 不适用 否 集中器 API 的密码。
Web API 根地址 字符串 https://{ip}/rest/api/ 否 Netwitness 平台实例的 API 根。
网站用户名 字符串 不适用 否 Netwitness Platform 实例的用户名。
网站密码 密码 不适用 否 Netwitness Platform 实例的密码。
验证 SSL 复选框 尚未核查 否 如果启用,则验证与 RSA Netwitness Platform 服务器的连接的 SSL 证书是否有效。
远程运行 复选框 尚未核查 否 选中相应字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

操作

Ping

说明

测试与 RSA Netwitness Platform 的连接。

参数

不适用

使用场景

不适用

Run On

此操作不会在实体上运行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False

丰富端点

说明

按主机名或 IP 地址提取端点的系统信息。需要 RSA Netwitness Respond 许可、在后台运行的端点服务器服务,以及在集成配置中配置的 Web 用户名和 Web 密码。

参数

参数显示名称 类型 默认值 是强制性的 说明
风险得分阈值 整数 50 错误 为端点指定风险阈值。如果端点超出阈值,相关实体将被标记为可疑。如果未指定任何内容,则操作不会检查风险得分。

Run On

此操作适用于以下实体:

  • IP 地址
  • 主机

操作执行结果

实体扩充
扩充项字段名称 来源(JSON 密钥) 逻辑 - 应用场景
RSA_NTW_agentId agentId 以 JSON 格式提供时
RSA_NTW_hostName hostName 以 JSON 格式提供时
RSA_NTW_riskScore riskScore 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_name networkInterfaces/name 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_macAddress networkInterfaces/macAddress 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_ipv4 以空格分隔的 networkInterfaces/ipv4 列表 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_ipv6 以空格分隔的 networkInterfaces/ipv6 列表 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_networkIdv6 以空格分隔的 networkInterfaces/networkIdv6 列表 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_gateway 以空格分隔的 networkInterfaces/网关列表 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_dns 以空格分隔的 networkInterfaces/dns 列表 以 JSON 格式提供时
RSA_NTW_networkInterfaces_{id}_promiscuous networkInterfaces/promiscuous 以 JSON 格式提供时
RSA_NTW_lastSeenTime lastSeenTime 以 JSON 格式提供时
脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "items": [
        {
            "agentId": "575EDC44-BDF9-6D00-FFCD-D354FB641E27",
            "hostName": "RSA-HOST-1",
            "riskScore": 100,
            "networkInterfaces": [
                {
                    "name": "Intel(R) 82574L Gigabit Network Connection",
                    "macAddress": "00:50:56:A2:30:03",
                    "ipv4": [
                        "172.30.203.145"
                    ],
                    "ipv6": [
                        "fe80::dce6:5825:454a:968d"
                    ],
                    "networkIdv6": [
                        "fe80::"
                    ],
                    "gateway": [
                        "172.30.203.1"
                    ],
                    "dns": [
                        "8.8.8.8"
                    ],
                    "promiscuous": false
                }
            ],
            "lastSeenTime": "2020-08-23T12:32:33.107Z"
        }
    ],
    "pageNumber": 0,
    "pageSize": 100,
    "totalPages": 1,
    "totalItems": 1,
    "hasNext": false,
    "hasPrevious": false
}
案例墙
结果类型 值 / 说明 类型
输出消息*

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

如果成功且至少一个提供的实体已得到丰富(is_success = true):

打印“Successfully enriched the following endpoints from RSA Netwitness: \n {0}”.format(entity.identifier list)

如果无法丰富特定实体(is_success = true):

打印“无法从 RSA Netwitness 扩充以下端点:{0}”。format([entity.identifier])

如果未能丰富所有实体(is_success = false):

打印:“未扩充任何实体。”

操作应失败并停止 playbook 执行:
如果出现严重错误(例如凭据错误、无法连接到服务器等):

打印“执行操作‘丰富端点’时出错。原因:{0}''.format(error.Stacktrace)

如果未找到端点服务:

打印“执行操作‘丰富端点’时出错。原因:找不到端点服务器。”

常规

丰富文件

说明

使用哈希值或文件名提取文件相关信息。仅支持 MD5 和 SHA256。需要 RSA Netwitness Respond 许可、在后台运行的端点服务器服务,以及在集成配置中配置的 Web 用户名和 Web 密码。

参数

参数显示名称 类型 默认值 是强制性的 说明
风险得分阈值 整数 50 否 指定文件的风险阈值。如果文件大小超过阈值,相关实体将被标记为可疑。如果未指定任何内容,则操作不会检查风险得分。

Run On

此操作会针对所有实体运行。

操作执行结果

实体扩充
扩充项字段名称 来源(JSON 密钥) 逻辑 - 应用场景
RSA_NTW_filename firstFileName 以 JSON 格式提供时
RSA_NTW_reputationStatus reputationStatus 以 JSON 格式提供时
RSA_NTW_globalRiskScore globalRiskScore 以 JSON 格式提供时
RSA_NTW_machineOsType machineOsType 以 JSON 格式提供时
RSA_NTW_size 大小 以 JSON 格式提供时
RSA_NTW_checksumMd5 checksumMd5 以 JSON 格式提供时
RSA_NTW_checksumSha1 checksumSha1 以 JSON 格式提供时
RSA_NTW_checksumSha256 checksumSha256 以 JSON 格式提供时
RSA_NTW_entropy 熵 以 JSON 格式提供时
RSA_NTW_format pe 以 JSON 格式提供时
RSA_NTW_fileStatus 一般 以 JSON 格式提供时
RSA_NTW_remediationAction 取消屏蔽 以 JSON 格式提供时
脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "items": [
        {
            "firstFileName": "AM_Delta_Patch_1.321.1947.0.exe",
            "reputationStatus": "Known Good",
            "globalRiskScore": 0,
            "firstSeenTime": "2020-08-23T00:46:25.288Z",
            "machineOsType": "windows",
            "signature": {
                "timeStamp": "2020-08-22T21:01:55.552Z",
                "thumbprint": "c6573d9ba5efc55b1ad1c59b9cafc33d232b13cc",
                "context": [
                    "microsoft",
                    "signed",
                    "valid"
                ],
                "signer": "Microsoft Corporation"
            },
            "size": 441280,
            "checksumMd5": "40d93a5ed9d2d55e35857c1f1de162db",
            "checksumSha1": "3096e9e4ac4cc46dcfa11a053583c2d3e14b14b8",
            "checksumSha256": "34261adf58ac3c8e38724d5fbfba21037d868a2c0b6291e2a61e5a023b55c3f9",
            "pe": {
                "timeStamp": "2020-08-22T20:57:28.000Z",
                "imageSize": 454656,
                "numberOfExportedFunctions": 0,
                "numberOfNamesExported": 0,
                "numberOfExecuteWriteSections": 0,
                "context": [
                    "file.exe",
                    "file.arch64",
                    "file.versionInfoPresent",
                    "file.resourceDirectoryPresent",
                    "file.relocationDirectoryPresent",
                    "file.debugDirectoryPresent",
                    "file.tlsDirectoryPresent",
                    "file.richSignaturePresent",
                    "file.companyNameContainsText",
                    "file.descriptionContainsText",
                    "file.versionContainsText",
                    "file.internalNameContainsText",
                    "file.legalCopyrightContainsText",
                    "file.originalFilenameContainsText",
                    "file.productNameContainsText",
                    "file.productVersionContainsText",
                    "file.standardVersionMetaPresent"
                ],
                "resources": {
                    "originalFileName": "AM_Delta_Patch_1.321.1947.0.exe",
                    "company": "Microsoft Corporation",
                    "description": "Microsoft Antimalware WU Stub",
                    "version": null
                },
                "sectionNames": [
                    ".text",
                    ".rdata",
                    ".data",
                    ".pdata",
                    ".rsrc",
                    ".reloc"
                ],
                "importedLibraries": [
                    "ADVAPI32.dll",
                    "KERNEL32.dll",
                    "RPCRT4.dll",
                    "ntdll.dll"
                ]
            },
            "elf": null,
            "macho": null,
            "entropy": 7.378079119412321,
            "format": "pe",
            "fileStatus": "Neutral",
            "remediationAction": "Unblock"
        }
    ],
    "pageNumber": 0,
    "pageSize": 100,
    "totalPages": 1,
    "totalItems": 1,
    "hasNext": false,
    "hasPrevious": false
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行:
如果成功且至少一个提供的实体已得到丰富(is_success = true):
打印“Successfully enriched the following files from RSA Netwitness: \n {0}".format(entity.identifier list)

如果无法扩充特定实体(is_success = true):
打印“Action was not able to enrich the following files from RSA Netwitness \n: {0}”(操作无法从 RSA Netwitness 扩充以下文件:{0})。format([entity.identifier])

如果未能丰富所有实体(is_success = false):
打印:“No entities were enriched.”

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

如果 出现致命错误(例如凭据错误、无法连接到服务器、其他错误):

输出“Error executing action "Enrich File"”(执行操作“Enrich File”时出错)。原因:{0}''.format(error.Stacktrace)


如果 出现严重错误,例如凭据错误、无法连接到服务器、其他错误:

输出“Error executing action "Enrich File"”(执行操作“Enrich File”时出错)。原因:找不到端点服务器。”

常规

隔离端点

说明

在 RSA Netwitness 中隔离端点。需要 RSA Netwitness Respond 许可、在后台运行的端点服务器服务,以及在集成配置中配置的 Web 用户名和 Web 密码。

参数

参数显示名称 类型 默认值 为必需参数 说明
评论 字符串 不适用 是 添加注释,说明隔离请求背后的原因。

Run On

此操作适用于以下实体:

  • IP 地址
  • 主机

操作执行结果

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

该操作不应失败,也不应停止 playbook 执行:
如果所有提供的实体的操作都成功完成(is_success = true):
打印“Successfully requested isolation for the following endpoints from RSA Netwitness: \n {0}".format(entity.identifier list)

如果未能隔离至少一个提供的实体(is_success = false):
打印“Action was not able to request isolation for the following endpoints from RSA Netwitness \n: {0}”。format([entity.identifier])

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

如果 出现致命错误(例如凭据错误、无法连接到服务器、其他错误):

打印“执行操作‘隔离端点’时出错”。原因:{0}''.format(error.Stacktrace)

如果未找到端点服务:

打印“执行操作‘隔离端点’时出错”。原因:找不到端点服务器。”

常规

取消隔离端点

说明

在 RSA Netwitness 中请求取消端点隔离。需要 RSA Netwitness Respond 许可、在后台运行的端点服务器服务,以及在集成配置中配置的 Web 用户名和 Web 密码。

参数

参数显示名称 类型 默认值 为必需参数 说明
评论 字符串 不适用 是 添加注释,说明隔离请求背后的原因。

Run On

此操作适用于以下实体:

  • IP 地址
  • 主机

操作执行结果

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

操作不应失败,也不应停止 playbook 执行:
如果所有提供的实体的操作都成功完成(is_success = true):
打印“Successfully requested unisolation for the following endpoints from RSA Netwitness: \n {0}".format(entity.identifier list)

如果未能隔离至少一个提供的实体(is_success = false):
打印“Action was not able to request unisolation for the following endpoints from RSA Netwitness \n: {0}”。format([entity.identifier])

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

如果 出现致命错误(例如凭据错误、无法连接到服务器、其他错误):

打印“Error executing action "Unisolate Endpoint". 原因:{0}''.format(error.Stacktrace)

如果未找到端点服务:

打印“Error executing action "Unisolate Endpoint". 原因:找不到端点服务器。”

常规

更新突发事件

说明

在 RSA Netwitness 中更新突发事件。需要 RSA Netwitness Respond 许可,并在集成配置中配置 Web 用户名和 Web 密码。

参数

参数显示名称 类型 默认值 为必需参数 说明
突发事件 ID 字符串 不适用 是 指定需要更新的突发事件的 ID。
状态 DDL 不适用 否 为突发事件指定新状态。
分配对象 字符串 不适用 否 为突发事件指定新的受理人。

Run On

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "id": "INC-128",
    "title": "High Risk Alerts: NetWitness Endpoint for RSA-HOST-1",
    "summary": "",
    "priority": "High",
    "riskScore": 72,
    "status": "RemediationRequested",
    "alertCount": 136,
    "averageAlertRiskScore": 72,
    "sealed": true,
    "totalRemediationTaskCount": 0,
    "openRemediationTaskCount": 0,
    "created": "2020-08-26T12:56:57.867Z",
    "lastUpdated": "2020-08-26T15:31:27.953Z",
    "lastUpdatedBy": null,
    "assignee": "admin",
    "sources": [
        "ECAT"
    ],
    "ruleId": "5ef1b33614c0552a2884c590",
    "firstAlertTime": "2020-08-26T12:56:56.097Z",
    "categories": [],
    "journalEntries": null,
    "createdBy": "High Risk Alerts: NetWitness Endpoint",
    "deletedAlertCount": 0,
    "eventCount": 136,
    "alertMeta": {
        "SourceIp": [
            ""
        ],
        "DestinationIp": [
            ""
        ]
    }
}
案例墙
结果类型 值 / 说明 类型
输出消息*

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

如果状态代码为 200(is_success = true):

打印“Successfully updated incident with ID {0} in RSA Netwitness”.format(incident_id)。

如果状态代码为 400 (is_success=false):

打印“操作无法在 RSA Netwitness 中更新 ID 为 {0} 的突发事件。Reason: {1}".format(incident_id, errors/message).

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

如果是严重错误,例如凭据错误、无法连接到服务器、其他错误:

打印“Error executing action "Update Incident". 原因:{0}''.format(error.Stacktrace)

常规

向突发事件添加备注

说明

在 RSA Netwitness 中向突发事件添加备注。需要 RSA Netwitness Respond 许可,并在集成配置中配置了 Web 用户名和 Web 密码。

参数

参数显示名称 类型 默认值 为必需参数 说明
突发事件 ID 字符串 不适用 是 指定需要更新的突发事件的 ID。
注意 字符串 不适用 是 指定要添加到的注释。
作者 字符串 不适用 是 指定注释的作者。

Run On

此操作不会在实体上运行。

操作执行结果

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

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

如果状态代码为 200(is_success = true):

打印“Successfully added note to incident with ID {0} in RSA Netwitness”.format(incident_id)。

如果状态代码为 400 (is_success=false):

打印“Action wasn't able to add note to incident with ID {0} in RSA Netwitness. Reason: {1}".format(incident_id, errors/message).

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

如果是严重错误,例如凭据错误、无法连接到服务器、其他错误:

打印“执行操作‘向事件添加备注’时出错。原因:{0}''.format(error.Stacktrace)

常规

连接器

RSA Netwitness Platform - Incidents 连接器

说明

从 RSA Netwitness Platform 拉取突发事件。

如何使用凭据 JSON 对象

凭据 JSON 对象提供了一种更灵活的数据源身份验证方式。JSON 的最基本配置如下所示:

{
    "default_username": "username",
    "default_password": "password"
}

如果没有“default_username”和“default_password”,连接器将抛出错误。 此配置适用于所有数据源共用同一用户名和密码的环境。如果您需要为数据源提供特定凭据,则 JSON 的结构将如下所示:

{
    "default_username": "username",
    "default_password": "password",
    "dataSources": [
        {
            "api_root": "172.30.203.151:50102",
            "username": "username",
            "password": "password"
        },
        {
            "api_root": "172.30.203.151:50105",
            "username": "username",
            "password": "password"
        },
        {
            "api_root": "172.30.203.151:50103",
            "username": "username",
            "password": "password"
        }
    ]
}

连接器将扫描事件以查找源 API 根,然后将其与凭据 JSON 对象中可用的内容进行比较。如果找到匹配项,连接器将从“dataSources”列表中获取用户名和密码;如果没有匹配项,则使用“default_username”和 default_password。此外,您无需在“dataSources”列表中同时提供用户名和密码。例如,如果仅提供用户名,连接器将从“dataSource”列表中获取用户名,并从“default_password”获取密码。

在 Google SecOps 中配置 RSA Netwitness Platform - Incidents 连接器

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

连接器参数

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

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

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

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

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

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

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

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

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

脚本超时(秒) 整数 180 是 运行当前脚本的 Python 进程的超时时间限制。
Web API 根地址 字符串 https://{ip}/rest/api/ 是 RSA Netwitness 平台实例的 Web API 根。
网站用户名 字符串 不适用 是 RSA Netwitness Platform 账号的用户名。
网站密码 密码 不适用 是 RSA Netwitness Platform 账号的密码。
提取回溯的小时数上限 整数 1 否 提取事件的小时数。注意:连接器将等待指定的时间,以便更新突发事件。
要提取的最低风险得分 整数 不适用 否 要提取的突发事件的最低风险得分。默认情况下,连接器会注入所有突发事件。最大值为 100。
严重程度回退 字符串 信息 是 指定在风险得分不可用时,Google SecOps 提醒的后备严重程度应为多少。可能的值:信息性、低、中、高、严重。
要提取的突发事件数上限 整数 10 否 每次连接器迭代要处理的事件数量。最大值为 100。
将白名单用作黑名单 复选框 尚未核查 是 如果启用,白名单将用作黑名单。
验证 SSL 复选框 尚未核查 是 如果启用,则验证与 RSA Netwitness Platform 服务器的连接的 SSL 证书是否有效。
代理服务器地址 字符串 否 要使用的代理服务器的地址。
代理用户名 字符串 否 用于进行身份验证的代理用户名。
代理密码 密码 否 用于进行身份验证的代理密码。
凭据 JSON 对象 密码 不适用 否 此参数用于存储数据源凭证。此参数的优先级高于“Broker API Root”“Broker API Username”“Broker API Password”“Concentrator API Root”“Concentrator API Username”“Concentrator API Password”。如需了解详情,请参阅文档门户。

连接器规则

代理支持

连接器支持代理。

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