Amazon GuardDuty 实现威胁检测 - 基于 ML 的异常检测与事件响应
解析 GuardDuty 的威胁检测机制、检测结果分类,以及通过 Security Hub 集成实现事件响应的方法。
GuardDuty 概述
GuardDuty 是一项持续检测 AWS 账户和工作负载威胁的服务。它自动分析 CloudTrail 事件、VPC Flow Logs 和 DNS 查询日志,检测非法 API 调用、加密货币挖矿、与 C&C 服务器的通信、暴力破解攻击等。启用后无需再启用其他设置即可开始分析,也无需更改现有日志配置。GuardDuty 独立获取日志数据,用户无需手动启用 VPC Flow Logs 或 CloudTrail。检测引擎结合两种方法:AWS 管理的威胁情报 Feed (已知恶意 IP 地址和域名列表) 和账户特定的行为基线 ML 模型。
检测结果与响应
检测结果按类型分为 Recon (侦察)、UnauthorizedAccess (未授权访问)、CryptoCurrency (加密货币挖矿)、Trojan (木马) 等。对于严重程度为 High 的检测结果,可通过 EventBridge 规则触发 Lambda,自动执行被入侵 IAM 凭证的失效处理或 EC2 实例的隔离操作。通过与 Security Hub 集成,可将 GuardDuty 的检测结果与其他安全服务的结果一起查看。实用的自动修复架构流程为:GuardDuty 生成 High 严重程度的 UnauthorizedAccess:IAMUser 检测结果 → EventBridge → Lambda 禁用该 IAM 用户的访问密钥并要求 MFA 重置 → SNS 通知运维团队。
保护计划与 Organizations 集成
GuardDuty 的保护计划包括 S3 Protection、EKS Protection、Runtime Monitoring (Amazon EKS、Amazon EC2 和包括 AWS Fargate 在内的 Amazon ECS 的运行时威胁检测)、Malware Protection for EC2 (扫描与 EC2 实例关联的 EBS 卷)、Malware Protection for S3、RDS Protection、Lambda Protection 等。通过 Organizations 的委托管理员可一并管理多个账户的 GuardDuty,并设置新账户的自动启用。检测结果可发送到 Security Hub 进行汇聚。Runtime Monitoring 在主机或容器中部署 GuardDuty 代理,在内核级别监控文件访问、进程执行和网络连接。这可用于检测进程注入和反向 shell 等运行时威胁。
GuardDuty 费用优化
GuardDuty 基本威胁检测的费用取决于所分析的事件和日志的量。各保护计划会对启用的部分另行收费。首次启用 GuardDuty 时,除 Runtime Monitoring 外的保护计划也包含在 30 天免费试用中,可在此期间确认成本。Malware Protection 按扫描数据量计费,因此建议将扫描范围限制在重要工作负载以控制成本。如果启用后费用高于预期,可在 GuardDuty 控制台的 Usage 页面查看按数据源的成本明细,禁用不需要的保护计划,或在 S3 保护事件频率较高时审查相关存储桶的访问模式。
检测精度调优与误报管理
GuardDuty 启用后初期可能会产生误报 (false positive),因此调整检测设置以稳定运维。在 Trusted IP Lists 中注册公司全局 IP 和 VPN 出口 IP 后,来自这些地址的访问所产生的检测结果会被自动抑制。类似地,可向 Threat IP Lists 添加自定义威胁情报以增强检测精度。针对特定资源的反复检测结果可通过 Suppression Rules 隐藏,但设置过于宽泛的规则有遗漏真实威胁的风险,因此按特定账户 ID + 特定资源 ARN + 特定检测类型的方式将条件设得较窄。将检测结果关联到 Amazon Detective 后,GuardDuty 展示「发生了什么」,Detective 通过 IP 地址行为历史和 API 调用时间线可视化「为什么、如何发生」,可用于调查和误报判定。
与其他安全服务的角色分工
AWS 的安全服务在检测对象和目的上各不相同,可围绕 GuardDuty 组合多个服务构建纵深防御。GuardDuty 的主要目的是「持续」检测账户行为和网络通信的异常,事后调查使用 Amazon Detective,漏洞扫描使用 Amazon Inspector,IAM 策略配置不当使用 IAM Access Analyzer。Security Hub 作为中心枢纽统一汇聚这些服务的检测结果,并提供基于 AWS Foundational Security Best Practices 等标准的合规性检查。分阶段导入时,先启用 GuardDuty,查看检测结果后再追加 Detective 或 Inspector,在确认成本的同时推进导入。在多账户环境中,可将安全账户指定为委托管理员,将所有成员账户的 GuardDuty 检测结果汇聚到该账户。
总结
GuardDuty 是一项利用 ML 和威胁情报自动检测 AWS 环境威胁的服务。通过 S3、EKS、Lambda、RDS、Runtime Monitoring 等保护计划扩大检测范围,并通过 Organizations 集成一并管理多个账户的 GuardDuty。结合 EventBridge,可自动执行针对检测结果的修复处理。通过 Trusted IP Lists 和 Suppression Rules 抑制误报,并结合 Detective 推进调查。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。