피드로 돌아가기
Dev.toSecurity
원문 읽기
IAM Policy-Resource 간 불일치를 통한 데이터 유출 경로 탐지 및 차단
The dog that didn't bark: finding security holes in what's missing, not what's misconfigured
AI 요약
Context
기존 Security Scanner는 존재하는 리소스의 설정값만 검증하는 Per-resource 스캔 방식에 의존함. 이로 인해 IAM Policy가 참조하는 리소스가 삭제되었을 때 발생하는 Ghost Reference 탐지가 불가능한 구조적 한계가 존재함.
Technical Solution
- IAM Policy 내 ARN 집합과 실제 배포된 Resource Inventory 집합 간의 차집합을 계산하는 Cross-inventory Reasoning 도입
- 리소스 삭제 후 Policy 업데이트 누락으로 발생하는 Structural Hole 식별 로직 설계
- S3 Bucket Name의 Global Unique 특성에 따른 리소스 재점유 가능성을 분석하여 데이터 유출 위험도 산정
- Write Permission(PutObject 등)이 부여된 Ghost Reference를 Critical 등급으로 분류하는 위험 기반 필터링 적용
- KMS Key의 Random ID 특성을 고려하여 Exfiltration 위험과 Operational 위험을 분리하는 Tiered Severity 모델 구축
- 개별 리소스 중심의 검사에서 벗어나 두 인벤토리 사이의 Gap을 분석하는 분석 모델 구현
실천 포인트
1. IAM Policy 내 모든 ARN이 실제 존재하는 리소스와 매핑되는지 주기적으로 교차 검증
2. S3 Bucket 삭제 시 해당 리소스를 참조하는 모든 IAM Policy의 동시 삭제 프로세스 자동화
3. Write 권한이 포함된 Dangling ARN을 최우선 순위로 탐지하는 모니터링 쿼리 작성
4. 리소스 생명주기 관리(Lifecycle Management)에 Policy Cleanup 단계를 강제하는 CI/CD 파이프라인 구축