CloudTrail 이벤트 필드의 보안적 중요성 이해
AWS CloudTrail 이벤트 필드는 API 활동, 사용자 ID, 리소스 상호 작용에 대한 세분화된 세부 정보를 제공하여 보안 조사 중 정확한 추적과 분석을 가능하게 합니다. 이 섹션에서는 핵심 CloudTrail 이벤트 필드, 보안적 중요성, 포렌식 분석 및 인시던트 대응을 위한 권장 사용 사례를 설명합니다.
보안 조사를 위한 주요 CloudTrail 이벤트 필드
다음은 보안 조사에서 가장 중요한 CloudTrail 이벤트 필드, 보안 조사에서의 중요성, 인시던트 대응 중 효과적으로 활용하는 방법에 대한 상세 분석입니다.
CloudTrail 레코드 내용 살펴보기
eventName, eventSource, requestParameters를 포함한 AWS CloudTrail 레코드 내용의 전체 세부 정보를 살펴보려면 **포괄적인 문서를 확인**하세요. 완전한 로그 인사이트로 보안 포렌식 및 인시던트 대응을 강화하세요.
핵심 이벤트 필드
-
1. userIdentity
- 설명:
type(예: IAMUser, AssumedRole, Root),principalId,arn,accountId,userName,sessionContext를 포함하여 요청을 수행하는 IAM ID에 대한 세부 정보를 포함합니다. - 보안적 중요성: 인시던트의 주체를 식별하여 손상된 사용자, 역할 또는 루트 계정이 관련되었는지 판단할 수 있습니다. 교차 계정 접근 추적도 지원합니다.
- 사용 사례:
userIdentity를 사용하여 악의적 행위자 가 도난된 IAM 자격 증명을 사용했는지 또는 권한 상승을 위해 역할을 가정했는지 확인합니다.type이Root인 경우 루트 계정 손상의 높은 위험으로 인해 즉시 에스컬레이션합니다.
- 설명:
-
2. userIdentity.accessKeyId
- 설명: 요청에 사용된 접근 키를 식별합니다.
- 보안적 중요성: 악의적 행위자가 도난된 접근 키를 자주 재사용하므로 여러 이벤트에서 손상된 자격 증명을 추적합니다.
- 사용 사례:
accessKeyId를 사용하여 의심스러운 활동을 상관 분석하여 침해의 범위를 판단합니다. 비어 있는 경우(예: 콘솔 작업)userIdentity.sessionContext와 교차 참조하여 세션 유형을 확인합니다.
-
3. userIdentity.userName
- 설명: IAM 사용자의 이름을 지정합니다.
- 보안적 중요성: 특히 여러 접근 키가 있는 경우 사용자별 활동을 추적합니다.
- 사용 사례: 일관된 ID 추적을 위해
userName을userIdentity.principalId와 교차 참조합니다.
-
4. userIdentity.principalId
- 설명: 요청을 수행하는 엔티티의 고유 식별자를 제공합니다.
- 보안적 중요성: 특히 임시 자격 증명의 경우 세션 간 작업을 상관 분석합니다.
- 사용 사례:
principalId를 사용하여 가정된 역할이나 세션에서 악의적 행위자의 이동을 추적합니다.
-
5. userIdentity.sessionContext
- 설명:
sessionIssuer및sourceIdentity를 포함하여 가정된 역할 또는 페더레이션된 세션의 세부 정보를 제공합니다. - 보안적 중요성: 교차 계정 접근 또는 역할 체이닝 공격을 이해하는 데 중요합니다. 임시 보안 자격 증명으로 요청이 수행된 경우, sessionContext는 해당 자격 증명에 대해 생성된 세션 정보를 제공합니다. 임시 자격 증명을 반환하는 API를 호출할 때 세션을 생성합니다. 사용자가 콘솔에서 작업하고 멀티 팩터 인증을 포함하는 API로 요청할 때도 세션을 생성합니다.
- 사용 사례: 역할 가정 시나리오에서 공격의 기원을 추적하기 위해
sessionContext.sourceIdentity를 분석합니다.
- 설명:
-
6. userIdentity.type
- 설명: ID 유형(예:
IAMUser,Root,AssumedRole)을 지정합니다. - 보안적 중요성: 즉각적인 에스컬레이션이 필요한
Root사용과 같은 고위험 작업을 식별합니다. - 사용 사례: 권한 있는 ID와 관련된 조사의 우선순위를 지정하기 위해
userIdentity.type으로 필터링합니다.
- 설명: ID 유형(예:
-
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 타임스탬프를 기록합니다.
- 보안적 중요성: 공격의 타임라인을 설정하여 최초 침해 지점을 식별하고 시스템 간 이벤트를 상관 분석합니다.