关键要点
Amazon GuardDuty 是一项威胁检测服务,能够持续监控您的 Amazon Web Services (AWS) 帐户和工作负载,以查找恶意活动,并提供详细的安全发现,以便查看和修复。GuardDuty恶意软件保护通过对附加到 Amazon Elastic Compute Cloud (AmazonEC2) 实例和容器工作负载的 EBS 卷进行无代理扫描来帮助检测恶意软件。GuardDuty对识别到的恶意软件的发现提供了关于 EC2 实例和容器相关潜在威胁的额外见解。这些发现还可以为 GuardDuty 确定的与 EC2相关的威胁提供额外的上下文,例如观察到的加密货币相关活动和与指挥与控制服务器的通信。GuardDuty恶意软件保护能够识别的恶意软件类别包括勒索软件、加密货币挖掘、远程访问、凭证盗窃和钓鱼等。本文将概述 GuardDuty的按需恶意软件扫描功能,并讲解几个使用场景。
GuardDuty 为 EC2 实例提供两种类型的恶意软件扫描: 和 。GuardDuty 启动的恶意软件扫描在 GuardDuty 生成指示 EC2 实例或容器工作负载上存在典型恶意软件行为的 后启动。初始的 EC2 发现通过 和 提供有关特定威胁的洞察。在实例上执行恶意软件扫描超出了从日志活动中观察到的信息,并有助于提供文件系统级别的额外上下文,展示恶意软件与观察到的网络流量之间的联系。这种额外的上下文还可以帮助您确定对发现的威胁的反应和补救步骤。
在没有 GuardDuty EC2 发现的情况下,您也可能需要扫描 EC2实例以寻找恶意软件。这可能包括作为安全调查的一部分进行扫描,或定期扫描某些实例。您可以利用按需恶意软件扫描功能随时扫描 EC2 实例,从而灵活维护 EC2实例的安全态势。
要执行 ,您的帐户必须启用 GuardDuty。如果在您第一次提交按需扫描时,恶意软件保护的服务链接角色(SLR)权限在帐户中不存在,则将自动创建恶意软件保护的 SLR。按需恶意软件扫描是通过提供要扫描的 EC2 实例的 Amazon 资源名称(ARN)来启动的。该实例的恶意软件扫描是使用与 GuardDuty启动的扫描相同的 进行的。GuardDuty执行的恶意软件扫描是无代理的,并且此功能的设计不会影响您资源的性能。
按需恶意软件扫描可以通过 AWS 管理控制台的 GuardDuty 恶意软件保护 部分或通过
API 启动。在启用 GuardDuty 的成员帐户中,从 GuardDuty
帐户可以启动 EC2 实例的扫描,或可以从成员帐户或独立帐户启动对该帐户中的 Amazon EC2 实例的扫描。GuardDuty 控制台的 恶意软件扫描 部分报告每次恶意软件扫描的高级详细信息。该部分指明扫描在哪个 EC2实例上启动,扫描状态(完成、运行、跳过或失败)、扫描结果(干净或感染),以及何时启动了恶意软件扫描。这些关于恶意软件扫描的摘要信息也可以通过
API 获取。
当按需扫描在 EC2 实例上检测到恶意软件时,将创建一个新的 GuardDuty 发现。该发现列出受影响的 EC2实例的详细信息、恶意软件在实例文件系统中找到的位置、发现的恶意软件数量以及有关具体恶意软件的详细信息。此外,如果在 Docker容器中发现恶意软件,发现还列出了关于容器的详细信息,并且如果 EC2 实例用于支持 Amazon Elastic Kubernetes Service (Amazon EKS) 或 Amazon Elastic Container Service (Amazon ECS) 的容器部署,还将包括关于集群、任务和 Pod的详细信息。有关识别到的恶意软件的发现可以在 GuardDuty 控制台中与其他 GuardDuty 发现一起查看,或使用 获取。此外,GuardDuty 生成的每个发现都将发送到 和 。通过 EventBridge,您可以创建规则以匹配某些 GuardDuty 发现,并将这些发现发送到预定义的事件驱动流目标。Security Hub 允许您将 GuardDuty 发现包含在整体 AWS环境的安全发现聚合和优先级排序中。
GuardDuty 会根据扫描的 Amazon EBS 数据总量收取 。您可以使用 Amazon EBS卷的预配存储来获取扫描费用的初步估算。当实际恶意软件扫描运行时,最终费用将根据 GuardDuty执行恶意软件扫描时实际扫描的数据量来确定。为了更准确地估算在 Amazon EBS 卷上进行的恶意软件扫描可能的费用,您必须从与卷相连的 EC2实例获取实际使用的存储量。有多种方法可用来确定 EBS 卷上当前使用的实际存储量,包括使用 收集磁盘使用指标,以及运行单个命令检查 和 EC2 实例的可用磁盘空间。
现在您已经了解了按需恶意软件扫描的功能及其工作原理,让我们来逐一探讨您可以利用它来实现安全目标的四个用例。在用例 1 和 2中,我们将提供可部署的资产,以帮助您在自己的环境中演示解决方案。
这个用例演示如何根据应用于 EC2 实例的
执行按需扫描。每个标签都是一个包含键和值的标签,用于存储有关资源或保留在该资源上的数据的信息。资源标签可用于帮助识别要进行恶意软件扫描的特定 EC2实例目标组以满足您的安全要求。根据您组织的策略,标签可以指示数据分类策略、工作负载类型或 EC2 实例的合规范围,这些可以用作恶意软件扫描的标准。
在这个解决方案中,您将结合使用 GuardDuty、[AWS Systems Manager 文档 (SSM文档)](https://docs.aws.amazon.com/systems- manager/latest/userguide/documents.html)、、 和 Amazon Simple Notification Service (Amazon SNS) 来启动包含特定标签的 EC2实例的恶意软件扫描。此解决方案设计为在成员帐户中部署,并在该成员帐户内识别要扫描的 EC2 实例。
图 1 显示了该解决方案的高层架构,描述了如何根据标签键启动按需恶意软件扫描。
![图 1: 删除)
图 1: 基于标签的按需恶意软件扫描架构
主要工作流程如下:
是 AWS中资源的安全、端到端管理解决方案,适用于多云和混合环境。此解决方案在 SSM 文档功能中使用,以提供与负责识别要扫描恶意软件的 EC2 实例的 Lambda功能交互的方式。
GuardDutyMalwareOnDemandScanLambdaFunction 获取提供的 SSM 文档参数中与标签标准匹配的相关 EC2 实例 ARN。对于符合标签标准的 EC2 实例,使用
API 提交按需恶意软件扫描请求。
解决方案部署了一个 ,监控状态为 COMPLETED 或 SKIPPED 的按需恶意软件扫描的日志条目。有关监视扫描状态的更多信息,请参阅 。在按需恶意软件扫描完成后,会匹配过滤标准,并且扫描结果将发送到其 Lambda 函数目标 GuardDutyMalwareOnDemandNotificationLambda。该 Lambda 函数生成一个 Amazon SNS通知电子邮件,这些邮件由 GuardDutyMalwareOnDemandScanTopic Amazon SNS 主题发送。
现在您了解了按需恶意软件扫描解决方案的工作原理,您可以将其部署到自己的 AWS帐户中。此解决方案应部署在单个成员帐户中。以下部分将逐步指导您如何部署该解决方案,并向您展示如何验证关键步骤是否正常工作。
第 1 步:激活 GuardDuty
本文提供的示例解决方案要求您在 AWS 帐户中激活 GuardDuty。如果此服务尚未在您的帐户中激活,请了解有关 的更多信息,并遵循 中的步骤设置该服务并开始监控您的帐户。
注意: 按需恶意软件扫描不包括在 GuardDuty 免费试用中。
第 2 步:部署 AWS CloudFormation 模板
在此步骤中,您可以在希望测试此解决方案的 AWS 帐户和区域中部署模板。
在 CloudFormation 堆栈成功部署后,您可以继续查看并与已部署解决方案进行交互。
第 3 步:创建 Amazon SNS 主题订阅
CloudFormation 堆栈部署了一个 Amazon SNS主题,以支持发送有关启动的恶意软件扫描的通知。对于此文章,您创建一个电子邮件订阅,以接收通过该主题发送的消息。
![图 2: Amazon SNS删除)
图 2: Amazon SNS 主题列表
![图 3: Amazon SNS删除)
图 3: Amazon SNS 主题订阅
订阅创建后,将发送一封电子邮件通知,必须确认该电子邮件以开始接收恶意软件扫描通知。
Amazon SNS 订阅支持除了电子邮件之外的多种订阅协议。您可以查看 列表,以了解有关可以消耗 Amazon SNS 通知的其他
Leave a Reply