최종 업데이트: 2026년 5월 22일
이 문서에서는 Cloud Storage의 데이터 기밀성, 무결성, 가용성에 대한 잠재적인 공격 벡터와 완화 전략을 식별합니다. 이 보고서의 범위는 내 관점으로 제한되며, Cloud Storage 환경 내에서 관리할 수 있는 위험에 중점을 둡니다.
이러한 위협 모델은 현재 알려진 공격 벡터, 아키텍처 가정, 게시 시 시스템의 지정된 범위를 기반으로 한 확률적 평가입니다. 이러한 모델은 완전하지 않으며 Google Cloud 고객의 보안 및 위험 평가를 위한 기준선으로 사용되고 위험 감소 결정을 안내하기 위한 것입니다.
이 서비스에 대해 다음과 같은 위협이 확인되었습니다.
- 보안되지 않은 액세스 구성을 사용한 정보 공개
- IAM 구성 오류를 사용한 권한 상승
- 과도한 권한을 사용하여 데이터 조작 또는 파괴
- 잘못 구성된 Storage Transfer Service 작업을 사용한 데이터 무단 반출
- 종속성 관리 오류로 인한 데이터 액세스 손실
- 관찰 가능성 부족으로 인한 활동 난독화
- Cloud Storage에 저장된 손상된 아티팩트를 사용한 공급망 포이즈닝
- Cloud Storage 객체 플러딩 또는 이그레스 악용을 사용한 비용 기반 서비스 거부
- Cloud Storage 객체 버전 관리 악용을 통한 데이터 무결성 조작
- Cloud Storage에 의해 트리거된 Dataflow 파이프라인을 사용한 데이터 무단 반출
- Cloud Storage에서 IaC 상태 조작을 사용하여 무결성 침해
- Cloud Storage에 저장된 시작 또는 부트스트랩 스크립트의 권한 에스컬레이션
- Cloud Storage 호스팅 ML 학습 데이터를 사용하는 공급망 백도어
- Cloud Storage에서 객체 생성에 의해 트리거되는 팬아웃 워크플로를 사용한 서비스 거부
- Cloud Storage 지원 백업 파이프라인을 사용한 승인되지 않은 데이터 이동
- 하이브리드 환경에서 기존 Cloud Storage ACL 사용을 통한 정책 우회
- Cloud Storage를 타겟팅하는 손상된 CI/CD 파이프라인을 사용한 데이터 삭제
- 권한이 과도한 비상용 계정을 사용한 무단 버킷 삭제
- Cloud Storage에 쓰는 손상된 로깅 싱크를 사용한 무음 데이터 무단 반출
- 중앙화된 CMEK 취소를 사용한 랜섬웨어 지원
- 스냅샷 또는 백업을 Cloud Storage로 내보내기를 사용한 데이터 무단 반출
위협 세부정보
다음 섹션에서는 각 위협, 위협의 징후, 권장되는 완화 방법에 관한 정보를 제공합니다.
안전하지 않은 액세스 구성을 사용한 정보 공개
액세스 제어가 잘못 구성된 경우 Cloud Storage 객체에 저장된 민감한 정보가 승인되지 않은 당사자에게 노출될 수 있습니다. 액세스 제어를 잘못 구성하는 것은 가장 일반적이고 영향력이 큰 클라우드 보안 문제 중 하나입니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 컬렉션 |
| 창문 처리 |
|
| 완화 조치 |
|
IAM 잘못된 구성을 사용한 권한 승격
특정하고 무해해 보이는 IAM 권한이 있는 공격자는 권한을 에스컬레이션하여 Cloud Storage 버킷 및 포함된 데이터에 대한 관리 제어를 비롯한 광범위한 액세스 권한을 얻을 수 있습니다. 이 위협은 의도된 보안 상황을 우회하고 최소 권한의 원칙을 위반합니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 권한 에스컬레이션 |
| 창문 처리 |
|
| 완화 조치 |
|
과도한 권한을 사용하여 데이터 조작 또는 파괴
권한이 충분한 공격자는 Cloud Storage 시스템 내에서 데이터와 구성을 변경하거나 손상시키거나 영구적으로 삭제하여 데이터 무결성과 가용성을 손실시킬 수 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
잘못 구성된 Storage Transfer Service 작업을 사용한 데이터 무단 반출
storagetransfer.transferjobs.create 또는 storagetransfer.transferjobs.update 권한이 있는 공격자는 Storage Transfer Service 작업을 만들어 민감한 Cloud Storage 버킷의 데이터를 다른 프로젝트에 있는 공격자 관리 버킷으로 복사할 수 있습니다. 이 공격 벡터는 storage.objects.get와 같은 직접 API 호출에 중점을 둘 수 있는 일반적인 데이터 액세스 모니터링을 우회하여 많은 양의 데이터를 자동으로 지속적으로 유출하는 데 사용할 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
악성 전송 작업 생성: |
| 완화 조치 |
|
종속성 관리 오류로 인한 데이터 액세스 손실
중요한 서비스 종속 항목에 대한 공격이나 잘못된 관리로 인해 Cloud Storage의 데이터에 대한 적법한 액세스가 거부될 수 있으며, 스토리지 시스템 자체를 직접 손상시키지 않고도 데이터에 액세스할 수 없게 됩니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
관측 가능성 부족으로 인한 활동 난독화
감사 및 모니터링이 올바르게 구성되지 않으면 공격자가 감지되지 않은 상태에서 Cloud Storage 리소스에 대해 악의적인 작업을 실행할 수 있습니다. 관측 가능성이 부족하면 공격자가 자신의 흔적을 숨길 수 있으며 효과적인 침해 사고 대응 및 포렌식을 방해합니다.
| STRIDE 카테고리 | 부인 |
|---|---|
| MITRE ATT&CK 전술 | 방어 회피 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage에 저장된 손상된 아티팩트를 사용한 공급망 포이즈닝
공격자가 소프트웨어 아티팩트 (예: 바이너리, 컨테이너 이미지, 빌드 스크립트)를 저장하는 데 사용되는 Cloud Storage 버킷에 storage.objects.create 또는 storage.objects.delete와 같은 쓰기 액세스 권한을 얻으면 합법적인 아티팩트를 악성 버전으로 대체할 수 있습니다. 이 버킷의 아티팩트를 신뢰하는 다운스트림 CI/CD 파이프라인, 개발자 또는 최종 사용자가 손상된 코드를 실수로 실행하여 광범위한 공급망 공격이 발생합니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 초기 액세스 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage 객체 플러딩 또는 이그레스 악용을 사용한 비용 기반 서비스 거부
공개적으로 쓰기 가능하거나 보안이 취약한 버킷에 객체 생성 권한이 있는 공격자는 수많은 작은 객체를 업로드하여 클래스 A 작업 및 스토리지 요금으로 인해 상당한 재정적 비용이 발생할 수 있습니다. 또는 '요청자 지불'이 사용 중지된 버킷에 대한 읽기 액세스 권한이 있는 공격자가 대형 객체를 반복적으로 다운로드하여 과도한 네트워크 아웃바운드 요금을 발생시키고 요금 한도로 인해 정상 사용자의 서비스 가용성에 영향을 미칠 수 있습니다.
| STRIDE 카테고리 | 서비스 거부 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage 객체 버전 관리를 악용한 데이터 무결성 조작
객체 버전 관리는 중요한 방어 수단이지만 storage.objects.delete 또는 storage.objects.create과 같은 충분한 권한이 있는 공격자는 객체 기록을 조작하여 데이터 무결성을 손상시킬 수 있습니다. 객체의 현재 버전을 삭제하여 오래되고 잠재적으로 잘못되거나 취약한 버전이 '라이브' 버전이 될 수 있습니다. 객체가 계속 존재하므로 보안 패치를 되돌리거나, 버그를 다시 도입하거나, 오래된 정보를 복원하는 데 사용할 수 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage에 의해 트리거된 Dataflow 파이프라인을 사용한 데이터 무단 반출
Cloud Storage 버킷에서 객체 생성 시 자동으로 트리거되도록 Dataflow 파이프라인이 구성된 경우 해당 버킷에 쓸 수 있는 공격자가 데이터를 유출할 수 있습니다. Dataflow 작업의 서비스 계정에 다른 민감한 데이터에 액세스하고 외부 위치 (예: 다른 Cloud Storage 버킷 또는 BigQuery)에 쓸 수 있는 권한이 있는 경우 공격자는 파이프라인이 민감한 데이터를 읽고 공격자가 제어하는 위치에 쓰도록 하는 입력 파일을 만들 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
교차 프로젝트 유출: 공격자가 트리거 버킷에 파일을 업로드합니다. 권한이 있는 서비스 계정으로 실행되는 Dataflow 파이프라인이 다른 프로젝트에서 민감한 정보을 읽고 공격자의 입력 파일에 지정된 공개 Cloud Storage 버킷에 출력을 씁니다. |
| 완화 조치 |
|
Cloud Storage에서 IaC 상태 조작을 사용한 무결성 손상
Cloud Storage 버킷을 사용하여 코드형 인프라 (IaC) 상태 파일 (예: Terraform의 terraform.tfstate 파일)을 저장하는 경우 상태 버킷에 대한 쓰기 액세스 권한이 있는 공격자가 상태 파일을 조작할 수 있습니다. 상태를 수정하면 공격자가 악성 리소스를 삽입하거나, 중요한 보안 구성을 변경하거나, 다음 IaC 실행 시 리소스 파괴를 유발할 수 있습니다. 이러한 조작은 코드 자체가 아닌 상태를 타겟팅하므로 코드 검토 프로세스를 우회합니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
보안 제어 사용 중지: 공격자가 상태 파일을 변경하여 방화벽 규칙 또는 IAM 허용 정책의 상태를 부정확하게 표시합니다. 다음 Terraform 적용 시 의도한 보안 구성이 올바르게 적용되지 않을 수 있습니다. |
| 완화 조치 |
|
Cloud Storage에 저장된 시작 또는 부트스트랩 스크립트의 권한 에스컬레이션
Compute Engine 인스턴스 또는 GKE 노드가 Cloud Storage 버킷에서 시작 또는 부트스트랩 스크립트를 가져오는 경우 해당 버킷에 대한 쓰기 액세스 권한이 있는 공격자가 이러한 스크립트를 수정할 수 있습니다. 이러한 스크립트는 높은 권한 (예: VM의 루트 또는 노드의 서비스 계정)으로 실행되는 경우가 많으므로 공격자는 백도어 사용자를 만들거나, 메타데이터 및 액세스 토큰을 유출하거나, 악성 소프트웨어를 설치하는 명령어를 삽입할 수 있습니다. 이러한 작업을 통해 공격자는 Cloud Storage 객체 쓰기 권한에서 컴퓨팅 리소스에 대한 완전한 제어 권한으로 권한을 에스컬레이션할 수 있습니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 권한 에스컬레이션 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage 호스팅 ML 학습 데이터를 사용하는 공급망 백도어
머신러닝 모델의 학습 데이터가 포함된 Cloud Storage 버킷에 대한 쓰기 액세스 권한이 있는 공격자는 데이터 세트를 손상시킬 수 있습니다. 신중하게 제작된 악성 데이터를 삽입하여 공격자는 학습된 모델에 백도어를 만들 수 있습니다. 이 백도어는 모델이 감지를 피하기 위해 일반 데이터에서는 정상적으로 작동하면서 공격자에게 유리한 방식으로 특정 입력을 잘못 분류하도록 할 수 있습니다. 예를 들어 모델이 사기 거래를 승인하거나 보안 검사를 우회할 수 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage에서 객체 생성에 의해 트리거되는 팬아웃 워크플로를 사용한 서비스 거부
워크플로 (예: Cloud Run 함수 또는 워크플로)가 Cloud Storage 버킷에서 객체 생성을 트리거하고 리소스 집약적인 작업을 실행하도록 구성된 경우 storage.objects.create 권한이 있는 공격자가 서비스 거부 공격을 시작할 수 있습니다. 공격자는 짧은 기간에 많은 파일을 업로드하여 (팬아웃 트리거라고 함) 다운스트림 서비스가 급격히 확장되도록 유도하여 과도한 리소스를 소비하고, 동시 실행 또는 확장 한도에 도달하고, 상당한 비용을 발생시켜 궁극적으로 정당한 사용자의 서비스 이용을 불가능하게 만들 수 있습니다.
| STRIDE 카테고리 | 서비스 거부 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage 지원 백업 파이프라인을 사용한 무단 데이터 이동
백업 및 재해 복구 (DR) 도구는 Cloud Storage를 백업의 스테이징 영역 또는 최종 대상으로 사용하는 경우가 많습니다. 공격자가 이 도구의 구성을 손상시키면 공격자가 제어하는 Cloud Storage 버킷으로 백업을 리디렉션할 수 있습니다. 백업 서비스 계정에는 여러 데이터 소스 (예: 데이터베이스 또는 VM)에 대한 광범위한 읽기 권한이 있는 경우가 많으므로 공격자가 백업 작업의 대상 매개변수를 조작하여 대량의 민감한 정보를 유출할 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
|
하이브리드 환경에서 기존 Cloud Storage ACL 사용을 통한 정책 우회
Cloud Storage는 IAM과 기존 ACL이라는 상호 배타적인 두 가지 액세스 제어 시스템을 지원합니다. 균일한 버킷 수준 액세스가 사용 중지되면 두 시스템이 모두 평가됩니다. 공격자는 버킷 수준 허용 정책이 제한적으로 보이더라도 객체에 기존 ACL (예: 개인 Google 계정 또는 공개 그룹 액세스 권한 부여)을 추가하여 이 구성을 악용할 수 있습니다. 이 공격은 IAM 중심 보안 스캐너에서 종종 누락되는 섀도 액세스 경로를 만들어 공격자가 의도된 보안 정책을 우회할 수 있도록 합니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 방어 회피 |
| 창문 처리 |
|
| 완화 조치 |
|
Cloud Storage를 타겟팅하는 손상된 CI/CD 파이프라인을 사용한 데이터 삭제
CI/CD 파이프라인에는 인프라를 관리하고 아티팩트를 배포할 수 있는 높은 권한이 있는 서비스 계정이 부여되는 경우가 많습니다. 공격자가 CI/CD 시스템을 손상시키면 파이프라인의 서비스 계정을 사용하여 Cloud Storage에서 파괴적인 작업을 실행할 수 있습니다. 침해의 예로는 공격자가 빌드 스크립트에 악성 코드를 삽입하거나 오케스트레이터에 액세스하는 것을 들 수 있습니다. 이러한 침해에는 버킷 삭제 또는 중요한 객체 덮어쓰기가 포함될 수 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
권한이 과도한 break-glass 계정을 사용한 승인되지 않은 버킷 삭제
Break-glass 또는 긴급 액세스 계정은 긴급 상황에서만 사용되는 권한이 높은 ID입니다. 이러한 계정이 적절하게 보호되고 관리되지 않으면 (예: 사용자 인증 정보가 유출되거나 액세스가 시간 제한되지 않음) 비상용 계정을 도용한 공격자가 매우 파괴적인 작업을 실행할 수 있습니다. 주요 위험은 전체 Cloud Storage 버킷의 삭제입니다. 버킷 삭제는 영구적인 작업이므로 심각하고 되돌릴 수 없는 데이터 손실이 발생할 수 있습니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 권한 에스컬레이션 |
| 창문 처리 |
|
| 완화 조치 |
|
손상된 로그 싱크를 사용하여 Cloud Storage에 쓰는 무음 데이터 무단 반출
Cloud Logging은 로그를 Cloud Storage 버킷으로 내보내도록 구성할 수 있습니다. 공격자가 로깅 싱크를 수정할 권한을 얻으면 다른 프로젝트에서 공격자가 제어하는 Cloud Storage 버킷으로 민감한 로그를 내보내도록 싱크를 재구성할 수 있습니다. 민감한 로그를 내보내면 공격자가 로그에 포착된 민감한 정보를 자동으로 지속적으로 유출할 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
|
중앙 집중식 CMEK 취소를 사용한 랜섬웨어 사용 설정
Cloud Storage 버킷이 CMEK로 암호화되면 데이터의 가용성이 키의 가용성과 연결됩니다. Cloud KMS에 대한 충분한 권한을 획득한 공격자는 중요한 Cloud Storage 버킷에 사용되는 키를 폐기하거나 사용 중지할 수 있습니다. 이 작업은 버킷의 모든 데이터에 암호화 방식으로 액세스할 수 없도록 렌더링합니다. 데이터는 남아 있지만 복호화할 수 없으므로 사실상 데이터 파괴 또는 랜섬웨어의 한 형태입니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
|
스냅샷 또는 백업 내보내기를 Cloud Storage로 사용한 데이터 무단 반출
많은 Google Cloud 서비스 (예: Compute Engine 또는 Cloud SQL)에서 스냅샷을 만들거나 백업을 Cloud Storage로 내보낼 수 있습니다. 이러한 내보내기 작업을 실행할 권한이 있는 공격자는 민감한 정보가 포함된 리소스의 스냅샷을 만들고 공개 버킷이나 외부 계정과 공유된 버킷과 같이 권한이 느슨한 Cloud Storage 버킷에 스냅샷을 저장할 수 있습니다. 이제 Cloud Storage IAM을 사용하여 데이터에 액세스할 수 있으므로 이 작업은 기본 리소스의 더 엄격한 액세스 제어 (예: 데이터베이스 사용자 인증 정보)를 우회합니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
|