"접근 키가 GitHub로 푸시되었습니다"
"SSH는 예전 EC2 인스턴스에서 완전히 열려 있었습니다"
"관리자 권한이 있는 IAM 사용자에게 MFA가 설정되지 않았습니다"
"말도 안 돼"라고 생각할 수도 있지만, 이런 일들은 오늘날에도 계속되고 있습니다.
CloudTrail× GuardDuty를 통해 흔한 출입구를 차단하는 체크리스트를 제공하는 허브로 활용하고 있습니다.
1. 상위 3대 AWS 침해 패턴
패턴 (1): 접근 키 누수
IAM 사용자의 접근 키(Access Key ID+Secret Access Key)는 다음과 같습니다:
- GitHub에 커밋
- S3 버킷에 게시됨
- CI/CD 로그로의 출력
공격자는 이를 획득해 EC2 스폰과 대규모 S3 접근을 수행합니다.
패턴 (2): 과도한 권한 있는 IAM 역할의 남용
AdministratorAccess 동등한 역할:
- EC2 인스턴스 프로필에 할당됨
- 람다 함수에 할당됨
EC2나 람다가 해킹되면 전체 AWS 계정이 통제권을 잡게 됩니다.
패턴 (3): S3 양동이 오노출
민감한 데이터는 잘못된 설정으로 인해 '공중 접근 차단(Block Public Access)'이 비활성화된 버킷에 저장됩니다.
2. CloudTrail에서 무슨 일이 일어나고 있는지 확인해
CloudTrail은 AWS의 모든 API 호출을 기록합니다.
다음 이벤트를 우선적으로 모니터링하세요:
고우선순위 모니터링 이벤트:
# 특권 상승 가능성
iam:CreateAccessKey
iam:AttachUserPolicy
iam:PutUserPolicy
# 신분증의 의심스러운 사용
sts:AssumeRole (평소에 사용하지 않는 지역에서 가져옴)
콘솔로그인 (MFA 없음, 비정상적인 시간대)
# 데이터 유출 가능성
s3: GetObject (대용량, 짧은 시간)
ec2: 인스턴스 설명
이 쿼리들은 Sentinel, Athena 등에서 KQL/SQL 쿼리로 모니터링됩니다.
3. GuardDuty를 활용하기: AI 기반 자동 탐지
AWS GuardDuty는 머신러닝을 활용해 CloudTrail, VPC 플로우 로그, DNS 로그를 분석하여 위협을 자동으로 감지합니다.
일반적인 탐지 분류:
- 정찰: 좌현 탐지, IAM 정찰
- 암호화폐(채굴): EC2에서의 채굴 통신
- UnauthorizedAccess: 비정상적인 위치에서 API 호출
- 스텔스 (스텔스 행동): CloudTrail 비활성화, 변경 구성
GuardDuty의 중요한 전제: 모든 지역에서 활성화.
공격자가 사용자가 사용하지 않는 지역에서 EC2를 실행할 수도 있습니다.
4. 컬러크루 시큐리티의 접근 방식
**AWS 침해 진입은 거의 고정된 패턴입니다. CloudTrail × GuardDuty를 통한 지속적인 모니터링. 이 단계가 첫 번째 방어선입니다. **
AWS 환경이 제대로 설정되었는지 확인하고 싶다면, 가장 빠른 방법은 먼저 전문가와 상담하는 것입니다. Colorkrew Security는 AWS 환경의 보안 설계, 감사, 사고 대응을 지원합니다.