CSV

集成版本:31.0

权限前提条件

如需通过集成处理文件,您需要拥有相应的权限。运行以下命令,为文件夹提供正确的权限:chown scripting:scripting "directory_path"

在 Google Security Operations 中配置 CSV 集成

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

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
实例名称 字符串 不适用 您打算为其配置集成的实例的名称。
说明 字符串 不适用 实例的说明。
远程运行 复选框 尚未核查 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

操作

将 JSON 保存为 CSV

说明

将 JSON 对象保存为 CSV。

参数

参数名称 类型 默认值 必填 说明
JSON 对象 JSON 不适用 指定要另存为 CSV 的 JSON 对象。
覆盖 布尔值 错误 如果启用,该操作会覆盖现有文件。
文件路径 字符串 不适用 指定新创建的 CSV 文件的绝对文件路径。如果仅提供文件名,该操作会将文件存储在 /tmp/ 文件夹中。

运行于

不适用

操作执行结果

脚本结果
脚本结果名称
is_success True/False
JSON 结果
{"filepath": "{file name}"}
案例墙

该操作会提供以下输出消息:

输出消息 消息说明
已成功转换 JSON 对象并将其保存到提供的文件路径。 操作成功。
找不到所提供路径对应的文件。 文件不存在。
在 Google Cloud Policy Intelligence 中,未找到所提供服务账号的任何活动 该操作无法找到任何所列服务账号的数据。
执行操作“将 JSON 保存为 CSV”时出错。

相应操作返回了错误。

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

按字符串搜索

说明

在 CSV 文件中搜索字符串。

参数

参数名称 类型 默认值 是否为必需属性 说明
CSV 路径 字符串 不适用 指定 CSV 文件的文件路径或包含所有 CSV 文件的文件夹路径。如果提供了文件夹,操作将遍历该文件夹中的所有 CSV 文件。
CSV 列 字符串 不适用 指定以英文逗号分隔的列列表,这些列可以包含实体信息。如果未提供任何内容,则操作将在所有列中进行搜索。
向后天数 字符串 10 指定要处理多少天前的 CSV 文件。
搜索值 字符串 不适用 指定需要搜索的字符串。如果启用了“搜索多个字符串”,则此参数会被视为以英文逗号分隔的字符串列表,需要进行搜索。
仅返回第一行。 复选框 尚未核查 如果启用,操作将仅返回与实体匹配的第一个文件中的 1 行。
文件编码类型 字符串 utf-8、latin-1、iso-8859-1 用于解码 CSV 文件的 CSV 编码类型(以英文逗号分隔)列表,例如 utf-8、latin-1、iso-8859-1、utf-16...指定编码类型的顺序决定了它们用于解码文件的顺序,例如(根据上面的示例),utf-8 具有最高优先级,将主要用于解码所有文件;如果某个 CSV 文件使用其他编码,则会使用顺序中的下一个编码(即 latin-1 编码),依此类推,直到使用最后一个编码。
搜索多个字符串 复选框 尚未核查 如果启用,则“搜索值”将作为以英文逗号分隔的值列表,而不是单个字符串。
要返回的字段 CSV 不适用 指定以英文逗号分隔的需要返回的值的列表。

使用场景

在 CSV 文件中搜索字符串。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
count_rows_csv 任意行数 count_rows += 1
JSON 结果
[
    {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        },
        "Entity": "host"
    }, {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        }, "Entity": "1.1.1.1"
    }
]
案例墙
结果类型 值 / 说明 类型
输出消息*

对于找到的记录成功找到有关以下字符串的信息:\n (search_string)”

如果未找到某些字符串的记录:“操作无法找到有关以下字符串的信息:”

如果所有记录均未成功:“未找到所提供商品的任何信息。”

如果所有编码均无效执行操作“按字符串搜索 CSV”时出错。提供的编码无效。请检查拼写。”

常规

按实体搜索

说明

在 CSV 文件中搜索实体并扩充这些实体。

参数

参数名称 类型 默认值 是否为必需属性 说明
CSV 路径 字符串 不适用 指定 CSV 文件的文件路径或包含所有 CSV 文件的文件夹路径。如果提供了文件夹,操作将遍历该文件夹中的所有 CSV 文件。
CSV 列 字符串 不适用 指定以英文逗号分隔的列列表,这些列可以包含实体信息。如果未提供任何内容,则操作将在所有列中进行搜索。
天数 字符串 10 指定要处理多少天前的 CSV 文件。
标记为可疑 复选框 尚未核查 如果启用,则当在文件中找到实体时,操作会将该实体标记为可疑。
仅返回第一行。 复选框 尚未核查 如果启用,操作将仅返回与实体匹配的第一个文件中的 1 行。
文件编码类型 字符串 utf-8、latin-1、iso-8859-1 用于解码 CSV 文件的 CSV 编码类型(以英文逗号分隔)列表,例如 utf-8、latin-1、iso-8859-1、utf-16...指定编码类型的顺序决定了它们用于解码文件的顺序,例如(根据上面的示例),utf-8 具有最高优先级,将主要用于解码所有文件;如果某个 CSV 文件使用其他编码,则会使用顺序中的下一个编码(即 latin-1 编码),依此类推,直到使用最后一个编码。
丰富实体 复选框 勾选 如果启用,操作将从 CSV 文件中添加信息,并将其添加到实体的丰富表中。
创建分析数据 复选框 勾选 如果启用,则在文件中找到实体后,操作会创建数据洞见。
要返回的字段 CSV 不适用 指定以英文逗号分隔的需要返回的值的列表。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
count_rows_csv 任意行数 count_rows += 1
JSON 结果
[
    {
        "EntityResult": [{
            "domain": "example.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "Arcsight",
            "id": "1011",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "blocked",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "Ziv",
            "eventHostName": "WS-ZivDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }, {
            "domain": "SmartCompany.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "ESM",
            "id": "1012",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "allowed",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "GG",
            "eventHostName": "WS-GGDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }],
        "Entity": "192.168.11.11"
    }
]
案例墙
结果类型 值 / 说明 类型
输出消息*

对于找到的实体已成功找到以下实体的信息:\n (entity.identifier)”

对于未找到的实体:“未找到有关以下实体的信息:\n (entity.identifier)”

如果所有实体均未成功:“未找到所提供实体的信息。”

如果所有编码均无效“执行操作‘按字符串搜索 CSV’时出错。提供的编码无效。请检查拼写。”

常规

Ping

说明

测试连接。

参数

不适用

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果

不适用

JSON 结果
N/A

连接器

CSV 连接器

说明

从特定文件夹中的 CSV 文件提取数据,并将这些数据转换为 Google SecOps 系统中的提醒。

本主题将说明 Google SecOps 生成 CSV 文件的机制和配置,以及平台内支持的工作流程和采取的操作。

使用场景

客户有来自系统的 CSV,这些文件可能采用不同的编码。

*   Add support for comma-separated encodings in the Encoding field in the
    connector.
    *   The connector should try the different encodings by their order in
        the field (first encoding - highest priority, last - lowest
        priority) with try/except. If no matching encoding was found -
        consider the file as an error and notify.
    *   Put a default value for the fields - a list of most common CSV
        encodings by priority (utf8, latin1, and iso...)

对 CSV 文件的访问权限

Google SecOps 对 CSV 文件的访问权限:为 CSV 文件设置文件夹。

将 CSV 记录转发到 Google SecOps

处理 CSV 文件记录

将 Google SecOps 配置为使用 CSV 文件作为提醒来源时,系统会要求您提供一个特定文件夹,用于从中提取 CSV 文件。Google SecOps 会检索 CSV 文件中的任何记录,并转发这些记录以进行翻译,然后根据上下文将这些记录转化为支持请求的提醒。

如何在连接器中映射严重程度

为了映射严重程度,您需要在“严重程度字段名称”参数中指定应使用哪个字段来获取严重程度值。在响应中,您可以获得 3 种类型的值:整数、浮点数和字符串。对于整数和浮点数,您无需进行任何其他配置。连接器将读取这些值,并根据 Google SecOps 标准对其进行映射。简要回顾一下整数值的映射方式:

  • 100 - 严重
  • 100 > x >= 80 高
  • 80 > x >=60 中等
  • 60 > x >=40 低
  • 40 > x 信息

如果响应中处理的是字符串,则需要进行额外配置。在连接器脚本所在的文件夹中,您会看到一个名为 severity_map_config.json 的配置文件。此文件定义了严重程度的映射规则。

最初,该文件将如下所示:1 2 3 { "Default": 50 }

假设所需的值位于 event.severity 中。event.severity 可以包含以下值:“恶意”“良性”“未知”。

首先,我们必须在“严重程度字段名称”参数中指定我们将使用 event.severity。其次,我们必须更新配置文件。更改后,severity_map_config.json 文件应如下所示:1 2 3 4 5 6 7 8 { "event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default": 50 }

现在,当连接器收到 event.severity = "恶意" 的事件时,会将其严重程度设置为“严重”。

在 Google SecOps 中配置 CSV 连接器

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

连接器参数

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

参数名称 类型 默认值 是否为必需属性 说明
商品字段名称 字符串 device_product 用于确定设备产品的字段名称。
事件字段名称 字符串 name 用于确定事件名称(子类型)的字段名称。
脚本超时(秒) 字符串 60 运行当前脚本的 Python 进程的超时限制(以秒为单位)。
CSV 文件夹路径 字符串 不适用 包含需要提取的所有 CSV 文件的文件夹路径。
CSV 限制 字符串 不适用 每次迭代要处理的 CSV 文件数量。
规则生成器字段名称 字符串 不适用 包含规则生成器相关信息的字段的名称。
时间字段名称 字符串 不适用 包含事件时间信息的字段的名称。
CSV 是否包含标题 复选框 勾选 表示 CSV 文件是否包含标题。
文件编码类型 字符串 utf-8 设置 CSV 编码类型,例如 iso-8859-1、latin1、utf-8、utf-16。
提醒字段名称 字符串 不适用 包含提醒名称信息的字段的名称。
严重程度字段名称 字符串 不适用

包含严重程度信息的字段的名称。
注意:您可以根据响应中的值来映射严重程度。为此,您需要前往连接器执行文件夹并修改 severity_mapping_config.json。查看文档以供参考。

连接器规则

代理支持

连接器不支持代理。

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