Snyk Container 작동 방식

컨테이너 이미지

Open Container Initiativearrow-up-right (OCI) 사양에 정의된 대로 컨테이너 이미지는 계층화된 파일 시스템과 관련 메타데이터로 구성됩니다.

컨테이너 이미지는 종종 다음의 타사 소프트웨어를 포함하는 여러 계층을 포함합니다.

Snyk Container가 감지하는 것

Snyk Container가 사용 가능한 통합을 사용하여 이미지를 테스트할 때 Snyk은 먼저 다음을 포함하여 이미지에 설치된 소프트웨어를 찾습니다.

  • dpkg, rpm 및 apk 운영 체제 패키지

  • 널리 사용되는 비관리형 소프트웨어 (패키지 관리자 외부에 설치됨)

  • 매니페스트 파일의 존재 여부에 따른 애플리케이션 패키지

circle-info

Snyk은 중간 계층이 아닌 최종 빌드된 이미지에서 패키지와 취약점을 스캔합니다.

Snyk은 파일 시스템에서 정보를 읽기 때문에 컨테이너를 실행할 필요가 없습니다. 즉, 성공적인 스캔을 위해 컨테이너나 외부 코드를 실행하지 않아야 합니다.

Snyk은 설치된 소프트웨어 목록을 확보한 후 공개 소스와 자체 연구를 결합한 Snyk 취약점 데이터베이스에서 이를 조회합니다.

circle-exclamation

공개 기본 이미지 권장 사항을 제공할 때 Snyk의 논리는 감지된 기본 이미지의 원본 리포지토리, 버전(flavor) 및 버전을 고려합니다. 즉, Snyk의 업그레이드 권장 사항은 발견된 취약점의 수나 심각도를 줄이는 것을 목표로 하며, 마이너 버전 업그레이드는 일반적으로 현재 사용되는 기본 이미지와의 호환성을 유지합니다.

Snyk Container가 사용하는 공식 권고 리소스

Snyk은 지원되는 Linux 배포판의 보안 팀과 직접 협력하여 영향을 받는 패키지(수정 가용성 포함)에 대한 가장 정확하고 신뢰할 수 있는 정보를 제공합니다. 나열된 특정 패키지 버전은 공식 컨테이너 소스에서 배포한 버전이며 업스트림 패키지 버전과 다를 수 있습니다.

비관리형 컨테이너 소프트웨어

업스트림 공급자의 일부 소프트웨어 구성 요소는 패키지 관리자를 사용하여 설치되지 않고 타사에서 실행 파일로 다운로드됩니다. Snyk은 파일 지문(file fingerprinting)을 사용하여 다음 구성 요소의 버전을 감지합니다.

  • Node.js

  • OpenJDK 8 바이너리

반복 컨테이너 이미지 스캔

Snyk은 지속적으로 새로운 취약점을 공개합니다. Snyk은 설치된 이미지 소프트웨어가 변경되지 않은 경우에도 이미지가 발표될 때 이미지의 새로운 취약점에 대해 경고할 수 있습니다.

Snyk 서비스에 설치된 소프트웨어의 스냅샷을 저장하는 통합을 사용하고 이미지가 변경되지 않은 경우, Snyk Container는 이미지에 액세스하지 않고 자동으로 다시 스캔하여 새로운 취약점을 경고합니다.

이미지가 변경된 경우, Snyk이 다시 스캔하기 전에 업데이트된 이미지와 메타데이터에 액세스할 수 있도록 이미지를 다시 가져와야 합니다.

circle-info

반복 스캔은 애플리케이션의 종속성 업데이트를 감지하지 않습니다. 반복 스캔은 애플리케이션을 가져올 당시의 애플리케이션 종속성 스냅샷을 사용하여 새로운 취약점을 테스트합니다.

업데이트된 종속성과 같은 애플리케이션의 변경 사항을 감지하려면 Snyk에서 컨테이너 이미지를 다시 가져와야 합니다.

Last updated