将调查结果映射到AWSSecurity Finding 格式 (ASFF) - AWS Security Hub

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将调查结果映射到AWSSecurity Finding 格式 (ASFF)

使用以下准则将您的结果映射到 ASFF。有关每个 ASFF 字段和对象的详细说明,请参阅AWSSecurity Finding 格式 (ASFF)中的AWS Security Hub用户指南.

识别信息

SchemaVersion 始终为 2018-10-08

ProductArnARN 是AWS Security Hub分配给你。

Id是 Security Hub 用来索引发现的值。查找结果标识符必须是唯一的,以确保其他调查结果不会被覆盖。要更新调查结果,请使用相同标识符重新提交查找结果。

GeneratorId可以是一样的Id或者可以参考离散的逻辑单元,例如亚马逊GuardDuty探测器 ID,AWS Config记录器 ID 或 IAM 访问分析器 ID。

Title 和 Description

Title应包含有关受影响资源的一些信息。Title包括空格在内的长度限制为 256 个字符。

将更长的详细信息添加到Description.Description包括空格在内的长度限制为 1024 个字符。你可以考虑在描述中添加截断。示例如下:

"Title": "Instance i-12345678901 is vulnerable to CVE-2019-1234", "Description": "Instance i-12345678901 is vulnerable to CVE-2019-1234. This vulnerability affects version 1.0.1 of widget-1 and earlier, and can lead to buffer overflow when someone sends a ping.",

查找类型

您在中提供了查找类型信息FindingProviderFields.Types.

Types应该匹配ASFF 的类型分类.

如果需要,可以指定自定义分类器(第三个命名空间)。

时间戳

ASFF 格式包括几个不同的时间戳。

CreatedAtUpdatedAt

你必须提交CreatedAtUpdatedAt每次打电话BatchImportFindings对于每个发现。

这些值必须与 Python 3.8 中的 ISO8601 格式匹配。

datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
FirstObservedAtLastObservedAt

FirstObservedAtLastObservedAt系统观察到发现的时候必须匹配。如果您不记录此信息,则无需提交这些时间戳。

这些值与 Python 3.8 中的 ISO8601 格式匹配。

datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()

Severity

您可以在FindingProviderFields.Severity对象,其中包含以下字段。

Original

系统中的严重性值。Original可以是任意字符串,以容纳你使用的系统。

Label

查找严重性的所需 Security Hub 指示器。允许的值如下所示。

  • INFORMATIONAL— 未发现任何问题。

  • LOW— 问题不需要单独采取任何措施。

  • MEDIUM— 必须解决问题,但不是紧急的。

  • HIGH— 必须优先解决问题。

  • CRITICAL— 必须立即纠正问题,以防止进一步的伤害。

合规的调查结果应始终具有Label设置为INFORMATIONAL. 示例INFORMATIONAL调查结果是通过安全检查的结果和AWS Firewall Manager得到补救的调查结果。

客户经常按严重程度对发现进行排序,以便为安全运营团队提供待办事项清单。将查找严重性设置为时要保守HIGH要么CRITICAL.

您的集成文档必须包括映射的理由。

Remediation

Remediation有两个元素。这些元素组合在 Security Hub 控制台上。

Remediation.Recommendation.Text显示在补救措施查找细节的部分。它与的价值超链接Remediation.Recommendation.Url.

目前,只有来自 Security Hub 标准、IAM 访问分析器和 Firewall Manager 的调查结果显示有关如何修复发现的文档的超链接。

SourceUrl

只能使用SourceUrl是否可以为该特定发现提供一个深度链接的 URL 到控制台。否则,请从映射中省略它。

Security Hub 不支持来自此字段的超链接,但它显示在 Security Hub 控制台上。

Malware, Network, Process, ThreatIntelIndicators

如果适用,请使用MalwareNetworkProcess,或者ThreatIntelIndicators. 这些对象中的每个都在 Security Hub 控制台中公开。在您发送的查找结果的上下文中使用这些对象。

例如,如果您检测到与已知命令和控制节点建立出站连接的恶意软件,请在中提供 EC2 实例的详细信息Resource.Details.AwsEc2Instance. 提供相关的MalwareNetwork, 和ThreatIntelIndicatorEC2 实例的对象。

Malware

Malware是一个最多可接受五组恶意软件信息的列表。使恶意软件条目与资源和发现相关。

每个条目都包含以下字段。

Name

恶意软件的名称。值是最多 64 个字符的字符串。

Name应该来自经过审查的威胁情报或研究人员来源。

Path

通向恶意软件的路径。值是最多 512 个字符的字符串。Path应该是 Linux 或 Windows 系统文件路径,但以下情况除外。

  • 如果您根据 YARA 规则扫描 S3 存储桶或 EFS 共享中的对象,那么Path是 S3://或 HTTPS 对象路径。

  • 如果你扫描 Git 存储库中的文件,那么Path是 Git URL 或克隆路径。

State

恶意软件的状态。允许的值为OBSERVED| REMOVAL_FAILED|REMOVED.

在查找标题和描述中,确保提供恶意软件发生的情况的上下文。

例如,如果Malware.StateREMOVED,那么查找标题和描述应反映出您的产品删除了路径上的恶意软件。

如果Malware.StateOBSERVED,那么查找标题和描述应反映出您的产品遇到了位于路径上的此恶意软件。

Type

指示恶意软件的类型。允许的值为ADWARE|BLENDED_THREAT|BOTNET_AGENT|COIN_MINER|EXPLOIT_KIT|KEYLOGGER|MACRO|POTENTIALLY_UNWANTED|SPYWARE|RANSOMWARE|REMOTE_ACCESS|ROOTKIT|TROJAN|VIRUS|WORM.

如果你需要额外的价值Type,请联系 Security Hub 团队。

Network

Network是单个对象。不能添加多个与网络相关的详细信息 在映射字段时,请使用以下准则。

目的地和来源信息

目标和源很容易映射 TCP 或 VPC 流日志或 WAF 日志。当你描述网络信息以获得攻击的发现时,它们更难以使用。

通常,来源是攻击的起源,但它可能有下面列出的其他来源。你应该在文档中解释来源,并在查找标题和描述中对其进行描述。

  • 对于 EC2 实例的 DDoS 攻击,来源是攻击者,尽管真正的 DDoS 攻击可能会使用数百万台主机。目标是 EC2 实例的公有 IPv4 地址。Direction在。

  • 对于观察到从 EC2 实例与已知命令和控制节点进行通信的恶意软件,源是 EC2 实例的 IPV4 地址。目的地是命令和控制节点。DirectionOUT. 你还会提供MalwareThreatIntelIndicators.

Protocol

Protocol除非您可以提供特定协议,否则始终映射到互联网号码分配机构 (IANA) 的注册名称。你应该始终使用它并提供端口信息。

Protocol独立于来源和目的地信息。只有在有意义的时候才提供它。

Direction

Direction总是相对于AWS网络边界。

  • IN意味着它正在进入AWS(VPC、服务)。

  • OUT意味着它正在退出AWS网络边界。

Process

Process是单个对象。不能添加多个与流程相关的详细信息 在映射字段时,请使用以下准则。

Name

Name应与可执行文件的名称匹配。最多可接受 64 个字符。

Path

Path是进程可执行文件的文件系统路径。它最多可接受 512 个字符。

Pid, ParentPid

PidParentPid应与 Linux 进程标识符 (PID) 或 Windows 事件 ID 匹配。要区分,请使用 EC2 Amazon 系统映像 (AMI) 提供信息。客户可能可以区分 Windows 和 Linux。

时间戳 (LaunchedAtTerminatedAt

如果您无法可靠地检索此信息,并且不准确到毫秒,请不要提供它。

如果客户依赖时间戳进行取证调查,那么没有时间戳比具有错误的时间戳更好。

ThreatIntelIndicators

ThreatIntelIndicators接受最多包含 5 个威胁情报对象的数组。

对于每个条目,Type是在具体威胁的背景下。允许的值为DOMAIN|EMAIL_ADDRESS|HASH_MD5|HASH_SHA1|HASH_SHA256|HASH_SHA512|IPV4_ADDRESS|IPV6_ADDRESS|MUTEX|PROCESS|URL.

以下是一些如何映射威胁情报指标的示例:

  • 你发现了一个你知道与 Cobalt Strike 有关的过程。你从中学到了FireEye的博客。

    Type 设置为 PROCESS。还可以创建Process该进程的对象。

  • 您的邮件过滤器发现有人从已知恶意域发送了众所周知的哈希包。

    创建两个ThreatIntelIndicator对象。一个对象是用于DOMAIN. 另一个是用于HASH_SHA1.

  • 你发现了带有 Yara 规则的恶意软件(洛基、Fenrir、Ass3VirusScan、BinaryAlert)。

    创建两个ThreatIntelIndicator对象。其中一个是恶意软件。另一个是用于HASH_SHA1.

Resources

适用于Resources,尽可能使用我们提供的资源类型和详细信息字段。Security Hub 不断向 ASFF 添加新资源。要获取 ASFF 变更的月度日志,请联系.

如果您不能适合模型化资源类型的详细信息字段中的信息,请将其余详细信息映射到Details.Other.

对于 ASFF 中未建模的资源,请设置TypeOther. 有关详细信息,请使用Details.Other.

您也可以使用Other非-的资源类型AWS结果。

ProductFields

只能使用ProductFields如果你不能使用另一个策划的字段Resources或描述性对象,例如ThreatIntelIndicatorsNetwork,或者Malware.

如果你确实使用ProductFields,你必须为此决定提供严格的理由。

Compliance

只能使用Compliance如果你的调查结果与合规性有关。

Security Hub 使用Compliance因为它根据控件生成的调查结果。

Firewall Manager 使用Compliance因为它们与合规性有关。

受限的字段

这些字段旨在让客户跟踪他们对调查结果的调查。

不要映射到这些字段或对象。

  • Note

  • UserDefinedFields

  • VerificationState

  • Workflow

对于这些字段,请映射到位于FindingProviderFields对象。请勿映射到顶级字段。

  • Confidence— 如果您的服务具有类似的功能,或者如果您 100% 支持自己的发现,则仅包括信心评分(0-99)。

  • Criticality— 重要程度分数(0-99)旨在表达与调查结果相关的资源的重要性。

  • RelatedFindings— 只有在可以跟踪与同一资源或查找类型相关的调查结果时才提供相关的调查结果。要识别相关查找结果,您必须参考 Security Hub 中已存在的查找结果的查找标识符。