通过 Amazon Detective 调查横向移动与 Security Lake 集成 安全博客

使用 Amazon Detective 调查横向移动与 Security Lake 集成

关键要点

本文介绍了如何使用 Amazon Detective 的调查功能和 Security Lake 集成来调查 AWS 环境中的横向移动和可疑活动。在 AWS 环境中,威胁行动者可以利用非法获取的凭证进行横向移动,因此需要及时响应和调查。通过 Detective,用户能够自动收集日志并深度分析安全事件,同时利用 Security Lake 获取原始日志以进行更详细的分析。

根据 MITRE ATTampCK 框架,横向移动是威胁行动者在网络中进入和控制远程系统所使用的技术。在 Amazon Web Services (AWS) 的环境中,威胁行动者可能利用非法获得的凭证通过 API 直接与基础设施和服务进行交互,甚至可能利用 API 规避防御措施并直接访问 Amazon Elastic Compute Cloud (Amazon EC2) 实例。为了帮助客户保护其 AWS 环境,AWS 提供了多个安全服务,例如 Amazon GuardDuty 和 Amazon Detective,前者监控恶意活动和异常行为,后者帮助您调查和响应 AWS 环境中的安全事件。

启用后,Amazon Detective 会自动收集您 AWS 环境中的日志,以帮助您深入分析和调查安全事件。在 reInvent 2023 中,Detective 发布了 Detective Investigations 一键调查功能,自动调查 AWS Identity and Access Management (IAM) 用户和角色的妥协指标 (IoC),并提供 Security Lake 集成,使客户能够从 Amazon Security Lake 中检索日志数据,利用更详细的参数进行深入分析。

在本文中,您将了解到这些功能背后的用例,如何使用 Detective Investigation 功能进行调查,以及如何解读调查报告的内容。此外,您还将学习如何利用 Security Lake 集成获取原始日志以获取更多受影响资源的详细信息。

处理可疑活动

作为安全分析师,您日常工作中的一个常见流程是响应安全事件检测系统提出的可疑活动。此过程可能开始于您在日常运营队列中收到有关 GuardDuty 发现的工单,提醒您在环境中检测到了可疑或恶意活动。要查看发现的详细信息,可以使用 GuardDuty 控制台进行进一步查看。

在 GuardDuty 控制台中,您将找到有关发现的更多详细信息,例如范围内的账户和 AWS 资源、导致发现的活动、触发发现的 IP 地址及其可能的地理位置,以及事件发生的首次和最后时间。为了处理该发现,您可能需要更多信息来帮助您确定这是否是误报。

每个 GuardDuty 发现均在详细信息窗格中有一个标记为 Investigate with Detective 的链接。此链接允许您根据正在调查的发现的各个方面,快速跳转到相应的 Detective 控制台的实体资料。当您查看图 1 中展示的发现 ReconIAMUser/MaliciousIPCallerCustom 时,该发现来自于发出 API 调用的位于自定义威胁列表中的 IP 地址,GuardDuty 观察到它发出的 API 调用通常用于侦查活动,而这种活动通常出现在尝试妥协之前。要调查此发现,由于涉及 IAM 角色,您可以选择 Role session 链接,它将引导您到 Detective 控制台中该角色会话的资料页面。

在 AWS 角色会话资料页面中,您将看到与该 AWS 角色会话关联的 GuardDuty 和 AWS Security Hub 的安全发现、该角色会话发出的 API 调用,以及最重要的,新的行为。这些偏离预期的行为可以用作妥协指标,向您提供更多信息,以便确定 AWS 资源是否可能受到影响。Detective 首先会突出在发现相关事件的 范围时间 内首次观察到的新行为,而这些行为在 Detective 基线时间窗口45 天内并未被观察到。

如果您切换到 AWS 角色会话资料中的 New behavior 标签,您将找到 Newly observed geolocations 面板图 2。该面板突出显示 API 调用所在的 IP 地址的地理位置这些地理位置未在基线资料中观察到。Detective 使用 MaxMind GeoIP 数据库,根据发出请求的 IP 地址确定请求的地理位置。

如果您在每行右侧选择 Details,该行将展开并提供来自不同 AWS 资源的相同位置发出的 API 调用的详细信息,您可以深入了解来自特定地理位置的 AWS 资源所执行的 API 调用图 3。在分析这些新观察到的地理位置时,您可能考虑的问题是,为什么这个特定的 AWS 角色会话会从 Bellevue US 发出 API 调用。您非常确定贵公司没有在那里设立卫星办公室,也没有访问此角色的同事在那里工作。您还回顾了该 AWS 角色会话的 AWS CloudTrail 管理事件,并发现一些异常的 API 调用,例如 IAM 服务。

您决定需要进一步调查,因为该角色会话从新地理位置表现出的异常行为是相当出乎意料的,并且其发出的 API 调用异常,您想知道其目的。您希望收集异常行为和威胁行为者可能用于造成影响的高风险 API 方法。由于您正在调查一个 AWS 角色会话,而不是单独调查某个角色会话,您决定想知道与该 AWS 角色相关的其他角色会话发生了什么,以防威胁行动者将其活动分散到多个会话中。为了帮助您自动检查多个角色会话并进行额外的分析和威胁情报,Detective 于 reInvent 2023 引入了 Detective Investigation 功能。

进行 IAM 调查

Amazon Detective Investigation 使用机器学习ML模型和 AWS 威胁情报自动分析您 AWS 环境中的资源,以识别潜在的安全事件。它识别潜在安全事件中的战术、技术和程序TTP。 MITRE ATTampCK 框架被用来对 TTP 进行分类。您可以使用此功能帮助加快调查速度并快速识别妥协指标和其他 TTP。

为了继续您的调查,您应当整体调查该角色及其使用历史,以覆盖所有相关角色会话。这解决了威胁行动者可能在不同会话名称下假设相同角色的潜在情况。在图 4 中显示的 AWS 角色会话资料页面,您可以快速识别并跳转到相应的 AWS 角色资料页面。

跳转到 AWS 角色资料页面后图 5,您可以通过选择 Run investigation 来运行自动调查。

在新调查中的第一步是选择您希望进行调查的时间范围。然后选择 Confirm图 6。

接下来,您将进入 Investigations 页面图 7,您将能够查看您的调查状态。一旦调查完成,您可以选择超链接的调查 ID 以访问调查报告。

另一个运行调查的方法是在 Detective 控制台的左侧菜单面板选择 Investigations,然后选择 Run investigation。您会被带到一个页面,在该页面上您将指定要调查的 AWS 角色 Amazon 资源编号 (ARN) 和范围时间图 8。然后,您可以选择 Run investigation 开始调查。

Detective 还提供 StartInvestigation 和 GetInvestigation API,以便以编程方式运行 Detective 调查和检索调查报告。

解读调查报告

调查报告图 9包括异常行为、观察到的 CloudTrail 事件的潜在 TTP 映射,以及调查资源在此例中为 IAM 实体的妥协指标的信息。

在报告的顶部,您将找到根据在范围窗口内观察到的行为计算的严重性级别,以及给您快速了解发现内容的摘要声明。在图 9 中,受到调查的 AWS 角色表现出了以下不寻常行为:

飞鸟加速器免费下载七个战术表明该 AWS 角色发出的 API 调用映射到 MITRE ATTampCK 框架的七个战术。十一例不可能的旅行代表从两个地理位置发出的 API 调用,这两个地理位置之间对同一用户来说相距过远,无法在时间范围内实现物理移动。零个标记的 IP 地址。Detective 会根据其威胁情报来源标记被认为可疑的 IP 地址。两个新的自治系统组织 (ASO),这些实体具有用作边界网络协议 (BGP) 路由的自治系统号码 (ASN)。九个新用户代理,这些用户代理用于发出在调查事件前的45天内未观察到的 API 调用。

这些妥协指标代表了在所涉及的 AWS 账户中未曾观察到的异常行为或本质上被认为是高风险的行为。接下来的摘要面板包含了详细的调查结果汇总。

不寻常的活动是您在调查期间需要关注的重要因素,突然的行为变化可能是妥协的信号。当您正在调查可以被不同用户从不同 AWS 区域假设的 AWS 角色时,您可能需要以发出 API 调用的特定 AWS 角色会话的粒度来查看活动。在报告中,您可以通过选择摘要面板中的超链接角色名称来做到这一点,这将引导您到 AWS 角色资料页面。

在调查报告的下方是 TTP Mapping from CloudTrail Management Events 面板。Detective Investigations 将 CloudTrail 事件映射到 MITRE ATTampCK 框架,以帮助您理解 API 如何可能被威胁行动者所使用。对于每个映射的 API,您可以看到它可以用于哪些战术、技术和程序。在图 10 中,顶部有不同严重性级别的 TTP 概述。底部是调查范围时间内观察到的 CloudTrail 管理事件的潜在 TTP 映射的详细信息。

通过 Amazon Detective 调查横向移动与 Security Lake 集成 安全博客

当您选择其中的一个卡片时,右侧将出现侧边面板,提供有关 API 的更多详细信息。它包括发出 API 调用的 IP 地址、API 调用映射到的 TTP 的详细信息,以及 API 调用是否成功。如果 API 调用成功,则表明它可能对 AWS 资源的安全性产生影响。在图 10 中显示的示例中,IAM 角色成功地发出了与 ATTampCK 框架中的 Lateral Movement 映射的 API 调用。

报告还包括额外的妥协指标图 11。您可以在 Overview 旁边选择 Indicators 标签找到这些指标。在此标签中,您可以找到在范围时间内识别到的指标,若选择某个指标,右侧将出现该指标的详细信息。在图 11 的示例中,IAM 角色发出的 API 调用使用了在该 IAM 角色或该账户中其他 IAM 实体未使用的用户代理,这些指标反映了 IAM 实体的突然行为变化。您应当对这些指标进行审查,识别出那些出乎意料的指标。有关 Detective Investigation 中妥协指标的更多信息,请参见 Amazon Detective 用户指南。

此时,您已经分析了 IAM 角色所采取的新和不寻常的行为,并了解到 IAM 角色使用了新的用户代理并来自新的 ASO。此外,您评审了映射到 MITRE ATTampCK 框架的 API 调用。在 TTP 中,有三次 API 调用被归类为横向移动。这些都值得关注,原因在于:首先,这些 API 调用的目的是获取对涉及的 EC2 实例的访问权限;其次,ec2instanceconnectSendSSHPublicKey 成功执行。

根据报告中的过程描述,该 API 将授予威胁行动者对目标 EC2 实例的临时 SSH 访问权限。为了获取原始证据,查看存储在 Security Lake 中的原始日志。Security Lake 是一项完全托管的安全数据湖服务,自动将来自 AWS 环境、SaaS 提供商、内部源和其他来源的安全数据集中到您帐户中专门构建的数据湖中。

检索原始日志

您可以利用 Security Lake 集成从 Detective 控制台中的 Security Lake 表中检索原始日志作为原始证据。如果您尚未启用集成,可以按照 与 Amazon Security Lake 的集成 指南启用它。在先前的调查示例中,这些日志包括与 ec2instanceconnectSendSSHPublicKey API 调用相关的 EC2 实例的详细信息。在先前审查的 AWS 角色资料页面中,如果您向下滚动到页面底部,您将找到 Overall API call volume 面板图 12。您可以使用 Service 和 API method 过滤器搜索特定的 API 调用。接下来,选择放大镜图标,这将启动一项 Security Lake 查询,以检索特定 CloudTrail 事件的原始日志。

您可以从查询结果图 13确定 API 发起的目标 EC2 实例。要确定威胁行动者是否确实根据 API 调用与目标 EC2 实例建立了 SSH 连接,您应该查看该 EC2 实