증명

증명 (Attestations)

Docker Hardened Images와 차트에 포함된 서명된 보안 증명이 무엇이고 어떻게 동작하는지 알아볼게요.

출처: 문서

본문

Docker Hardened Images(DHI)와 차트는 이미지의 빌드 과정, 내용, 보안 자세를 검증하는 포괄적인 서명된 보안 증명을 포함해요. 이 증명들은 안전한 소프트웨어 공급망 관행의 핵심 부분이며, 사용자가 이미지가 신뢰할 수 있고 정책을 준수한다는 것을 검증하게 해줘요.

증명이란 (What is an attestation?)

증명은 이미지나 차트가 어떻게 빌드됐는지, 무엇이 들어 있는지, 어떤 보안 검사를 통과했는지 같은 검증 가능한 정보를 제공하는 서명된 문이에요. 증명은 일반적으로 Sigstore 도구(Cosign 같은)로 서명되어, 변조 방지와 암호화 검증이 가능해요.

증명은 표준화된 형식(in-toto, CycloneDX, SLSA 같은)을 따르고 OCI 호환 메타데이터로 이미지나 차트에 첨부돼요. 이미지 빌드 중 자동 생성되거나, 추가 테스트·스캔 결과·사용자 정의 provenance를 문서화하기 위해 수동으로 추가될 수 있어요.

증명이 중요한 이유 (Why are attestations important?)

증명은 다음으로 소프트웨어 공급망에 대한 중요한 가시성을 제공해요:

  • 이미지에 무엇이 들어갔는지 문서화(예: SBOM)
  • 어떻게 빌드됐는지 검증(예: 빌드 provenance)
  • 통과하거나 실패한 보안 스캔이 무엇인지 포착(예: CVE 보고서, 비밀 스캔, 테스트 결과)
  • 조직이 규정 준수와 보안 정책을 시행하도록 지원
  • 런타임 신뢰 결정과 CI/CD 정책 게이트 지원

이들은 SLSA 같은 산업 표준을 충족하는 데 필수적이며, 빌드와 보안 데이터를 투명하고 검증 가능하게 만들어 팀이 공급망 공격의 위험을 줄이는 데 도움을 줘요.

Docker Hardened Images와 차트가 증명을 사용하는 방식 (How Docker Hardened Images and charts use attestations)

모든 DHI와 차트는 SLSA Build Level 3 관행으로 빌드되고, 각 이미지 변형은 전체 서명된 증명 집합과 함께 게시돼요. 이 증명들은 사용자가 다음을 할 수 있게 해줘요:

  • 이미지나 차트가 안전한 환경의 신뢰된 소스에서 빌드됐는지 검증
  • 여러 형식의 SBOM을 보고 구성 요소 수준 세부 사항 이해
  • 취약점이나 내장 비밀을 확인하기 위해 스캔 결과 검토
  • 각 이미지의 빌드·배포 이력 확인

증명은 자동으로 게시되고 각 DHI와 차트에 연관돼요. Docker Scout나 Cosign 같은 도구로 검사할 수 있고, CI/CD 도구나 보안 플랫폼이 사용할 수 있어요.

이미지 증명 (Image attestations)

모든 DHI 변형이 증명 집합을 포함하지만, 증명은 이미지 변형에 따라 다를 수 있어요. 예를 들어 일부 이미지는 STIG 스캔 증명을 포함해요. 다음 표는 DHI에 포함될 수 있는 증명을 나열하며, 실제 집합은 이미지 변형에 따라 달라요. 특정 이미지 변형에 어떤 증명이 있는지, 특정 predicate 타입 URI를 포함해 보려면 Docker Scout를 사용하세요:

$ docker scout attest list dhi.io/<image>:<tag>

자세한 내용은 이미지 증명 검증을 참고하세요.

증명 유형 설명
CycloneDX SBOM CycloneDX 형식의 소프트웨어 자재 명세서로, 구성 요소·라이브러리·버전을 나열.
STIG scan STIG 스캔 결과, HTML과 XCCDF 형식으로 출력.
CVEs (In-Toto format) 패키지·배포판 스캔을 기반으로 이미지 구성 요소에 영향을 주는 알려진 취약점(CVE) 목록.
VEX 이미지에 적용되지 않는 취약점을 식별하고 이유(예: 도달 불가능, 존재하지 않음)를 설명하는 Vulnerability Exploitability eXchange (VEX) 문서.
Scout provenance 소스 Git 커밋, 빌드 파라미터, 환경 세부 사항을 포함한 Docker Scout가 생성한 provenance 메타데이터.
Scout SBOM 추가 Docker 특정 메타데이터를 포함해 Docker Scout가 생성·서명한 SBOM.
Secrets scan 자격 증명, 토큰, 개인 키 같은 실수로 포함된 비밀에 대한 스캔 결과.
Tests 기능 검사나 검증 스크립트 같은 이미지에 대해 실행된 자동 테스트 기록.
Virus scan 이미지 레이어에 대한 안티바이러스 스캔 결과. 자세한 내용은 악성 코드 스캔 참고.
CVEs (Scout format) 알려진 CVE와 심각도 데이터를 나열하는 Docker Scout 생성 취약점 보고서.
SLSA provenance 빌드 도구·파라미터·소스를 포함해 이미지가 어떻게 빌드됐는지 설명하는 표준 SLSA provenance 문.
SLSA verification summary SLSA 요구 사항에 대한 이미지 준수를 나타내는 요약 증명.
SPDX SBOM 오픈소스 생태계에서 널리 채택된 SPDX 형식의 SBOM.
FIPS compliance 이미지가 FIPS 140 검증 암호화 모듈을 사용하는지 검증하는 증명.
DHI Changelog 버전에 걸쳐 이미지에 이루어진 변경 기록.
DHI Image Sources 패키지 소스 코드, Git 저장소, 로컬 파일을 포함해 이미지 빌드에 사용된 모든 자료를 담은 해당 소스 이미지에 대한 링크로, 오픈소스 라이선스 요구 사항 준수를 보장.

패키지 증명 (Package attestations)

이미지 수준 증명에 더해 Docker 강화 패키지도 자체 증명을 포함해요. 이 패키지 수준 증명은 이미지 안의 개별 패키지에 대한 provenance와 빌드 정보를 제공해, 공급망을 세밀하게 추적할 수 있게 해줘요.

패키지 증명은 각 패키지가 어떻게 빌드됐고 어떤 자료가 사용됐는지 보여주는 SLSA provenance 같은 이미지 증명과 유사한 정보를 포함해요. 이미지의 증명에서 패키지 정보를 추출한 다음 패키지의 자체 증명을 재귀적으로 검색할 수 있어요.

패키지 증명에 접근·검증하는 자세한 지침은 패키지 증명을 참고하세요.

Helm 차트 증명 (Helm chart attestations)

Docker Hardened Image(DHI) 차트도 Kubernetes 배포에 대한 투명성과 검증을 제공하는 포괄적인 서명된 증명을 포함해요. DHI 컨테이너 이미지처럼 이 차트들은 SLSA Build Level 3 관행으로 빌드되고 광범위한 보안 메타데이터를 포함해요.

DHI Helm 차트는 다음 증명을 포함해요. 이 증명들의 특정 predicate 타입 URI를 보려면 Docker Scout를 사용하세요:

$ docker scout attest list dhi.io/<chart>:<version>

자세한 내용은 Helm 차트 증명 검증을 참고하세요.

증명 유형 설명
CycloneDX SBOM 차트 자체와 차트가 참조하는 모든 컨테이너 이미지·도구를 나열하는 CycloneDX 형식의 소프트웨어 자재 명세서.
CVEs (In-Toto format) 차트가 참조하는 컨테이너 이미지와 구성 요소에 영향을 주는 알려진 취약점(CVE) 목록.
Scout provenance 차트 소스 저장소, 사용된 빌드 이미지, 빌드 파라미터를 포함한 Docker Scout가 생성한 provenance 메타데이터.
Scout SBOM 차트와 참조하는 컨테이너 이미지를 포함해 Docker Scout가 생성·서명한 SBOM, 추가 Docker 특정 메타데이터 포함.
Secrets scan 차트 패키지에서 자격 증명, 토큰, 개인 키 같은 실수로 포함된 비밀에 대한 스캔 결과.
Tests 참조된 이미지와의 기능·호환성을 검증하기 위해 차트에 대해 실행된 자동 테스트 기록.
Virus scan 차트 패키지에 대한 안티바이러스 스캔 결과. 자세한 내용은 악성 코드 스캔 참고.
CVEs (Scout format) 차트가 참조하는 이미지의 알려진 CVE와 심각도 데이터를 나열하는 Docker Scout 생성 취약점 보고서.
SLSA provenance 차트가 어떻게 빌드됐는지, 빌드 도구·소스 저장소·참조 이미지·빌드 자료를 포함해 설명하는 표준 SLSA provenance 문.
SPDX SBOM 차트와 참조하는 모든 컨테이너 이미지·도구를 나열하는 SPDX 형식의 SBOM.

증명 보기 및 검증 (View and verify attestations)

증명을 보거나 검증하려면 Docker Hardened Image 검증을 참고하세요.

나만의 증명 추가 (Add your own attestations)

Docker Hardened Images가 제공하는 포괄적인 증명에 더해, 파생 이미지를 빌드할 때 자체 서명된 증명을 추가할 수 있어요. 이는 DHI 위에 새 애플리케이션을 빌드하고 소프트웨어 공급망의 투명성, 추적 가능성, 신뢰를 유지하고 싶을 때 특히 유용해요.

SBOM, 빌드 provenance, 사용자 정의 메타데이터 같은 증명을 첨부함으로써 규정 준수 요구 사항을 충족하고, 보안 감사를 통과하고, Docker Scout 같은 정책 평가 도구를 지원할 수 있어요.

이 증명들은 이후 Cosign이나 Docker Scout 같은 도구로 하류에서 검증할 수 있어요.

빌드 과정에서 사용자 정의 증명을 첨부하는 방법은 빌드 증명을 참고하세요.

더 알아보기 (Learn more)