了解 CloudTrail 事件字段的安全重要性
AWS CloudTrail 事件字段提供了有关 API 活动、用户身份和资源交互的详细信息,使安全调查期间能够进行精确的跟踪和分析。本节概述了关键的 CloudTrail 事件字段、其安全意义以及在取证分析和事件响应中的推荐用例。
安全调查的关键 CloudTrail 事件字段
以下是最关键的 CloudTrail 事件字段的详细说明,包括其在安全调查中的重要性,以及如何在事件响应中有效利用这些字段。
探索 CloudTrail 记录内容
要了解 AWS CloudTrail 记录内容 的完整详情,包括 eventName、eventSource 和 requestParameters 等关键字段,请查看我们的综合文档。通过完整的日志洞察增强您的安全取证和事件响应能力。
关键事件字段
-
1. userIdentity
- 描述:包含发出请求的 IAM 身份的详细信息,包括
type(如 IAMUser、AssumedRole、Root)、principalId、arn、accountId、userName和sessionContext。 - 安全重要性:识别事件背后的操作者,能够确定是否涉及被入侵的用户、角色或根账户。它还支持跟踪跨账户访问。
- 用例:使用
userIdentity确定恶意行为者是否使用被盗的 IAM 凭证或假冒角色进行权限提升。如果type为Root,由于根账户被入侵风险极高,应立即升级处理。
- 描述:包含发出请求的 IAM 身份的详细信息,包括
-
2. userIdentity.accessKeyId
- 描述:标识请求中使用的访问密钥。
- 安全重要性:跟踪多个事件中被泄 露的凭证,因为恶意行为者经常重复使用被盗的访问密钥。
- 用例:使用
accessKeyId关联可疑活动以确定泄露范围。如果为空(如控制台操作),则与userIdentity.sessionContext交叉参考以确认会话类型。
-
3. userIdentity.userName
- 描述:指定 IAM 用户的名称。
- 安全重要性:跟踪特定用户的活动,尤其是在有多个访问密钥时。
- 用例:将
userName与userIdentity.principalId交叉参考以实现一致的身份跟踪。
-
4. userIdentity.principalId
- 描述:提供发出请求的实体的唯一标识符。
- 安全重要性:跨会话关联操作,尤其适用于临时凭证。
- 用例:使用
principalId跟踪恶意行为者在假冒角色或会话之间的移动。
-
5. userIdentity.sessionContext
- 描述:详细说明假冒角色或联合会话的信息,包括
sessionIssuer和sourceIdentity。 - 安全重要性:对于理解跨账户访问或角色链攻击至关重要。如果请求是使用临时安全凭证发出的,sessionContext 会提供为这些凭证创建的会话信息。当您调用任何返回临时凭证的 API 时,都会创建会话。用户在控制台中工作并使用包含多因素身份验证的 API 发出请求时,也会创建会话。
- 用例:在角色假冒场景中,分析
sessionContext.sourceIdentity以追踪攻击源 头。
- 描述:详细说明假冒角色或联合会话的信息,包括
-
6. userIdentity.type
- 描述:指定身份类型(如
IAMUser、Root、AssumedRole)。 - 安全重要性:识别高风险操作,如
Root的使用,需要立即升级处理。 - 用例:按
userIdentity.type筛选,优先调查涉及特权身份的事件。
- 描述:指定身份类型(如
-
7. userIdentity.arn
- 描述:提供主体的 Amazon Resource Name。
- 安全重要性:确保在复杂环境中精确识别操作者。
- 用例:使用
arn将操作追溯到特定的 IAM 实体。
-
8. userIdentity.accountId
- 描述:标识拥有该实体的 AWS 账户。
- 安全重要性:在跨账户场景中隔离源账户。
- 用例:与
recipientAccountId交叉参考以检测未授权访问。
-
9. userIdentity.sessionIssuer
- 描述:标识颁发会话凭证的实体(如角色)。
- 安全重要性:跟踪基于角色的攻击中临时凭证的来源。如果用户使用临时安全凭证发出请求,sessionIssuer 会提供用户如何获得凭证的信息。例如,如果他们通过假冒角色获得临时安全凭证,此元素会提供被假冒角色的信息。如果他们使用根或 IAM 用户凭证调用 AWS STS GetFederationToken,此元素会提供根账户或 IAM 用户的信息。
- 用例:在
AssumedRole事件中分析sessionIssuer以进行权限提升分析。
-
10. userIdentity.invokedBy
- 描述:指示是否由 AWS 服务(如 Lambda)发出请 求。
- 安全重要性:区分服务发起的操作与用户活动,识别配置错误或被利用的角色。
- 用例:调查
invokedBy中服务行为的异常。
-
11. eventTime
- 描述:记录活动的 UTC 时间戳。
- 安全重要性:建立攻击时间线,确定初始入侵点并跨系统关联事件。
- 用例:排列恶意行为者的操作顺序并确定未授权访问的持续时间。在异常时间出现的 API 调用激增可能表示存在恶意活动。
-
12. eventName
- 描述:指定 AWS API 操作(如
GetCallerIdentity、CreateAccessKey、DeleteBucket)。 - 安全重要性:揭示恶意行为者的技术,如侦察(
ListUsers)或权限提升(CreateAccessKey)。 - 用例:分析
eventName以识别高风险操作,如修改 IAM 策略或禁用日志记录,这些操作表明意图持久化或逃避检测。
- 描述:指定 AWS API 操作(如
-
13. eventSource
- 描述:标识目标 AWS 服务(如
iam.amazonaws.com、s3.amazonaws.com)。 - 安全重要性:确定受影响的服务,帮助确定修复优先级。
- 用例:调查
eventSource为sts.amazonaws.com且eventName为AssumeRole的事件以检测角色链攻击。筛选日志以关注被入侵的服务。
- 描述:标识目标 AWS 服务(如
-
14. sourceIPAddress
- 描述:指示请求来源的 IP 地址。
- 安全重要性:识别攻击的地理来源和潜在威胁行为者。
- 用例:将
sourceIPAddress与威胁情报源交叉参考以检测可疑来源。如果显示 "AWS Internal/#",则调查服务角色或配置错误。
-
15. userAgent
- 描述:详细说明使用的应用程序或工具(如
aws-cli、aws-sdk-java)。 - 安全重要性:识别恶意行为者使用的可疑工具或非标准应用程序。
- 用例:监控
userAgent中的异常,如非 AWS SDK,这可能表示偏离正常组织模式的恶意工具。
- 描述:详细说明使用的应用程序或工具(如
-
16. errorCode 和 errorMessage
- 描述:指示 API 调用是否失败及原因(如
AccessDenied)。 - 安全重要性:揭示失败的攻击尝试和权限边界,提供对恶意行为者范围的洞察。
- 用例:针对
CreateAccessKey的多个AccessDenied错误可能表示权限测试。使用这些字段来优化安全控制。
- 描述:指示 API 调用是否失败及原因(如
-
17. requestParameters
- 描述:包含与 API 调用一起发送的参数,如资源名称或配置。对于执行更改(创建、更新或删除操作)的操作的响应元素(如有)。对于只读 API,此字段为 null。如果操作不返回响应元素,此字段为 null。操作的响应元素记录在相应 AWS 服务的 API 参考文档中。
- 安全重要性:揭示 API 调用的具体输入和恶意行为者操作发送的配置详情。
- 用例:分析
CreateBucket调用中的requestParameters以识别存储桶名称用于修复。
-
18. responseElements
- 描述:包含 API 调用的输出,如新创建的访问密钥或资源 ARN。对于执行更改(创 建、更新或删除操作)的操作的响应元素(如有)。对于只读 API,此字段为
null。如果操作不返回响应元素,此字段为null。操作的响应元素记录在相应 AWS 服务的 API 参考文档中。 - 安全重要性:包含关键信息,如新创建的资源、访问密钥和其他工件。
- 用例:在
CreateAccessKey事件中使用responseElements停用新密钥并撤销未授权的更改。
- 描述:包含 API 调用的输出,如新创建的访问密钥或资源 ARN。对于执行更改(创 建、更新或删除操作)的操作的响应元素(如有)。对于只读 API,此字段为
-
19. resources
- 描述:列出被访问或修改的 AWS 资源,包括 ARN 和资源类型。
- 安全重要性:识别受影响的资产,如 S3 存储桶或 IAM 角色,用于修复。
- 用例:在
DeleteObject事件中使用resources确定受影响的 S3 对象并优先恢复。
-
20. eventType
- 描述:对事件进行分类(如
AwsApiCall、AwsConsoleSignIn)。 - 安全重要性:区分基于 API 的攻击、控制台登录或服务发起的操作。
- 用例:筛选
AwsConsoleSignIn事件以检测未授权的控制台访问并验证 MFA。
- 描述:对事件进行分类(如
-
21. recipientAccountId
- 描述:标识接收请求的 AWS 账户。
- 安全重要性:在多账户组织中跟踪跨账户活动。
- 用例:调查
recipientAccountId是否与userIdentity.accountId不同以检测未授权的跨账户访问。
-
22. awsRegion
- 描述:指定请求的 AWS 区域。
- 安全重要性:建立地理模式和事件范围。
- 用例