针对存储在 Amazon S3 中的数据的勒索软件事件剖析

在过去几年中,勒索软件事件显著增加,引起了全世界的关注。传统的勒索软件事件主要影响基础架构资源,例如服务器、数据库和连接的文件系统。但是,还有一些你可能不太熟悉的非传统事件,例如针对存储在 亚马逊简单存储服务(Amazon S3) 中的数据的勒索软件事件。您可以采取一些重要步骤来帮助防止这些事件,并尽早发现可能的勒索软件事件,以便您可以采取措施进行恢复。这篇文章的目的是帮助您了解可用于防范环境中的勒索软件事件的 亚马逊云科技 服务和功能,并调查可能发生的勒索软件事件。

勒索软件 是一种恶意软件,不良行为者可以使用它来向实体勒索金钱。行为者可以使用一系列策略未经授权地访问目标的数据和系统,包括但不限于利用未修补的软件缺陷、滥用薄弱的凭证或先前意外泄露的凭证,以及使用社会工程学。在勒索软件事件中,合法实体对其数据和系统的访问受到不良行为者的限制,并要求安全归还这些数字资产。参与者使用多种方法来限制或禁用对资源的授权访问,包括 a) 加密或删除、b) 修改访问控制以及 c) 基于网络的拒绝服务 (DoS) 攻击。在某些情况下,通过提供加密密钥或将数据传回来恢复目标的数据访问权限后,拥有数据副本的不良行为者会要求第二笔赎金——承诺不会为了出售或公开发布数据而保留数据。

在下一节中,我们将描述您在 Amazon S3 中响应勒索软件事件的几个重要阶段,包括检测、响应、恢复和保护。

可观察的活动

根据 亚马逊云科技客户事件响应小组 (CIRT) 的观察,导致针对 Amazon S3 中数据的勒索软件事件的最常见事件是 身份和访问管理 ( IAM) 访问 密钥的意外泄露。 另一个可能的原因是,如果应用程序存在软件缺陷,该应用程序托管在具有附加的 IAM 实例配置文件和相关权限的 亚马逊弹性计算云 (Amazon EC2) 实例上,并且该实例使用的是 实例元数据服务版本 1 (IMDSv 1)。 在这种情况下,未经授权的用户可能能够使用您的 EC2 实例的 IAM 实例配置文件 中的 AW S 安全令牌服务 (亚马逊云科技 STS) 会话密钥 来勒索 S3 存储桶中的对象。在这篇文章中,我们将重点介绍最常见的情况,即意外泄露静态 IAM 访问密钥。

检测

不良行为者获得证书后,他们使用迭代的 亚马逊云科技 API 操作来发现暴露的 IAM 委托 人获得的访问权限类型。不良行为者可以通过多种方式做到这一点,这可能会产生不同的活动水平。此活动可能会提醒您的安全团队,因为会导致错误的 API 调用增加。其他时候,如果不良行为者的目标是勒索 S3 对象,那么 API 调用将特定于 Amazon S3。 如果允许通过公开的 IAM 委托人访问亚马逊 S3,那么您可能会看到 s3: Li stBuckets、s3: getBucketLocation、s3: getBucketPolicy 和 s3: GetBuck et Ac l 等 API 操作有所增加。

分析

在本节中,我们将描述在哪里可以找到日志和指标数据,以帮助您更详细地分析此类勒索软件事件。

当勒索软件事件针对存储在 Amazon S3 中的数据时,存储在 S3 存储桶中的对象通常会被删除,而恶意行为者无需进行复制。这更像是数据销毁事件,而不是加密对象的勒索软件事件。

有几条日志可以捕获此活动。您可以 为 Amazon S3 数据 启用 亚马逊云科技 CloudTrail 事件 日志 ,这使您可以查看活动日志以了解对特定对象执行的读取和删除操作。

此外,如果您在勒索软件事件 之前启用了 Amazon S3 的 Amazon CloudWatch 指标 ,则可以使用 Bytes Downloaded 指标的总和来深入了解异常的传输峰值。

获取信息的另一种方法是使用 区域数据传输输出字节 指标,该指标显示从 Amazon S3 传输 到互联网的数据量。该指标默认处于启用状态,与您的 Amazon S3 账单和使用情况报告相关联。

有关更多信息,请参阅 亚马逊云科技 CIRT 团队 的事件响应手册:S3 勒索响应 ,以及 亚马逊云科技 客户手册 GitHub 存储库中提供的其他公开响应框架。

回应

接下来,我们将介绍如何应对 IAM 访问密钥的意外泄露。根据业务影响,您可以决定创建第二组访问密钥来替换这些证书的所有合法用途,这样,当您停用泄露的访问密钥时,合法系统就不会中断。您可以使用 IAM 控制台或通过事件响应计划中定义的自动化来停用访问密钥。但是,您还需要在安全和私密的事件响应文件中记录该事件的具体细节,以便将来可以参考。如果活动与使用 IAM 角色或临时证书有关,则您需要采取额外步骤并 撤消所有活动会话 。为此,您可以在 IAM 控制台中选择 “ 撤消活动会话 ” 按钮,该按钮将附加一项策略,拒绝在此之前担任该角色的用户进行访问。然后,您可以删除暴露的访问密钥。

此外,您可以使用 亚马逊云科技 CloudTrail 控制面板和事件历史记录(包括 90 天的日志)来查看该受损的 IAM 用户或角色与 IAM 相关的活动。您的分析可以显示潜在的持续访问权限可能是由不良行为者创建的。此外,您可以使用 IAM 控制台查看 IAM 证书报告(此报告每 4 小时更新一次),以查看上次使用的访问密钥、用户创建时间和上次使用密码等活动。或者,你可以使用 亚马逊 Athena 查询 CloudTrail 日志 以 获取相同的信息。请参阅以下 Athena 查询示例,该查询将使用 IAM 用户亚马逊资源编号 (ARN) 来显示特定时间段内的活动。

SELECT eventtime, eventname, awsregion, sourceipaddress, useragent
FROM cloudtrail
WHERE useridentity.arn = 'arn:aws:iam::1234567890:user/Name' AND
-- Enter timeframe
(event_date >= '2022/08/04' AND event_date <= '2022/11/04')
ORDER BY eventtime ASC

恢复

删除不良行为者的访问权限后,您可以通过多种方式恢复数据,我们将在以下各节中对此进行讨论。请记住,Amazon S3 目前 没有恢复删除 功能,而且 亚马逊云科技 无法在执行删除操作后恢复数据。此外,许多恢复选项都需要在创建存储分区时进行配置。

S3 版本控制

在 S3 存储桶中使用版本控制是一种将对象的多个版本保存在同一个存储桶中的方法,这使您能够在恢复过程中恢复特定版本。您可以使用 S3 版本控制 功能来保存、检索和恢复存储在存储桶中的每个对象的每个版本。通过版本控制,您可以更轻松地从非预期的用户操作和应用程序故障中恢复。启用版本控制的存储桶可以帮助您从意外删除或覆盖中恢复对象。例如,如果您删除一个对象,Amazon S3 会插入一个删除标记,而不是永久移除该对象。先前的版本保留在存储桶中并成为非当前版本。你可以恢复以前的版本。默认情况下,版本控制未启用,并且会产生额外费用,因为您要维护同一个对象的多个副本。有关成本的更多信息,请参阅 Amazon S3 定价 页面。

亚马逊云科技 Backup

使用 亚马逊云科技 Backup 可以 让您在不同的访问凭证下创建和维护 S3 数据的单独副本,这些副本可用于在恢复过程中恢复数据。亚马逊云科技 Backup 为多项 亚马逊云科技 服务提供集中备份,因此您可以在一个位置管理备份。亚马逊云科技 Backup for Amazon S3 为您提供了两个选项: 连续备份 ,允许您恢复到过去 35 天内的任何时间点;以及 定期备份 ,允许您在指定时长(包括无限期)内保留数据。有关更多信息,请参阅 使用适用于 Amazon S3 的 亚马逊云科技 Backup

保护

在本节中,我们将介绍 亚马逊云科技 中可用的一些预防性安全控制措施。

S3 对象锁

通过 为 S3 存储桶启用 S3 对象锁定,您可以添加另一层保护,防止对象 更改和删除。使用 S3 对象锁定,您可以使用一次写入多次读取 (WORM) 模型存储对象,并有助于防止对象在固定或无限期内被删除或覆盖。

亚马逊云科技 Backup 保管库锁

与为 S3 对象添加额外保护的 S3 对象锁定类似,如果您使用 亚马逊云科技 Backup,则可以考虑启用 亚马逊云科技 Backup 文件库锁定 ,这会对您在备份库中存储和创建的所有备份强制使用相同的 WORM 设置。亚马逊云科技 Backup Vault Lock 可帮助您防止 亚马逊云科技 账户根用户的无意中或恶意删除操作。

亚马逊 S3 库存

为确保您的组织了解存储在 Amazon S3 中的对象的敏感性,您应该清点 Amazon S3 中最关键和最敏感的数据,并确保采用适当的存储桶配置来保护和支持数据恢复。您可以使用 Amazon S3 清单 来了解您的 S3 存储桶中有哪些对象以及现有配置,包括加密状态、复制状态和对象锁定信息。您可以使用资源 标签 来标记 Amazon S3 中对象的分类和所有者,并采取自动操作并应用与特定 S3 存储桶中存储的对象的敏感度相匹配的控制。

MFA 删除

您可以使用的另一种预防性控制措施是在 S3 版本控制 中强制 删除 多因素身份验证 (MFA) 。通过要求发起删除操作的用户使用 MFA 代码证明实际或虚拟拥有 MFA 设备,MFA 删除可提高安全性,并有助于防止意外删除存储桶。这为删除操作增加了额外的摩擦力和安全性。

使用 IAM 角色获取短期证书

由于许多勒索软件事件源于静态 IAM 访问密钥的意外泄露,因此 亚马逊云科技 建议您使用提供短期证书的 IAM 角色,而不是使用长期 IAM 访问密钥。这包括 为正在访问 亚马逊云科技 的开发人员使用 联合 身份验证 、使用 IAM 角色进行系统间访问,以及使用 IA M Roles Anywhere 进行混合访问。对于大多数用例,您无需使用静态密钥或长期访问密钥。现在是审计和努力消除环境中使用此类密钥的好时机。考虑采取以下步骤:

  1. 为您的所有 亚马逊云科技 账户创建清单,确定 IAM 用户、证书上次轮换和上次使用的时间以及附加的策略。
  2. 禁用和删除所有 亚马逊云科技 账户根访问密钥。
  3. 轮换证书并将 MFA 应用于用户。
  4. 重新架构以利用基于角色的临时访问权限,例如 IAM 角色或 IAM 角色随处可见。
  5. 查看随附的政策,确保您强制使用最低权限访问权限,包括从策略中删除通配符。

使用客户管理的 KMS 密钥进行服务器端加密

您可以使用的另一种保护措施是使用 亚马逊云科技 密钥管理服务 (SSE-KMS) 实施 服务器端加密 , 并使用 客户管理的密钥 来加密您的 S3 对象。使用客户管理的密钥需要您对谁可以加密和解密存储桶中的数据应用特定的密钥策略,这为保护您的数据提供了额外的访问控制机制。您还可以集中管理 亚马逊云科技 KMS 密钥并通过对密钥使用时间和使用者的审计记录来审计其使用情况。

亚马逊 S3 的 GuardDuty 保护

你可以在 Amazon Guard Duty 中启用亚马逊 S3 保护 。借助 S3 保护,GuardDuty 可以监控对象级 API 操作,以识别 S3 存储桶中数据的潜在安全风险。这包括与异常 API 活动相关的发现以及与您在 Amazon S3 中的数据相关的异常行为,可以帮助您尽早识别安全事件。

结论

在这篇文章中,您了解了针对存储在 Amazon S3 中的数据的勒索软件事件。通过采取主动措施,您可以快速识别潜在的勒索软件事件,并且可以采取额外的保护措施来帮助您将来降低此类安全事件的风险。


如果您对这篇文章有反馈,请在下面的 评论 部分提交评论。如果您对这篇文章有疑问,请在 re : Post 上开始一个关于 安全、身份与合规 的新话题 或 联系 亚马逊云科技 S upport。

想了解更多 亚马逊云科技 安全新闻?在 推特 上关注我们 。

Author

Megan O'N eil

Megan 是一名首席专业解决方案架构师,专注于威胁检测和事件响应。Megan 和她的团队使 亚马逊云科技 客户能够实施复杂、可扩展和安全的解决方案来解决他们的业务挑战。

Karthik Ram

Karthik Ram

Karthik 是总部位于俄亥俄州哥伦布市的亚马逊网络服务的高级解决方案架构师。他拥有 IT 网络、基础设施架构和安全方面的背景。在 亚马逊云科技,Karthik 帮助客户构建安全和创新的云解决方案,使用数据驱动的方法解决他们的业务问题。Karthik 的深度领域是云安全,重点是威胁检测和事件响应 (TDIR)。

Kyle Dickinson

凯尔·狄金森

凯尔是一位高级安全解决方案架构师,专门从事威胁检测和事件响应。他专注于与客户合作,自信地应对安全事件。他还主持直播安全节目《亚马逊云科技 on Air:Lockdown》。当他不在时,他喜欢曲棍球、烧烤,并努力说服他的 Shitzu 他其实不是一只大狗。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。