行为图数据结构概述 - Amazon Detective

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

行为图数据结构概述

行为图数据结构定义了提取和分析数据的结构。它还定义了如何将源数据映射到行为图。

行为图数据结构中的元素类型

行为图数据结构由以下信息元素组成。

实体

实体表示从 Detective 源数据中提取的项目。

每个实体都有一个类型,用来标识它所代表的对象类型。实体类型的示例包括 IP 地址、Amazon EC2 实例和 AWS 用户。

对于每个实体,源数据也用于填充实体属性。属性值可以直接从源记录中提取,也可以跨多个记录中汇总。

某些属性由单个标量值或集合值组成。例如,对于一个 EC2实例,Detective 会跟踪实例的类型和处理的总字节数。

时间序列属性可追踪一段时间内的活动。例如,Detect EC2 ive 会随着时间的推移跟踪其使用的唯一端口。

关系

关系表示各个实体之间发生的活动。关系也是从 Detective 源数据中提取的。

与实体类似,关系也有一个类型,用于标识所涉及的实体类型和连接方向。关系类型的一个示例是连接到 EC2 实例的 IP 地址。

对于每个单独的关系,例如连接到特定实例的特定 IP 地址,Detective 会跟踪一段时间内的发生情况。

行为图数据结构中的实体类型

行为图数据结构由执行以下操作的实体和关系类型组成:

  • 跟踪正在使用的服务器、IP 地址和用户代理

  • 跟踪正在使用的 AWS 用户、角色和帐户

  • 跟踪 AWS 环境中的网络连接和授权情况

行为图数据结构包含以下实体类型。

AWS 账户

AWS Detective 源数据中存在的帐户。

对于每个账户,Detective 都会回答几个问题:

  • 该账户使用了哪些 API 调用?

  • 该账户使用了哪些用户代理?

  • 该账户使用了哪些自治系统组织 (ASOs)?

  • 该账户在哪些地理位置处于活跃状态?

AWS 角色

AWS 存在于 Detective 源数据中的角色。

对于每个角色,Detective 都会回答几个问题:

  • 该角色使用了哪些 API 调用?

  • 该角色使用了哪些用户代理?

  • 这个角色使用 ASOs 了什么?

  • 该角色在哪些地理位置处于活跃状态?

  • 哪些资源代入了该角色?

  • 该角色扮代入了哪些角色?

  • 该角色涉及哪些角色环节?

AWS 用户

AWS 存在于 Detective 源数据中的用户。

对于每个用户,Detective 都会回答几个问题:

  • 该用户使用了哪些 API 调用?

  • 该用户使用了哪些用户代理?

  • 该用户在哪些地理位置处于活跃状态?

  • 该用户代入了哪些角色?

  • 该用户涉及哪些角色环节?

联合用户

联合用户的实例。联合用户的示例包括:

  • 使用安全断言标记语言 (SAML) 登录的身份

  • 使用网络身份联合验证登录的身份

对于每位联合用户,Detective 都会回答以下问题:

  • 该联合用户是通过哪个身份提供商进行身份验证的?

  • 该联合用户的受众有哪些? 受众可以识别请求联合用户的网络身份令牌的应用程序。

  • 该联合用户在哪些地理位置处于活跃状态?

  • 该联合用户使用了哪些用户代理?

  • 联合用户使用 ASOs 了什么?

  • 该联合用户代入了哪些角色?

  • 该联合用户涉及哪些角色环节?

EC2 实例

EC2 Detective 源数据中存在的实例。

例如, EC2 Detective 回答了几个问题:

  • 哪些 IP 地址与实例进行了通信?

  • 使用了哪些端口与实例通信?

  • 从实例发送和接收的数据量是多少?

  • 哪个 VPC 包含该实例?

  • 该 EC2 实例使用了哪些 API 调用?

  • 该 EC2 实例使用了哪些用户代理?

  • 该 EC2 实例使用 ASOs 了什么?

  • 该 EC2 实例在哪些地理位置处于活动状态?

  • 该 EC2 实例扮演了什么角色?

角色会话

代入角色的资源的实例。每个角色会话都由角色标识符和会话名称标识。

对于每个角色,Detective 都会回答几个问题:

  • 该角色会议涉及哪些资源? 换句话说,代入了什么角色,什么资源代入了该角色?

    请注意,对于跨账户的角色代入,Detective 无法识别代入该角色的资源。

  • 该角色会话使用了哪些 API 调用?

  • 该角色会话使用了哪些用户代理?

  • 角色会话使用 ASOs 了什么?

  • 该角色会话在哪些地理位置处于活跃状态?

  • 哪个用户或角色开始了该角色会话?

  • 哪些角色会话是从该角色会话开始的?

调查发现

亚马逊发现的调查结果 GuardDuty 已输入到Detective的源数据中。

对于每项调查发现,Detective 都会跟踪调查发现类型、来源和调查发现活动的时间窗口。

它还会存储与调查发现有关的特定信息,例如检测到的活动中涉及的角色或 IP 地址。

IP 地址

Detective 源数据中存在的 IP 地址。

对于每个 IP 地址,Detective 都会回答几个问题:

  • 地址使用了哪些 API 调用?

  • 地址使用了哪些端口?

  • 哪些用户和用户代理使用了 IP 地址?

  • IP 地址在哪些地理位置处于活跃状态?

  • 此 IP 地址已分配给哪些 EC2 实例并与哪些实例通信?

S3 bucket

Detective 源数据中的 S3 存储桶。

对于每个 S3 存储桶,Detective 都会回答以下问题:

  • 哪些主体与 S3 存储桶进行了交互?

  • 对 S3 存储桶进行了哪些 API 调用?

  • 主体从哪些地理位置对 S3 存储桶进行了 API 调用?

  • 使用了哪些用户代理与 S3 存储桶进行交互?

  • 用来 ASOs 与 S3 存储桶交互的是什么?

可以删除 S3 存储桶,然后使用相同名称创建新的存储桶。由于 Detective 使用 S3 存储桶名称来标识 S3 存储桶,因此它将这些存储桶视为单个 S3 存储桶实体。在实体配置文件中,创建时间是第一次创建时间。删除时间是最近的删除时间。

要查看所有创建和删除事件,请将范围时间设置为以创建时间开始,以删除时间结束。在 API 调用总量配置文件面板上,显示范围时间的活动详细信息。筛选要显示 CreateDelete 方法的 API 方法。请参阅API 调用总量的活动详细信息

用户代理

Detective 源数据中存在的用户代理。

对于每个用户代理,Detective 都会回答以下问题:

  • 用户代理使用了哪些 API 调用?

  • 哪些用户和角色使用了用户代理?

  • 哪些 IP 地址使用了用户代理?

EKS 集群

Detective 源数据中存在的 EKS 集群。

注意

要查看该实体类型的完整详细信息,必须启用可选的 EKS 审计日志数据来源。有关更多信息,请参阅可选数据来源

对于每个 EKS 集群,Detective 都会回答以下问题:

  • 在该集群中运行了哪些 Kubernetes API 调用?

  • 此集群中有哪些 Kubernetes 用户和服务账号(主体)处于活跃状态?

  • 此集群中启动了哪些容器?

  • 使用哪些映像来启动该群集中的容器?

Kubernetes 容器组(pod)

Detective 源数据中存在的 Kubernetes 容器组(pod)。

注意

要查看该实体类型的完整详细信息,必须启用可选的 EKS 审计日志数据来源。有关更多信息,请参阅可选数据来源

对于每个容器组(pod),Detective 都会回答以下问题:

  • 该容器组(pod)中的哪些容器映像在我的账户中很常见?

  • 针对该容器组(pod)有哪些活动?

  • 该容器组(pod)中运行了哪些容器?

  • 该容器组(pod)中容器的注册表在我的账户中是否常见?

  • 工作负载的其他容器组(pod)中还运行着哪些容器?

  • 该容器组(pod)中是否有工作负载的其他容器组(pod)中没有的异常容器?

容器映像

Detective 源数据中存在的容器映像。

注意

要查看该实体类型的完整详细信息,必须启用可选的 EKS 审计日志数据来源。有关更多信息,请参阅可选数据来源

对于每个容器映像,Detective 都会回答以下问题:

  • 我的环境中有哪些其他映像与此映像共享相同的存储库或注册表?

  • 我的环境中正在运行该映像的多少副本?

Kubernetes 主题

Detective 源数据中存在的 Kubernetes 主题。Kubernetes 主题是用户或服务账户。

注意

要查看该实体类型的完整详细信息,必须启用可选的 EKS 审计日志数据来源。有关更多信息,请参阅可选数据来源

对于每个主题,Detective 都会回答以下问题:

  • 哪些 IAM 主体已验证为该主题?

  • 哪些调查发现与该主题相关联?

  • 该主题使用的是哪些 IP 地址?