Google Cloud는 개발자, DevOps, 보안팀이 소프트웨어 공급망의 보안 상태를 개선하는 데 사용할 수 있는 포괄적이고 모듈화된 기능 및 도구 모음을 Google Cloud 제품 전반에서 제공합니다.
소프트웨어 공급망
소프트웨어 공급망은 조직 안팎에서 소프트웨어의 개발 및 배포에 기여하는 모든 코드, 인력, 시스템, 프로세스로 구성됩니다. 학습 센터에는 다음과 같은 리소스가 있습니다.
- 개발자가 만든 코드와 코드의 종속 항목, 개발자가 소프트웨어를 개발, 빌드, 패키징, 설치, 실행하는 데 사용하는 내부 및 외부 소프트웨어.
- 시스템 액세스, 테스트, 검토, 모니터링 및 피드백, 커뮤니케이션, 승인을 위한 프로세스 및 정책.
- 소프트웨어와 소프트웨어의 종속 항목을 개발, 빌드, 저장, 실행할 때 신뢰하는 시스템.
소프트웨어 공급망의 광범위한 범위와 복잡성을 고려할 때 사용자에게 배포하는 소프트웨어에 승인되지 않은 변경사항을 적용할 수 있는 방법은 다양합니다. 이러한 공격 벡터는 소프트웨어 라이프사이클 전반에 걸쳐 있습니다. 어떤 공격은 SolarWinds 빌드 시스템에 대한 공격과 같이 표적이 되지만, 어떤 위협은 간접적이거나 프로세스의 약점 또는 방치를 통해 공급망에 유입됩니다.
예를 들어 2021년 12월 Google Open Source Insights팀이 Apache Log4j 취약점을 평가한 결과 Maven Central에 영향을 받는 패키지가 17,000개가 넘는 것으로 확인되었습니다. 이러한 패키지의 대부분은 취약한 log4j-core
패키지에 직접 의존하지는 않았지만 이 패키지가 필요한 종속 항목이 있었습니다.
개발 관행 및 프로세스도 소프트웨어 공급망에 영향을 미칩니다. 프로덕션에 배포하기 위한 코드 검토 또는 보안 기준 부족과 같은 프로세스 격차로 인해 잘못된 코드가 의도치 않게 공급망에 유입될 수 있습니다. 마찬가지로 종속 항목 관리가 없으면 개발, 빌드 또는 배포에 사용하는 외부 소스 또는 소프트웨어 패키지의 취약점 위험이 증가합니다.
Google Cloud에서 소프트웨어 공급망 보호
Google Cloud는 다음을 제공합니다.
- 개발, 빌드, 테스트, 배포, 정책 적용을 위한 보안 권장사항이 포함된 제품 및 기능
- 소스, 빌드, 아티팩트, 배포, 런타임에 대한 보안 정보를 제공하는 Google Cloud 콘솔의 대시보드 이 정보에는 빌드 아티팩트의 취약점, 빌드 출처, 소프트웨어 재료명세서 (SBOM) 종속 항목 목록이 포함됩니다.
- Supply chain Levels for Software Artifacts(SLSA) 프레임워크를 사용하여 소프트웨어 공급망 보안의 성숙도 수준을 식별하는 정보
다음 다이어그램은 소프트웨어 공급망을 보호하기 위해 함께 작동하는 Google Cloud 서비스를 보여줍니다. 이러한 구성요소의 일부 또는 전부를 소프트웨어 공급망에 통합하여 보안 상태를 개선할 수 있습니다.
개발 환경 보호
Cloud Workstations는 Google Cloud에서 완전 관리형 개발 환경을 제공합니다. IT 및 보안 관리자는 개발 환경을 프로비저닝, 확장, 관리, 보호할 수 있습니다. 개발자는 일관된 구성과 맞춤설정 가능한 도구를 사용하여 개발 환경에 액세스할 수 있습니다.
Cloud Workstations는 애플리케이션 개발 환경의 보안 상황을 향상시켜 보안 원점 회귀를 도와줍니다. 보안 기능에는 VPC 서비스 제어, 비공개 인그레스 또는 이그레스, 강제 이미지 업데이트, Identity and Access Management 액세스 정책이 포함됩니다. Cloud Workstations는 Chrome Enterprise Premium과 결합하면 추가 데이터 손실 방지 기능을 제공합니다.
소프트웨어 공급 보호
소프트웨어 공급(빌드 아티팩트 및 애플리케이션 종속 항목) 보호는 소프트웨어 공급망 보안을 향상시키는 데 중요한 단계입니다. 오픈소스 소프트웨어가 보편화되면서 이러한 문제가 특히 어려워집니다.
Assured Open Source Software는 Google에서 검증하고 테스트한 오픈소스 패키지를 제공합니다. 이러한 패키지는 Google의 보안 파이프라인을 사용하여 빌드되며 정기적으로 스캔, 분석, 테스트를 거쳐 취약점을 파악합니다.
Artifact Registry는 모든 빌드 아티팩트 및 종속 항목의 범용 패키지 관리자입니다. 모든 아티팩트와 종속 항목을 중앙 집중화하면 소프트웨어 공급망의 코드를 더 잘 파악하고 제어할 수 있습니다.
- 원격 저장소는 Docker Hub, Maven Central, Python Package Index (PyPI), Debian 또는 CentOS와 같은 사전 설정된 외부 소스와 지원되는 형식의 사용자 정의 소스 아티팩트를 저장합니다. 원격 저장소에 아티팩트를 캐싱하면 다운로드 시간이 줄고 패키지 가용성이 개선되며 스캔이 사용 설정된 경우 취약점 스캔이 포함됩니다.
- 가상 저장소는 단일 엔드포인트 뒤에 동일한 형식의 저장소를 통합하고 업스트림 저장소 전반에서 검색 순서를 제어할 수 있습니다. 비공개 패키지의 우선순위를 정할 수 있으므로 종속 항목 혼동 공격 위험을 줄일 수 있습니다.
- 액세스 제어, VPC 서비스 제어 서비스 경계, 조직 정책, 기타 보안 기능과 같은 보안 기능을 구성하여 아티팩트를 보호할 수도 있습니다. 자세한 내용은 Artifact Registry 문서를 참고하세요.
Artifact Analysis는 Artifact Registry의 아티팩트 취약점을 사전에 감지합니다.
- 기본 컨테이너 이미지 및 컨테이너의 언어 패키지에 통합된 주문형 또는 자동 스캔
- 소프트웨어 재료명세서 (SBOM)를 생성하고 Artifact Registry의 이미지에 대한 Vulnerability Exploitability eXchange (VEX) 문을 업로드하는 기능
CI/CD 파이프라인 보호
악의적인 행위자는 CI/CD 파이프라인을 손상시켜서 소프트웨어 공급망을 공격할 수 있습니다. 다음 제품은 CI/CD 파이프라인을 보호하는 데 도움이 됩니다.
Cloud Build는 Google Cloud 인프라에서 빌드를 실행합니다. 보안 기능에는 세분화된 IAM 권한, VPC 서비스 제어, 격리된 임시 빌드 환경이 포함됩니다. 소프트웨어 공급망 보안에 관한 기능은 다음과 같습니다.
- 컨테이너 이미지를 위한 SLSA 수준 3 빌드 지원
- 컨테이너화된 애플리케이션에 대해 위조 불가능한 인증된 빌드 출처를 생성할 수 있는 기능
빌드된 애플리케이션의 보안 통계 여기에는 다음이 포함됩니다.
- SLSA 사양에 따라 소프트웨어 빌드 프로세스의 성숙도 수준을 식별하는 SLSA 빌드 수준
- 빌드 아티팩트의 취약점
- 빌드 출처: 빌드에 대한 검증 가능한 메타데이터의 모음. 빌드된 이미지의 다이제스트, 입력 소스 위치, 빌드 도구 모음, 빌드 단계, 빌드 기간과 같은 세부정보가 포함됩니다.
빌드된 애플리케이션의 보안 통계를 보는 방법은 애플리케이션 빌드 및 보안 통계 보기를 참조하세요.
Cloud Deploy는 정의된 시퀀스에 따라 애플리케이션을 일련의 대상 환경으로 자동으로 전송합니다. 기본 제공 전송 측정항목은 물론 클릭 한 번으로 승인 및 롤백, 기업 보안 및 감사, Google Kubernetes Engine, GKE Enterprise 및 Cloud Run으로의 지속적 배포를 지원합니다. 또한 배포된 애플리케이션에 대한 보안 인사이트를 표시합니다.
프로덕션 단계의 애플리케이션 보호
Google Kubernetes Engine (GKE) 및 Cloud Run은 런타임 환경의 보안 상황을 보호하는 데 도움이 됩니다. 두 가지 모두 런타임에서 애플리케이션을 보호하는 보안 기능과 함께 제공됩니다.
GKE는 컨테이너 보안 상태를 평가하고 클러스터 설정, 워크로드 구성, 취약점에 대한 적극적인 안내를 제공합니다. GKE에는 보안 상황을 개선하기 위한 독자적이고 활용 가능한 권장사항을 제공하는 보안 상황 대시보드가 포함되어 있습니다. GKE 보안 상황 대시보드에서 보안 통계를 보는 방법에 관한 안내는 GKE에 배포 및 보안 통계 보기를 참고하세요.
Cloud Run에는 SLSA 빌드 수준 규정 준수 정보, 빌드 출처, 실행 중인 서비스에서 발견된 취약점과 같은 소프트웨어 공급망 보안 통계를 표시하는 보안 패널이 포함되어 있습니다. Cloud Run 보안 통계 패널에서 보안 통계를 보는 방법은 Cloud Run에 배포 및 보안 통계 보기를 참고하세요.
정책을 통해 신뢰 사슬 구축
Binary Authorization은 이미지를 인증하는 디지털 문서인 증명을 수집하여 소프트웨어 공급망에서 신뢰 사슬을 구축, 유지, 확인하는 데 도움이 됩니다.
증명은 특정한 필수 프로세스를 성공적으로 실행하여 연결된 이미지가 빌드되었음을 나타냅니다. 수집된 증명을 기반으로 Binary Authorization은 신뢰 기반 정책을 정의, 확인, 적용하는 데 도움을 줍니다. 증명이 조직 정책에 부합할 때만 이미지가 배포되도록 합니다. 정책 위반이 발견되면 알림을 받도록 Binary Authorization을 구성할 수 있습니다.
예를 들어 증명으로 이미지에 대한 다음과 같은 사실을 확인할 수 있습니다.
- Cloud Build로 빌드됨
- 지정된 심각도보다 높은 취약점이 포함되어 있지 않습니다. 애플리케이션에 적용되지 않는 특정 취약점이 있는 경우 허용 목록에 추가할 수 있습니다.
GKE 및 Cloud Run에서 Binary Authorization을 사용할 수 있습니다.
가격 책정
Google Cloud 서비스마다 자체 가격이 적용됩니다. 자세한 내용은 관심 있는 서비스의 가격 책정 문서를 참고하세요.
- Cloud Workstations
- Cloud Code: 모든 Google Cloud 고객에게 무료로 제공됩니다.
- Assured OSS: 가격 정보는 영업팀에 문의하세요.
- Artifact Registry
- Artifact Analysis
- Cloud Build
- Cloud Deploy
- Cloud Run
- GKE
- Binary Authorization
다음 단계
- 소프트웨어 공급망 위협에 대해 알아보기
- 기존 보안 상태를 평가하여 상태를 강화하는 방법 확인
- 소프트웨어 공급망을 보호하기 위한 권장사항 및 Google Cloud 제품이 이러한 권장사항을 지원하는 방법을 알아보세요.