将 SiemplifyUtilities 与 Google SecOps 集成
本文档介绍了如何将 SiemplifyUtilities 与 Google Security Operations (Google SecOps) 集成。
使用场景
SiemplifyUtilities 集成可满足以下应用场景:
导出和分享:使用 Google SecOps 功能和将实体导出为 OpenIOC 文件操作,可从安全实体(例如 IP、文件哈希或网址)快速生成标准化的 OpenIOC 文件,并将其分享给威胁情报平台或其他安全团队。
用于逻辑的列表操作:将 Google SecOps 功能与列表操作操作搭配使用,可在 Playbook 中对两个不同的值列表执行复杂的逻辑运算(例如交集、并集、差集),从而实现高级过滤或数据源组合。
数据转换和分析:使用 Google SecOps 功能和 Extract top From JSON 操作,根据特定的嵌套键(例如严重程度得分)对大型嵌套 JSON 数据集进行排序,并仅返回最相关的结果以供立即分析,从而处理这些数据集并确定其优先级。
电子邮件取证:将 Google SecOps 功能与将 EML 解析为 JSON 操作搭配使用,可将原始的 base64 编码电子邮件(EML 或 MSG 文件)转换为结构化的 JSON 格式,从而使电子邮件的标头、正文、附件和链接可供自动解析和调查。
准备工作
此集成提供原生平台功能,不需要外部第三方 API 密钥或凭证进行身份验证。在开始之前,请确保已从 Google SecOps 实例中的内容中心安装集成。
集成参数
无。
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作台页面中处理待处理的操作和执行人工处置措施。
统计范围内的实体
使用 Count Entities in Scope 可检索特定范围内的实体数量。
此操作会在所有 Google SecOps 实体上运行。
操作输入
统计范围内的实体数量操作需要以下参数:
| 参数 | 说明 |
|---|---|
Entity Type |
必填。 目标实体的类型。 |
操作输出
统计范围内的实体数量操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
统计范围内的实体数量操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Count Entities in Scope". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表介绍了使用统计范围内的实体数量操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
list_count |
NUMBER_OF_ENTITIES |
统计列表
使用统计列表操作可检索列表中的商品数量。
此操作不适用于 Google SecOps 实体。
操作输入
统计列表操作需要以下参数:
| 参数 | 说明 |
|---|---|
Input String |
可选。 以逗号分隔列表的字符串,例如 |
Delimiter |
可选。 用于分隔 |
操作输出
统计列表操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
Count List 操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Count List". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表介绍了使用 Count List 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
list_count |
NUMBER_OF_ENTITIES |
删除文件
使用删除文件操作从文件系统中删除所选文件。
此操作不适用于 Google SecOps 实体。
操作输入
删除文件操作需要以下参数:
| 参数 | 说明 |
|---|---|
File Path |
必填。 要删除的文件的绝对路径。 |
操作输出
删除文件操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用删除文件操作时收到的 JSON 结果输出:
{
"filepath": ""
"status": "deleted/not found"
}
输出消息
删除文件操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Delete File". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用 Delete File 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
将实体导出为 OpenIOC 文件
使用将实体导出为 OpenIOC 文件操作,将当前案件中受支持的安全制品打包为标准 OpenIOC 文件格式。此文件可用于共享、威胁情报或导入其他安全工具。
此操作可在以下 Google SecOps 实体上运行:
FilehashIP AddressURLHostnameUser
操作输入
将实体导出为 OpenIOC 文件操作需要以下参数:
| 参数 | 说明 |
|---|---|
Export Folder Path | 必填。 将保存生成的 OpenIOC 文件的文件夹的本地路径。 |
操作输出
将实体导出为 OpenIOC 文件操作可提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用将实体导出为 OpenIOC 文件操作时收到的 JSON 结果输出:
{
"absolute_file_path": OpenIOC_{random_guid}.txt
}
输出消息
将实体导出为 OpenIOC 文件操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Export Entities as OpenIOC File". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
从 JSON 中提取顶部
使用 Extract top From JSON 操作可按特定键对输入 JSON 进行排序,并返回排名靠前的分支或记录。
此操作不适用于 Google SecOps 实体。
操作输入
从 JSON 中提取顶部操作需要以下参数:
| 参数 | 说明 |
|---|---|
JSON Data | 必填。 要处理的 JSON 数据。 |
Key To Sort By | 必填。 用于排序的嵌套键,各段以英文句点分隔。 使用 |
Field Type | 必填。 指定用于排序的键的数据类型。 可能的值如下:
|
Reverse (DESC -> ASC) | 可选。 如果选中,则排序顺序为降序。如果未选择,则排序顺序为升序。 默认处于启用状态。 |
Top Rows | 可选。 要从排序后的 JSON 输出中检索的顶部记录(行)的数量。 |
操作输出
从 JSON 中提取前 N 个操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用从 JSON 中提取顶部元素操作时收到的 JSON 结果输出:
[
{
"HOST": {
"DETECTION":{
"QID": "82003",
"SEVERITY": "1",
"RESULTS": "Timestamp of host (network byte ordering): 03:40:14 GMT"
},
"IP": "1.1.1.1",
"LAST_SCAN_DATETIME": "2018-08-13T10:24:35Z",
"OS": "Windows 10"
},
"DATETIME": "2018-08-29T14:01:12Z"
}, {
"HOST":{
"DETECTION": {
"PORT": "443",
"QID": "11827",
"PROTOCOL": "tcp",
"RESULTS": "X-Frame-Options or Content-Security-Policy: frame-ancestors HTTP Headers missing on port 443.",
"SEVERITY": "2"
},
"IP": "1.1.1.1",
"LAST_SCAN_DATETIME": "2018-08-13T08:31:58Z",
"OS": "Linux 3.13"
},
"DATETIME": "2018-08-29T14:01:12Z"
}, {
"HOST": {
"DETECTION": {
"PORT": "53",
"QID": "15033",
"PROTOCOL": "udp",
"RESULTS": "--- IPv4 --- ",
"SEVERITY": "4"
},
"IP": "1.1.1.1",
"LAST_SCAN_DATETIME": "2018-08-13T08:31:58Z",
"OS": "Linux 3.13"
},
"DATETIME": "2018-08-29T14:01:12Z"
}
]
输出消息
从 JSON 中提取顶部元素操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Extract top From JSON". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用从 JSON 中提取顶部操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
result |
RESULTS |
过滤 JSON
使用 Filter JSON 操作可根据指定条件过滤 JSON 对象并提取特定结果。
此操作不适用于 Google SecOps 实体。
操作输入
过滤 JSON 操作需要以下参数:
| 参数 | 说明 |
|---|---|
JSON Data | 必填。 要应用过滤器的 JSON 字典数据。 |
Root Key Path | 可选。 以英文句点分隔的 JSON 搜索起始路径。 |
Condition Path | 必填。 各部分以英文句点分隔的路径,表示要评估其值是否满足 |
Condition Operator | 必填。 要在条件中使用的比较运算符。 可能的值如下:
|
Condition Value | 必填。 要在 |
Output Path | 可选。 以英文句点分隔的路径,用于指定要从过滤后的 JSON 中返回的特定数据元素。 |
Delimiter | 可选。 如果返回多个元素,则用于联接输出值的字符。 默认值为 |
操作输出
过滤 JSON 操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用过滤 JSON 操作时收到的 JSON 结果输出:
{
"a": {
"HOST": [
{
"DETECTION": {
"QID": "82003",
"SEVERITY": "1",
"RESULTS": "Timestamp of host (network byte ordering): 03:40:14 GMT"
},
"IP": "1.1.1.1",
"LAST_SCAN_DATETIME": "2018-08-13T10:24:35Z",
"OS": "Windows 10"
}
],
"DATETIME": "2018-08-29T14:01:12Z"
}
}
输出消息
过滤 JSON 操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Filter JSON". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用过滤 JSON 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
获取部署网址
使用 Get Deployment 网址 操作检索当前 Google SecOps 实例的部署网址。
此操作不适用于 Google SecOps 实体。
操作输入
无。
操作输出
获取部署网址操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用获取部署网址操作时收到的 JSON 结果输出:
{
"url": ""
}
输出消息
获取部署网址操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Get Deployment URL". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用获取部署网址操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
列出操作
使用 List Operations 操作可在两个以英文逗号分隔的列表之间执行集合运算。
此操作不适用于 Google SecOps 实体。
操作输入
列出操作操作需要以下参数:
| 参数 | 说明 |
|---|---|
First List | 必填。
|
Second List | 必填。
|
Delimiter | 可选。 用于分隔 默认值为 |
Operator | 必填。 要执行的 可能的值如下:
|
操作输出
列出操作操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用列出操作操作时收到的 JSON 结果输出:
{
"results": {
"count": 6,
"data": [
"item",
"item1",
"item2"
]
}
}
脚本结果
下表列出了使用 List Operations 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
result_list |
RESULTS |
将 EML 解析为 JSON
使用 Parse EML to JSON 操作将 EML 或 MSG 电子邮件文件的内容转换为 Google SecOps 中的结构化 JSON 对象。
此操作不适用于 Google SecOps 实体。
操作输入
将 EML 解析为 JSON 操作需要以下参数:
| 参数 | 说明 |
|---|---|
EML Content | 必填。 EML 或 MSG 文件的 base64 编码内容。 |
Blacklisted Headers | 可选。 要从最终 JSON 输出中排除的标头的英文逗号分隔列表。 |
Use Blacklist As Whitelist | 可选。 如果选择此项, |
操作输出
将 EML 解析为 JSON 操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用将 EML 解析为 JSON 操作时收到的 JSON 结果输出:
{
"HTML Body": "<div><br></div>",
"Attachments": {},
"Recipients": "john_doe@example.com",
"CC": "",
"Links": {
"urls_1": "https://lh4.googleusercontent.com/rE6-WYjfFuiHbHUV33G31NCtUeBl9YGnw4bvlorqMeNaC60qWagqtohFwCpq2eJxlMYMJPPDAqqXRZW6Oja8GqOjt3jB3aB6tzJP-jdtbCBoj-m3vu49tttHmWpXGJUSI6UuTUYS",
"urls_2": "https://lh4.googleusercontent.com/Uih5TalWnJjBbG_QaRICp8emX5wIakbCmstEDP3YHT7l45qdjIllcxg_Ddapvrh5DqGKszK3KKM5M0kEoC1YX6TgbWKJKPX0OxD5BeWr3uu6SRAHs7lwP20khjHSlxsIM46egQ-M"
},
"BCC": "",
"To": "john_doe@example.com",
"Date": "Mon, 13 Aug 2018 13:20:34 +0300",
"From": "john_doe@example.com",
"Subject": "TEST6:::Test:::ADVANCE NOTICE: 07.08.2018-Disable Accounts-user\\\r\\\\n Office Il Office"
}
脚本结果
下表列出了使用将 EML 解析为 JSON 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
parsed_eml |
RESULTS |
针对 with 字段的操作的 JSON 输出已重新构建,以将 ID 值分离到专用字段中。此变更适用于集成版本 10 及更高版本,如下表所示:
| 集成版本 | 字段结构和说明 | 示例 JSON |
|---|---|---|
| 版本 9 及更低版本 | ID 和协议合并到 with 字段中。 | {"with": "smtp id ID"} |
| 版本 10 及更高版本 | 该 ID 存储在新的 id 字段中,而 with 字段仅包含协议。 | {"id": "ID", "with": "SMTP"} |
Ping
使用 Ping 操作测试与 SiemplifyUtilities 的连接。
此操作不适用于 Google SecOps 实体。
操作输入
无。
操作输出
Ping 操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
Ping 操作提供以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
Connection Established. |
操作成功。 |
Failed to connect to SiemplifyUtilities. Error is
ERROR_REASON
|
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表介绍了使用 Ping 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
True 或 False |
查询联接器
使用 Query Joiner 操作,通过组合搜索值列表、目标字段和逻辑运算符来动态构建结构化查询字符串。
此操作不适用于 Google SecOps 实体。
操作输入
查询联接器操作需要以下参数:
| 参数 | 说明 |
|---|---|
Values |
必填。 要搜索的逗号分隔列表,例如 |
Query Field |
必填。 要搜索的目标字段名称,例如 |
Query Operator |
必填。 用于组合值的逻辑运算符,例如 |
Add Quotes |
可选。 如果选中此选项,该操作会在 |
Add Double Quotes |
可选。 如果选择此操作,则会在 |
Add Backticks |
可选。 如果选中,该操作会在 这有助于转义复杂字符串或特殊字符(例如长网址),以防止出现查询编译错误。 |
Delimiter |
可选。 用于分隔 如果未提供值,则默认定界符为英文逗号 ( |
操作输出
查询联接器操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
查询联接器操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "Query Joiner". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用 Query Joiner 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
query |
QUERY_FIELD=
VALUE_1
OPERATOR
QUERY_FIELD=
VALUE_2
OPERATOR
QUERY_FIELD=
VALUE_3 |