최종 업데이트: 2026년 4월 16일
이 문서에서는 BigQuery의 데이터 기밀성, 무결성, 가용성에 대한 잠재적인 공격 벡터와 완화 전략을 식별합니다. 이 보고서의 범위는 내 관점으로 제한되며 BigQuery 환경 내에서 관리할 수 있는 위험에 중점을 둡니다.
이러한 위협 모델은 현재 알려진 공격 벡터, 아키텍처 가정, 게시 시 시스템의 지정된 범위를 기반으로 한 확률적 평가입니다. 이러한 모델은 완전하지 않으며 Google Cloud 고객의 보안 및 위험 평가를 위한 기준선으로 사용되고 위험 감소 결정을 안내하기 위한 것입니다.
이 서비스에 대해 다음과 같은 위협이 확인되었습니다.
- 스키마 조작을 사용한 데이터 파괴
- IAM 허용 정책 조작을 사용한 권한 에스컬레이션
- BigQuery에서 트리거된 다운스트림 서비스를 사용한 혼동된 대리인 악용
- 제한 없는 네트워크 이그레스를 사용한 데이터 무단 반출
- 포이즌 참조 또는 조회 테이블을 사용하는 데이터 무결성 드리프트
- 악성 로드 작업을 사용한 데이터 조작
- 정보 공개로 이어지는 과도한 IAM 권한
- 공격자가 제어하는 클라우드 프로젝트 또는 계정으로의 트랜스퍼를 사용한 무단 반출
- 잘못 구성된 승인된 뷰 또는 행 수준 보안 로직을 사용한 정보 공개
- 공개 또는 교차 프로젝트 데이터 세트 노출을 사용한 정보 공개
- 승인된 BigQuery 액세스의 내부자 오용 (악의적인 수집에 사용된 합법적인 쿼리)
- 데이터 세트, 승인된 뷰 또는 예약된 쿼리에서 스텔스 BigQuery IAM 바인딩을 사용한 지속성
- BigQuery 액세스에 사용되는 손상된 서비스 계정 사용자 인증 정보 또는 OAuth 토큰을 사용한 스푸핑
- 비용이 많이 드는 쿼리를 사용한 비용 기반 서비스 거부
위협 세부정보
다음 섹션에서는 각 위협, 위협의 징후, 권장되는 완화 방법에 관한 정보를 제공합니다.
스키마 조작을 사용한 데이터 파괴
테이블의 스키마를 수정할 수 있는 권한이 있는 공격자는 데이터 손실을 유발하거나 다운스트림 애플리케이션에서 테이블을 사용할 수 없게 만들 수 있습니다. 이러한 형태의 조작은 데이터의 메타데이터와 구조를 타겟팅하며, 이는 데이터 자체를 수정하는 것만큼 파괴적일 수 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
악의적인 스키마 업데이트: |
| 완화 조치 |
|
IAM 허용 정책 조작을 사용한 권한 에스컬레이션
BigQuery IAM 허용 정책을 수정할 권한이 있는 주체를 공격자가 악용하면 데이터 리소스에 대한 모든 권한을 얻기 위해 권한을 에스컬레이션할 수 있습니다. 이 위협을 통해 공격자는 기존 액세스 제어를 우회하여 민감한 정보를 읽거나 수정하거나 삭제할 수 있는 액세스 권한을 부여할 수 있습니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 권한 에스컬레이션 |
| 창문 처리 |
|
| 완화 조치 |
IAM 허용 정책 수정 (예: |
BigQuery에서 트리거된 다운스트림 서비스를 사용한 혼동된 대리인 악용
BigQuery 권한이 제한된 공격자가 권한이 더 높은 다운스트림 서비스 (예: Cloud Functions, Dataflow 작업 또는 Cloud Composer DAG)를 트리거하는 작업 또는 쿼리를 만듭니다. 다운스트림 서비스는 BigQuery를 대신하여 적법한 작업을 수행한다고 생각하지만 시스템 설계자가 의도한 것과 다른 리소스에서 또는 다른 데이터로 작업을 수행하도록 속입니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 권한 에스컬레이션 |
| 창문 처리 |
|
| 완화 조치 |
BigQuery에 의해 트리거되는 다운스트림 서비스에서 사용하는 서비스 계정에 최소 권한 원칙을 적용합니다. 이러한 서비스가 BigQuery 작업에서 수신한 입력 또는 매개변수를 검증하고 정리하는지 확인합니다. VPC 서비스 제어를 사용하여 네트워크 경로와 서비스 상호작용을 제한합니다. 다운스트림 서비스가 검증 없이 BigQuery의 입력을 신뢰하지 않도록 설계합니다. |
무제한 네트워크 이그레스를 사용한 데이터 무단 반출
네트워크 수준 보안 제어가 마련되어 있지 않으면 보안이 침해된 내부 보안 주체가 BigQuery에 액세스하여 인터넷의 임의 위치로 민감한 정보를 유출할 수 있습니다. 강력한 IAM 제어를 사용하더라도 네트워크 경계가 없으면 유효한 사용자 인증 정보를 획득한 공격자가 위치 기반 방어를 우회하고 신뢰할 수 있는 환경 외부로 데이터를 전송할 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
임의의 외부 서비스로의 데이터 무단 반출을 완화하기 위해 네트워크 이그레스 제어를 구현합니다. BigQuery 리소스가 포함된 프로젝트 주위에 VPC 서비스 제어 경계를 구현합니다. 이 경계는 경계 외부의 Google Cloud 서비스로의 데이터 무단 반출을 제한하는 데 도움이 됩니다. 신뢰할 수 있는 IP 범위 또는 특정 VPC 네트워크에서 시작된 API 요청만 허용하도록 경계의 액세스 수준을 구성하여 정의된 보안 경계 외부에서 데이터에 액세스하거나 데이터를 이동하는 것을 효과적으로 방지합니다. |
포이즌 참조 또는 조회 테이블을 사용하는 데이터 무결성 드리프트
참조 또는 조회 테이블 (예: 측정기준 테이블)에 대한 쓰기 액세스 권한이 있는 공격자가 콘텐츠를 미묘하게 수정합니다. 이러한 손상된 테이블과 조인하는 쿼리는 잘못되고 오해의 소지가 있는 결과를 생성하여 분석의 무결성과 다운스트림 비즈니스 의사 결정을 손상시킵니다. 명백한 오류가 없을 수도 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
참조 또는 조회 테이블에 대한 쓰기 액세스 ( |
악성 로드 작업을 사용한 데이터 조작
권한이 충분한 공격자는 악성 로드 작업을 실행하여 BigQuery 테이블의 중요한 데이터를 의도적으로 손상시키거나 덮어쓸 수 있습니다. 이 위협은 데이터의 무결성을 손상시키므로 비즈니스 분석이 부정확해지고, 애플리케이션이 실패하며, 고객 신뢰가 손실될 수 있습니다.
| STRIDE 카테고리 | 조작 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
최소 권한의 원칙을 적용합니다. |
정보 공개로 이어지는 과도한 IAM 권한
권한이 지나치게 많은 IAM 역할은 BigQuery 테이블에 저장된 민감한 정보에 대한 과도한 액세스를 허용할 수 있습니다. 광범위한 데이터 액세스 권한이 있는 보안 주체를 공격자가 악용하면 대량의 데이터를 유출하여 심각한 정보 유출로 이어질 수 있습니다. 이 위협은 비즈니스 기능에 필요한 특정 데이터 세트나 테이블로 제한되지 않고 bigquery.tables.getData 또는 bigquery.jobs.create과 같은 권한이 넓은 범위 (예: 프로젝트 수준)에서 부여될 때 발생합니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
모든 IAM 허용 정책에 최소 권한의 원칙을 구현합니다. 프로젝트 수준이 아닌 필요한 가장 세부적인 수준 (예: 특정 BigQuery 테이블 또는 데이터 세트)에서 권한을 부여합니다. 특정 작업에 필요한 권한 (예: |
공격자가 제어하는 클라우드 프로젝트 또는 계정으로의 전송을 사용한 무단 반출
공격자가 BigQuery의 데이터 이동 기능(예: Cloud Storage로 내보내기 작업, 교차 프로젝트 쿼리, BigQuery Data Transfer Service)을 사용하여 보안 프로젝트에서 민감한 정보(으)로 관리 대상인 Google Cloud 프로젝트 또는 다른 클라우드 계정으로 이동합니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
VPC 서비스 제어를 구현하여 프로젝트 주위에 경계를 만들어 경계 외부의 프로젝트로 데이터가 이그레스되지 않도록 합니다. |
잘못 구성된 승인된 뷰 또는 행 수준 보안 논리를 사용한 정보 공개
승인된 뷰 또는 행 수준 보안 정책의 SQL 로직에 결함이 있어 의도한 것보다 더 광범위한 데이터 액세스가 발생합니다. 뷰 또는 테이블을 쿼리하는 사용자가 의도한 분리를 우회하여 볼 수 없는 행이나 열에 실수로 액세스할 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 컬렉션 |
| 창문 처리 |
|
| 완화 조치 |
승인된 뷰 및 행 수준 보안 정책에 사용되는 SQL 로직에 엄격한 코드 검토 프로세스를 구현합니다. 보안 로직을 철저히 테스트합니다. 뷰 및 행 수준 보안 정책을 만들거나 업데이트할 수 있는 권한 (예: |
공개 또는 교차 프로젝트 데이터 세트 노출을 사용한 정보 공개
BigQuery 데이터 세트가 실수로 또는 악의적으로 공개 (예: allUsers 또는 allAuthenticatedUsers 사용)되거나 의도한 신뢰 경계 외부의 다른 Google Cloud 프로젝트와 너무 광범위하게 공유되어 민감한 정보가 노출됩니다. 공격자는 인증 없이 또는 인증된 Google 계정을 사용하여 데이터에 직접 액세스하거나 데이터를 복사할 수 있습니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 유출 |
| 창문 처리 |
|
| 완화 조치 |
데이터 세트 IAM 허용 정책에 최소 권한의 원칙을 구현합니다. |
승인된 BigQuery 액세스의 내부자 오용 (악성 수집에 사용된 합법적인 쿼리)
BigQuery에 대한 합법적인 액세스 권한이 있는 악의적인 내부자가 승인된 권한을 사용하여 쿼리를 실행하고 승인되지 않은 목적 (예: 개인적 이익 또는 간첩 행위)으로 민감한 정보를 수집합니다. 액세스가 승인되었지만 데이터의 의도와 사용이 악의적입니다.
| STRIDE 카테고리 | 정보 공개 |
|---|---|
| MITRE ATT&CK 전술 | 컬렉션 |
| 창문 처리 |
|
| 완화 조치 |
데이터 액세스 감사 로그를 사용 설정하고 모니터링하여 데이터 액세스 패턴을 추적합니다. Sensitive Data Protection과 같은 도구를 사용하여 쿼리 결과에서 민감한 정보를 스캔합니다. 사용자 행동 분석 (UBA)을 구현하여 비정상적인 쿼리 패턴 또는 데이터 액세스 볼륨을 감지합니다. 명확한 데이터 처리 정책을 시행하고 보안 인식 교육을 제공합니다. 행 수준 보안 및 열 수준 보안을 사용하여 승인된 사용자에게도 데이터 노출을 제한합니다. |
데이터 세트, 승인된 뷰 또는 예약된 쿼리에 대한 스텔스 BigQuery IAM 바인딩을 사용한 지속성
초기 액세스 권한을 획득한 공격자는 BigQuery 내에서 감지하기 어려운 액세스 메커니즘을 만들어 장기적인 존재를 확립합니다. 이 위협에는 데이터 세트에 IAM 바인딩을 추가하거나, 민감한 정보를 쿼리하는 승인된 뷰를 만들거나, 권한이 있는 서비스 계정에서 실행되는 예약된 쿼리를 설정하여 데이터를 유출하거나 액세스 권한을 유지하는 것이 포함됩니다.
| STRIDE 카테고리 | 권한 승격 |
|---|---|
| MITRE ATT&CK 전술 | 지속성 |
| 창문 처리 |
|
| 완화 조치 |
Security Command Center와 같은 도구를 사용하여 데이터 세트 수준 권한을 포함한 모든 IAM 허용 정책을 정기적으로 감사합니다. 데이터 세트 ( |
BigQuery 액세스에 사용되는 손상된 서비스 계정 사용자 인증 정보 또는 OAuth 토큰을 사용한 스푸핑
공격자가 서비스 계정 사용자 인증 정보 (예: 내보낸 JSON 키)를 획득하고 이를 사용하여 손상된 서비스 계정으로 BigQuery에 인증하여 모든 권한을 상속받습니다. 이 위협을 통해 공격자는 데이터 읽기, 작업 실행, 리소스 수정 등 서비스 계정이 승인된 작업을 수행할 수 있습니다.
| STRIDE 카테고리 | 위장 |
|---|---|
| MITRE ATT&CK 전술 | 초기 액세스 |
| 창문 처리 |
|
| 완화 조치 |
서비스 계정 키를 내보내지 마세요. 가능한 경우 연결된 서비스 계정 또는 워크로드 아이덴티티 제휴를 사용하세요. 키가 필요한 경우 키를 정기적으로 순환하고 서비스 계정에 필요한 최소 권한만 부여합니다. Cloud 감사 로그 및 Security Command Center에서 비정상적인 서비스 계정 활동 또는 키 노출을 모니터링합니다. |
고비용 쿼리를 사용한 비용 기반 서비스 거부
인증된 주 구성원이 과도한 BigQuery 리소스 (예: 슬롯 및 스캔된 바이트)를 소비하도록 설계된 쿼리를 실행합니다. 이 위협으로 인해 주문형 프로젝트에서 대규모 비용 초과가 발생하거나 예약 기반 프로젝트에서 다른 사용자의 슬롯이 부족해져 비즈니스 운영이 방해될 수 있습니다.
| STRIDE 카테고리 | 서비스 거부 |
|---|---|
| MITRE ATT&CK 전술 | 영향 |
| 창문 처리 |
|
| 완화 조치 |
BigQuery 맞춤 할당량을 사용하여 쿼리 사용량 (예: 일일 스캔된 바이트)에 대한 사용자 수준 및 프로젝트 수준 한도를 설정합니다. 쿼리 작업에서 |