취약점 스캔

컨테이너 분석은 컨테이너의 취약점 스캔 및 메타데이터 스토리지를 제공합니다. 이 페이지에서는 취약점 스캔을 설명합니다.

취약점 스캔

소프트웨어 취약점은 우발적인 시스템 오류를 일으키거나 의도적으로 악용될 수 있는 약점을 말합니다.

컨테이너 분석은 Container Registry의 이미지에 대한 취약점 스캔을 수행하고 취약점 정보를 모니터링하여 최신 상태로 유지합니다. 이 프로세스는 다음 두 가지 주요 작업으로 구성됩니다.

  • 증분 스캔: Container Registry에 새 이미지가 업로드되면 컨테이너 분석이 해당 이미지를 스캔합니다. 이 스캔은 컨테이너 매니페스트를 기반으로 메타데이터를 수집하고 이미지를 다시 업로드(다시 푸시)할 때마다 이 메타데이터를 업데이트합니다.

  • 연속 분석: 컨테이너 분석이 Container Registry의 스캔 이미지 메타데이터를 지속적으로 모니터링하여 새로운 취약점이 있는지 확인합니다. 컨테이너 분석은 취약점 소스에서 새로운 업데이트된 취약점 정보를 수신하면 컨테이너를 다시 분석하여 이미 스캔한 이미지의 취약점 어커런스 목록을 최신 상태로 유지합니다. 새 메모에 대한 새 어커런스를 작성하고 더 이상 유효하지 않은 어커런스를 삭제합니다. 이 유형의 분석은 패키지 취약점에만 해당되며 다른 종류의 메타데이터는 포함하지 않습니다.

이미지 스캔이 완료된 후 생성된 취약점 결과는 해당 이미지에 대한 취약점 어커런스의 모음입니다.

취약점 소스

Container Analysis API는 Linux 배포판의 패키지 취약점 스캔을 지원하고 다음 소스에서 CVE 데이터를 가져옵니다.

취약점의 심각도 수준

컨테이너 분석은 다음과 같은 심각도 수준을 사용합니다.

  • 심각
  • 높음
  • 보통
  • 낮음
  • 최소

심각도 수준은 취약점의 악용 가능성, 범위, 영향, 성숙도와 같은 요소를 반영하는 정성적 라벨입니다. 예를 들어 원격 사용자가 시스템에 쉽게 액세스하여 인증 또는 사용자 상호작용 없이 임의의 코드를 실행할 수 있는 취약점이 있다면 이 취약점은 심각으로 분류됩니다.

두 가지 심각도가 각 취약점과 연결되어 있습니다.

  • 유효 심각도 - Linux 배포판에서 할당한 심각도 수준. 컨테이너 분석은 배포판 관련 심각도 수준을 볼 수 없는 경우 메모 제공업체가 할당한 심각도 수준을 사용합니다.

  • CVSS 점수 - Common Vulnerability Scoring System 점수 및 관련 심각도 수준. CVSS 점수 계산 방법에 대한 자세한 내용은 CVSS 3.0 사양을 참조하세요.

특정 취약점의 경우 계산된 CVSS 점수에서 파생된 심각도가 유효 심각도와 일치하지 않을 수 있습니다. 심각도 수준을 할당하는 Linux 배포판은 자체 기준을 사용하여 취약점이 배포에 미치는 구체적인 영향을 평가합니다.

기본 컨테이너 분석 서비스 계정

컨테이너 분석은 사용자를 대신해 사용자 이미지에 대한 정보를 수집하는 특수한 Google 계정인 서비스 계정을 이용해 사용자의 컨테이너 이미지를 분석합니다. 컨테이너 분석 서비스 계정의 이메일은 service-[PROJECT_NUMBER]@container-analysis.iam.gserviceaccount.com입니다. 이 계정은 컨테이너 분석 서비스 에이전트 역할을 사용합니다.

취약점 스캔을 사용 설정하면 이 기능에서 사용하는 Container Scanning API도 특수한 Google 계정을 사용합니다. 해당 서비스 계정의 이메일은 service-[PROJECT_NUMBER]@gcp-sa-containerscanning.iam.gserviceaccount.com입니다. 이 계정은 Container Scanner 서비스 에이전트 역할을 사용합니다.

Cloud Console의 IAM 메뉴를 통해 프로젝트의 서비스 계정을 볼 수 있습니다.

컨테이너 분석 인터페이스

Cloud Console에서 Container Registry 컨테이너의 이미지 취약점 및 이미지 메타데이터를 볼 수 있습니다.

gcloud 도구를 사용하여 취약점 및 이미지 메타데이터를 볼 수 있습니다.

또한 Container Analysis REST API로 이러한 작업을 수행할 수도 있습니다. 다른 Cloud Platform API를 이용할 때처럼 OAuth2를 이용해 액세스를 인증해야 합니다 . 인증이 끝나면 API를 이용해 새로운 메모와 어커런스를 만들고 취약점 어커런스를 확인하는 등의 작업을 할 수 있습니다.

Container Analysis API는 gRPC와 REST/JSON을 모두 지원합니다. 클라이언트 라이브러리나 REST/JSON용 cURL을 이용해 API를 호출할 수 있습니다.

취약한 이미지의 배포 제어

컨테이너 분석을 Binary Authorization과 통합하여 알려진 보안 문제가 있는 이미지가 배포 환경에서 실행되지 않도록 할 수 있습니다.

다음 단계