本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自动执行事件响应和取证
由卢卡斯·考夫曼 (AWS) 和 Tomek Jakubowski () 创作 AWS
摘要
此模式部署了一组使用 Lambd AWS a 函数的进程来提供以下内容:
一种以最少知识启动事件响应流程的方法
符合《AWS安全事件响应指南》的自动化、可重复的流程
分离账户来操作自动化步骤、存储构件并创建取证环境
自动事件响应和取证框架遵循标准数字取证流程,包括以下阶段:
遏制
收购
检查
分析
您可对静态数据(例如采集的内存或磁盘映像)以及独立系统上的实时动态数据进行调查。
有关更多详细信息,请参阅其他信息部分。
先决条件和限制
先决条件
两个AWS账户:
安全账户,可以是现有账户,但最好是新账户
取证账户,最好是新账号
AWS组织成立
在 Organizations 的成员账户中:
亚马逊弹性计算云 (AmazonEC2) 角色必须具有亚马逊简单存储服务 (Amazon S3) 的 “获取和列出” 权限,并且可以由 Systems AWS Manager 访问。我们建议使用
AmazonSSMManagedInstanceCore
AWS托管角色。请注意,启动事件响应时,此角色将自动附加到EC2实例。响应完成后,Ident AWS ity and Access Management (IAM) 将删除该实例的所有权限。AWS成员账户和事件响应和分析中的虚拟私有云 (VPC) 端点VPCs。这些端点是:S3 网关SSM、EC2消息和SSM消息。
AWSEC2实例上安装了命令行界面 (AWSCLI)。如果尚未AWSCLI安装EC2实例,则需要访问互联网才能正常进行磁盘快照和内存采集。在这种情况下,脚本将通过互联网下载AWSCLI安装文件并将其安装在实例上。
限制
该框架无意生成可被视为可在法庭上提交的电子证据的构件。
目前,此模式仅支持在 x86 架构运行的基于 Linux 的实例。
架构
目标技术堆栈
AWS CloudFormation
AWS CloudTrail
AWS Config
IAM
Lambda
Amazon S3
AWS密钥管理系统 (AWSKMS)
AWS Security Hub
亚马逊简单通知服务(亚马逊SNS)
AWS Step Functions
目标架构
除成员账户外,目标环境还包含两个主要账户:安全账户和取证账户。使用两个账户的原因如下:
将它们与任何其他客户账户分开,以减少取证分析失败时的影响范围
帮助确保隔离和保护正在分析的构件的完整性
为调查保密
为了避免威胁行为者可能通过达到服务配额,从而阻止您实例化 Ama EC2 zon 实例来执行调查,从而使用了您被盗AWS账户的所有可立即使用的资源。
此外,拥有单独的安全和取证账户允许创建单独的角色 - 用于获取证据的响应者和用于分析证据的调查者。每个角色都可访问其单独的账户。
下图仅展示了账户之间的交互。每个账户的详细信息将在后续图表中显示,并附上完整的图表。
下图显示了会员账户。
1. 将向 Slack Amazon SNS 主题发送一个事件。
下图显示了安全账户。
2. 安全账户中的SNS主题启动取证事件。
下图显示了取证账户。
安全账户是为内存和磁盘映像采集创建两个主要的 AWS Step Functions 工作流程的地方。工作流程运行后,他们会访问事件中涉及EC2实例的成员账户,然后启动一组 Lambda 函数来收集内存转储或磁盘转储。然后,这些构件将存储在取证账户中。
取证账户将在分析构件 S3 存储桶中保存 Step Functions 工作流收集的项目。取证账户还将有一个 I EC2 mage Builder 管道,用于生成取证实例的亚马逊系统映像 (AMI)。目前,该映像基于SANSSIFT工作站。
构建过程使用维护VPC,该维护可以连接到互联网。稍后可以使用该图像来旋转EC2实例,以便在分析中分析收集到的工件VPC。
该分析VPC没有互联网连接。默认情况下,该模式创建三个私有分析子网。您最多可以创建 200 个子网,这是中子网数量的配额,但是VPC端点需要添加这些子网VPC,S AWS ystems Manager Sessions Manager 才能在其中自动运行命令。
从最佳实践的角度来看,我们建议使用AWS CloudTrail 和 AWS Config 来执行以下操作:
跟踪您的取证账户的变更
监控存储和分析的构件的访问权限和完整性
Workflow (工作流程)
下图显示了工作流的关键步骤,其中包括从实例受损到分析和控制实例的过程和决策树。
SecurityIncidentStatus
标签是否已设置为分析值? 如果是,则执行以下操作:附上 S AWS ystems Manager 和 Amazon S3 的正确IAM配置文件。
在 Slack 中向亚马逊SNS队列发送一条亚马逊SNS消息。
向
SecurityIncident
队列发送 Amazon SNS 消息。调用内存和磁盘采集状态机。
是否已获取内存和磁盘? 如否,则存在错误。
使用标签
Contain
标记EC2实例。附加IAM角色和安全组以完全隔离实例。
自动化和扩缩
这种模式的目的是提供一种可扩展的解决方案,以便在单个 Organizations AWS 组织内的多个账户中执行事件响应和取证。
工具
AWS 服务
AWS CloudFormation帮助您设置AWS资源,快速一致地配置资源,并在各个AWS账户和地区的整个生命周期中对其进行管理。
AWS命令行接口 (AWSCLI) 是一个开源工具,用于通过命令行外壳中的命令与AWS服务进行交互。
AWSIdentity and Access Management (IAM) 通过控制谁经过身份验证并有权使用AWS资源,从而帮助您安全地管理对资源的访问权限。
AWS密钥管理服务 (AWSKMS) 可帮助您创建和控制加密密钥以保护您的数据。
AWSLambda 是一项计算服务,可帮助您运行代码,而无需预置或管理服务器。它仅在需要时运行您的代码,并且能自动扩缩,因此您只需为使用的计算时间付费。
Amazon Simple Storage Service (Amazon S3)是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
AWSS@@ ecurity Hub 提供了您的安全状态的全面视图AWS。它还可以帮助您根据安全行业标准和最佳实践检查您的AWS环境。
亚马逊简单通知服务 (AmazonSNS) 可帮助您协调和管理发布者与客户之间的消息交换,包括网络服务器和电子邮件地址。
AWSSt ep Functions 是一项无服务器编排服务,可帮助您组合 Lam AWS bda 函数和其他AWS服务来构建业务关键型应用程序。
AWSSystems Manager 可帮助您管理在AWS云中运行的应用程序和基础架构。它简化了应用程序和资源管理,缩短了检测和解决操作问题的时间,并帮助您大规模安全地管理您的 AWS 资源。
代码
有关代码以及具体的实施和使用指南,请参阅 GitHub 自动事件响应和取证框架
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
部署 CloudFormation 模板。 | CloudFormation 模板标记为 1 到 7,脚本名称的第一个单词表示需要在哪个帐户中部署模板。请注意,启动 CloudFormation 模板的顺序很重要。
要为特定EC2实例启动事件响应框架,请使用密钥 | AWS 管理员 |
操作框架。 | Lambda 函数还将在 按照GitHub 存储库 | AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
使用 CloudFormation 模板部署自定义 Security Hub 操作。 | 要创建自定义操作以便您可以使用 Security Hub 中的下拉列表,请部署 | AWS 管理员 |
相关资源
其他信息
通过使用此环境,安全运营中心 (SOC) 团队可以通过以下方式改进其安全事件响应流程:
能够在隔离环境中进行取证,以避免生产资源的意外泄露
拥有标准化、可重复、自动化的流程来进行遏制和分析。
使任何账户所有者或管理员都能够在不了解如何使用标签的情况下启动事件响应流程
拥有标准化、干净的环境来执行事件分析和取证,而不会受到更大环境的干扰
能够并行创建多项分析环境
将SOC资源集中在事件响应上,而不是云取证环境的维护和文档记录上
从手动流程转向自动化流程,以实现可扩展性
使用 CloudFormation 模板来保持一致性并避免可重复的任务
此外,您可避免使用永久基础设施,且可以在需要时为资源付费。
附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip