亚马逊AWS官方博客

适用于 Amazon S3 的 Amazon GuardDuty 恶意软件防护简介

今天,我们宣布适用于 Amazon Simple Storage Service(Amazon S3)的 Amazon GuardDuty 恶意软件防护正式上线,这是对 GuardDuty 恶意软件防护的扩展,用于检测上传到选定 S3 存储桶的恶意文件。以前,GuardDuty 恶意软件防护提供无代理扫描功能,用于识别连接到 Amazon Elastic Compute Cloud(Amazon EC2)和容器工作负载的 Amazon Elastic Block Store(Amazon EBS)卷上的恶意文件。

现在,您可以持续评估上传到 S3 存储桶的新对象中是否存在恶意软件,并采取措施以隔离或清除所发现的任何恶意软件。Amazon GuardDuty 恶意软件防护使用多个由 Amazon Web Services(AWS)开发且在行业中处于领先地位的第三方恶意软件扫描引擎,在提供恶意软件检测的同时不会影响 Amazon S3 的规模、延迟和灵活性。

借助适用于 Amazon S3 的 GuardDuty 恶意软件防护,您可以在指定的 S3 存储桶上使用内置的恶意软件和防病毒保护,这有助于消除与大规模恶意文件自动化评估操作相关的操作复杂性和成本开销。与许多用于恶意软件分析的现有工具不同,GuardDuty 提供的这种托管解决方案不需要您在要执行恶意软件分析的每个 AWS 账户和 AWS 区域中管理自己的隔离数据管道或计算基础设施。

您的开发和安全团队可以一起协作,在整个组织中为特定存储桶配置和监督恶意软件防护,在这些存储桶中,需要扫描从不可信实体新上传的数据以查找是否存在恶意软件。您可以在 GuardDuty 中配置扫描后操作(例如对象标记)以通知下游处理,或者使用通过 Amazon EventBridge 提供的扫描状态信息来实现对恶意上传对象的隔离。

S3 存储桶的 GuardDuty 恶意软件防护入门
首先,在 GuardDuty 控制台中,选择适用于 S3 的恶意软件防护,然后选择启用

输入 S3 存储桶名称,或选择浏览 S3,从属于当前所选区域的存储桶列表中选择 S3 存储桶名称。当您希望 GuardDuty 扫描所选存储桶中所有新上传的对象时,可以选择 S3 存储桶中的所有对象。或者,当您要扫描新上传的属于特定前缀的对象时,也可以选择以特定前缀开头的对象

扫描新上传的 S3 对象后,GuardDuty 可以添加预定义标签,其键为 GuardDutyMalwareScanStatus,值为扫描状态:

  • NO_THREATS_FOUND – 在扫描的对象中未发现威胁。
  • THREATS_FOUND – 扫描期间检测到潜在威胁。
  • UNSUPPORTED – GuardDuty 由于大小问题无法扫描此对象。
  • ACCESS_DENIED – GuardDuty 无法访问对象。检查权限。
  • FAILED – GuardDuty 无法扫描对象。

当您希望 GuardDuty 向已扫描的 S3 对象添加标签时,请选择标记对象。如果您使用标签,则可以创建策略来防止在恶意软件扫描完成之前访问对象,并防止您的应用程序访问恶意对象。

现在,您必须首先创建并附加一个包含所需权限的 AWS Identity and Access Management(IAM)角色:

  • 用于创建和管理 EventBridge 托管规则的 EventBridge 操作,以便适用于 S3 的恶意软件防护可以监听您的 S3 事件通知
  • 针对该存储桶中的所有事件向 EventBridge 发送 S3 事件通知的 Amazon S3 和 EventBridge 操作。
  • 访问上传的 S3 对象并为已扫描的 S3 对象添加预定义标签的 Amazon S3 操作。
  • 使用支持的 DSSE-KMS 和 SSE-KMS 在扫描测试对象并将测试对象放入存储桶之前访问对象的 AWS Key Management Service(AWS KMS)关键操作

要添加这些权限,请选择查看权限并复制策略模板和信任关系模板。这些模板包含占位符值,您应将其替换为与您的存储桶和 AWS 账户关联的相应值。您还应替换 AWS KMS 密钥 ID 的占位符值。

现在,选择附加权限,这将在新选项卡中打开 IAM 控制台。您可以选择创建新的 IAM 角色,或使用所复制模板中的权限更新现有 IAM 角色。如果您想提前创建或更新您的 IAM 角色,请访问 AWS 文档中的先决条件:添加 IAM PassRole 策略

最后,返回到打开了 IAM 控制台的 GuardDuty 浏览器选项卡,选择您已创建或更新的 IAM 角色,然后选择启用

现在,您将在此受保护存储桶的防护状态列中看到处于活动状态

选择查看所有 S3 恶意软件调查发现以查看所生成的与已扫描的 S3 存储桶相关的 GuardDuty 调查发现。如果您看到调查发现类型 S3Object:S3/MaliciousFile,则 GuardDuty 已将列出的 S3 对象检测为恶意对象。在调查发现详细信息面板中选择检测到的威胁部分,然后按照建议的补救步骤进行操作。要了解更多信息,请访问 AWS 文档中的修复适用于 S3 的恶意软件防护调查发现

注意事项
即使您的 AWS 账户未启用 GuardDuty,您也可以为 S3 存储桶设置 GuardDuty 恶意软件防护。但是,如果在账户中启用 GuardDuty,则可以使用对基础源的全面监控,例如 AWS CloudTrail 管理事件、Amazon Virtual Private Cloud(Amazon VPC)流日志和 DNS 查询日志,以及恶意软件防护功能。您也可以将安全调查发现发送到 AWS Security HubAmazon Detective 进行进一步调查。

GuardDuty 可以扫描属于以下同步 Amazon S3 存储类别的文件:S3 Standard、S3 Intelligent-Tiering、S3 Standard-IA、S3 One Zone-IA 和 Amazon S3 Glacier Instant Retrieval。它将扫描已知用于传播或包含恶意软件的文件格式。发布时,该功能支持最大 5 GB 的文件大小,包括最多 5 个级别的存档文件,解压缩后每级 1000 个文件。

正如我所说,对于每个受保护的 S3 存储桶,GuardDuty 会将扫描指标发送到您的 EventBridge。您可以设置警报并定义扫描后操作,例如标记对象或将恶意对象移至隔离存储桶。要详细了解其他监控选项,例如 Amazon CloudWatch 指标和 S3 对象标记,请访问 AWS 文档中的监控恶意软件扫描状态

现已推出
适用于 Amazon S3 的 Amazon GuardDuty 恶意软件防护现已在提供 GuardDuty 的所有 AWS 区域正式推出,不包括中国区域和 GovCloud(美国)区域。

定价基于所扫描对象的 GB 量和每月评估的对象数量。此功能附带有限的 AWS Free Tier,包括每月 1000 个请求和 1 GB,对于新 AWS 账户,可在账户创建后的前 12 个月内享受该福利,对于现有 AWS 账户,可在 2025 年 6 月 11 日之前享受该福利。要了解更多信息,请访问 Amazon GuardDuty 定价页面。

GuardDuty 控制台中试一试适用于 Amazon S3 的 GuardDuty 恶意软件防护。有关更多信息,请访问 Amazon GuardDuty 用户指南,向 AWS re:Post for Amazon GuardDuty 发送反馈,或通过您常用的 AWS Support 联系人发送反馈。

Channy