
컨테이너 스캐닝이란? 유형 및 모범 사례
컨테이너 스캐닝은 컨테이너화된 애플리케이션의 보안을 확보하는 핵심 단계입니다. 컨테이너에서 취약점과 악성코드를 스캔하면 잠재적 보안 위협을 식별하고 피해가 발생하기 전에 해결할 수 있습니다.

클라우드 환경에서 애플리케이션 개발에 컨테이너를 활용하는 방식은 널리 알려져 있으며, 현대 기업은 클라우드 중심 아키텍처로 전환하고 있습니다. 컨테이너 스캐닝은 컨테이너 보안의 일부이자 컨테이너화된 DevOps 워크플로를 보호하는 기본 보안 조치입니다.
모든 컨테이너가 똑같이 만들어지는 것은 아니며, 신뢰할 수 없는 출처와 공개 저장소에서 가져온 이미지도 많습니다. 이러한 이미지는 새로운 위협 경로를 만들고, 악성 구성 요소를 포함하며, 알려지지 않은 위험을 초래할 수 있습니다.

이 글에서는 컨테이너 스캐닝의 기본 개념과 컨테이너 보안에 중요한 이유를 살펴봅니다. 또한 일반적인 컨테이너 취약점과 여러 스캐닝 방법을 소개하고 구현 과정을 안내합니다. 자세히 알아보겠습니다.
컨테이너 스캐닝(컨테이너 이미지 스캐닝)이란?
컨테이너 스캐닝은 고급 보안 도구로 컨테이너 이미지의 구성 요소를 계층별로 분석해 잠재적 위협을 탐지합니다.
컨테이너 스캐닝 도구는 글로벌 데이터베이스를 활용해 취약점을 식별하고 위험 요소를 확인합니다. 클라우드 네이티브 애플리케이션의 악용 가능성을 찾아 개발 팀이 취약점이 악용되기 전에 조기에 발견하고 해결하도록 합니다. 이를 통해 개발 초기부터 시프트 레프트 보안 조치를 적용하고, 분석을 수행하며, 취약점 해결 방안을 제시합니다.
컨테이너 스캐닝이 필요한 이유는?
컨테이너에는 여러 이미지가 포함되며, 이 이미지들은 기본 이미지의 취약점을 물려받습니다. 여기에는 각종 잘못된 구성, 악성코드, 기타 보안 결함이 포함됩니다. 시프트 레프트 보안을 적용하려면 먼저 컨테이너 이미지의 종속성과 패키지를 분석해 위협을 제거하고 프로덕션 파이프라인에 배포되지 않도록 해야 합니다.
컨테이너 이미지의 취약점이 심각한 문제로 커지기 전에 스캐너로 식별하고 해결해야 합니다. 컨테이너를 제대로 스캔하지 않으면 민감한 자격 증명이 유출되고, 데이터 침해가 발생하며, 보안이 손상될 수 있습니다.
일반적인 컨테이너 취약점은?
컨테이너는 기업이 애플리케이션을 구축, 배포, 사용하는 방식을 바꾸고 있습니다. 효율성과 이식성을 높이고, 적합한 운영체제, 설정, 프로덕션 환경을 걱정하지 않고도 소프트웨어를 실행할 수 있게 합니다. 컨테이너는 기본적으로 안전하지만, 다른 기술과 마찬가지로 특정 보안 위험에 노출됩니다.
가장 일반적인 컨테이너 보안 취약점은 다음과 같습니다:
- 신뢰할 수 없는 컨테이너 – 주로 신뢰할 수 없거나 검증되지 않은 출처의 소프트웨어를 실행하는 컨테이너입니다. 악성코드를 포함할 수 있으며, 공개 저장소에 올라가면 공격자가 네트워크에 무단으로 접근하는 경로가 될 수 있습니다.
- 안전하지 않은 구성 – 컨테이너를 실행하는 시스템은 OS 수준의 공격에 취약할 수 있으므로 호스트 OS를 적절히 업데이트하고 구성해야 합니다. 권한 상승 공격을 허용하거나 컨테이너화 계층을 잘못 구성한 설계도 여기에 해당합니다.
- 시크릿 관리 – 시크릿을 보호하지 않는 컨테이너는 모든 계층에서 침입에 취약합니다. 안전하지 않은 API 키와 토큰은 시크릿 관리 결함의 주요 원인입니다. 개인 키를 정기적으로 교체하지 않으면 공격자가 자격 증명을 알아내 접근 권한이 없는 리소스에 침입할 수 있습니다.
컨테이너 보안 스캐닝의 유형
컨테이너 이미지는 다양한 출처에서 가져올 수 있으므로 이미지의 신뢰성을 유지하는 것이 중요합니다. 배포 전부터 프로덕션까지 애플리케이션 수명 주기 전반의 보안을 확보하려면 다음 세 영역에서 컨테이너 스캐닝을 적용해야 합니다:
1. 컨테이너 레지스트리 스캐닝-컨테이너 애플리케이션 레지스트리에는 다양한 출처에서 구축된 이미지 수천 개가 저장됩니다. 레지스트리에는 타사 위치도 포함되므로 단일 위협이 애플리케이션 전체에 영향을 줄 수 있습니다. 컨테이너 보안을 유지하려면 레지스트리의 변경 사항과 취약점을 지속적으로 스캔해야 합니다. 이 과정을 자동화하고 모든 이미지에서 잠재적 위협을 확인해야 합니다.
2. 런타임 스캐닝-런타임에 컨테이너를 스캔하면 새로운 CVE와 취약점을 식별하고 보안 팀에 즉시 보고합니다. 자동화된 런타임 스캐닝은 컨테이너 환경 전반의 위험에 우선순위를 부여하고 런타임 보호를 강화합니다. 기준 상태를 설정해 컨테이너를 안전하게 유지하고 이상 징후를 완화합니다.
3. 취약점 스캐닝-취약점 스캐닝은 애플리케이션 수명 주기 전반에 걸쳐 컨테이너의 모든 구성 요소를 분석합니다. 이는 효과적인 DevSecOps 관행이며, 보안 팀은 효과적인 위협 탐지와 해결을 위해 컨테이너 이미지 스캐닝을 CI/CD 파이프라인에 통합해야 합니다. 취약점 스캐닝은 코드가 컨테이너에 들어가기 전에 취약점을 찾아 차단해 보호를 강화합니다.
컨테이너 스캐닝은 어떻게 구현하나요?
컨테이너 보안 스캐닝은 클라우드 네이티브 환경과 애플리케이션을 모니터링하고 보호하는 표준 워크플로로 자리 잡고 있습니다. 대부분의 개발자는 내부 도구로 컨테이너를 스캔할 때 실행 환경을 분리하는 방식을 선호합니다.
컨테이너 스캐닝은 다음 세 단계로 진행됩니다:
- 1단계 – 애플리케이션 코드 보호
- 2단계 – 컨테이너 이미지 스캔
- 3단계 – 연결 계층 스캔
1단계 – 애플리케이션 코드 보호
컨테이너 애플리케이션 코드를 개발할 때 코드의 취약점과 종속성을 스캔하고 추적할 수 있습니다. 컨테이너화, 통합, 배포에 앞서 개발 주기 초기에 오류를 발견합니다. 최초 애플리케이션 코드 스캔은 코드를 컨테이너에 넣은 후 수행할 수 있습니다.
2단계 – 컨테이너 이미지 스캔
다양한 컨테이너 이미지 스캐닝 도구가 디지털 서명을 분석해 이미지의 품질과 여러 취약점을 평가합니다. 컨테이너 이미지 스캐닝은 출처를 조사하고 게시자를 검증해 이미지의 무결성과 진위성을 확인합니다.
3단계 – 연결 계층 스캔
컨테이너의 중간 계층에는 보안 취약점이 집중되어 있습니다. 계층 수를 최소화해 컨테이너 이미지를 맞춤 구성할 수 있습니다.
컨테이너 보안 스캐닝 모범 사례
컨테이너 보안 스캐닝의 모범 사례는 다음과 같습니다:
- CLI 로컬 스캔
- CI/CD 파이프라인에 자동 스캔 통합
- 인라인 이미지 스캔 도입
- 이미지 버전 고정
- 시크릿 스캔
- 드리프트 탐지
1. CLI 로컬 스캔
CLI 로컬 스캔은 Docker 스캔 기능을 제공하므로 로컬 컨테이너 이미지를 빌드한 직후 쉽게 스캔할 수 있습니다. docker scan 명령으로 CLI 스캔을 실행하세요. 이는 컨테이너 보안 모범 사례를 구현하는 첫 단계 중 하나입니다.
2. CI/CD 파이프라인에 자동 스캔 통합
다음 단계는 CI/CD 파이프라인에 자동 스캔을 통합하고 빌드 중인 컨테이너 이미지를 지속적으로 분석하는 것입니다. 이를 통해 심각한 보안 사고를 방지하고, 빌드 실패를 보고하며, 취약점을 식별할 수 있습니다.
3. 인라인 이미지 스캔 도입
인라인 이미지 스캔은 데이터 프라이버시를 관리하고 이미지 자격 증명을 보호합니다. 퍼블릭 리포지토리를 스테이징할 필요 없이 스캔 메타데이터 도구만 있으면 됩니다. GitLab, AWS Codepipeline, Jenkins, Tekton을 비롯한 다양한 CI/CD 도구에서.
4. 이미지 버전 고정
동일한 이미지에서 서로 다른 버전의 컨테이너를 배포할 수 있으므로 잘못된 이미지를 스캔하는 경우가 있습니다. 이로 인해 디버깅에 문제가 생길 수 있습니다. 변경 가능한 태그를 사용한다면 태그가 계속 업데이트되고 새 버전이 나오면서 스캔 결과가 무효화될 수도 있습니다.
정기적인 변경의 영향을 받지 않도록 변경 불가능한 태그를 적용하고 이미지 버전을 고정해야 합니다. 컨테이너 이미지 스캔, OPA 엔진, Kubernetes 어드미션 컨트롤러를 함께 사용하면 이 과정을 관리할 수 있습니다.
5. 시크릿 스캔
시크릿 스캔은 비밀번호, 사용자 이름, 개인 키를 보호합니다. 이미지를 배포하기 전에 시크릿을 스캔하는 것은 좋은 방법이며, 사용자는 이미지 출처를 확인할 수 있습니다. 시크릿 스캔은 정보 유출을 방지하고 보안이 적용된 컨테이너화된 워크로드에서 정보에 액세스할 수 있도록 합니다. 또한 컨테이너 유지 관리를 더 쉽게 하며, 많은 워크플로가 내부 도구를 사용해 Kubernetes 클러스터를 모니터링하도록 설계되었습니다. 일부 사용자는 서로 다른 구성을 분석할 때 별도의 실행 환경을 사용하는 것을 선호합니다.
6. 드리프트 탐지
컨테이너 배포를 설계 단계부터 불변으로 만드세요. 구성 드리프트 발생 가능성을 최소화하도록 최신 보안 패치와 구성 업데이트를 적용하고 새 컨테이너 이미지를 배포하는 것이 중요합니다. 바이너리 드리프트 탐지를 사용해 승인되지 않은 실행 파일의 유입이나 원치 않는 변경을 식별하세요. 드리프트 탐지를 CI/CD 파이프라인에 통합할 수 있으며, 런타임 보안 도구로 런타임 동작을 모니터링하는 것이 좋습니다. 통합 드리프트 탐지, 컨테이너 이미지 스캔, 정책 적용 및 컨테이너 런타임 보호 기능을 제공하는 컨테이너 보안 플랫폼을 사용하세요.
컨테이너 보안 스캔에 SentinelOne을 선택해야 하는 이유는 무엇인가요?
SentinelOne은 Kubernetes, 컨테이너, 클라우드 네이티브 워크로드에 대한 포괄적인 가시성, 자동 위협 탐지, 보안 상태 관리를 결합해 업계 최고 수준의 컨테이너 보안을 제공합니다. SentinelOne Singularity™ Cloud Native Security (CNS)는 에이전트 없는 컨테이너 스캔을 제공하여 보안 팀이 배포 전 컨테이너 이미지에서 취약점, 잘못된 구성, 노출된 시크릿을 탐지합니다. SentinelOne은 750가지가 넘는 시크릿 유형을 스캔하여 조직이 자격 증명 유출을 방지하고 GitHub, GitLab, BitBucket 및 기타 CI/CD 리포지토리 전반에서 안전한 코드 관리 상태를 유지하도록 지원합니다.
이 플랫폼에는 Kubernetes 보안 태세 관리(KSPM) 기능이 포함되어 있습니다. 조직은 Kubernetes 클러스터의 보안 모범 사례를 지속적으로 모니터링하고 적용합니다. SentinelOne은 설정 변경을 탐지하고 NIST, CIS, MITRE 등 주요 컴플라이언스 표준에 맞춘 2,000개 이상의 기본 제공 규칙 세트를 제공합니다. 보안 팀은 설정 오류와 컴플라이언스 격차에 실시간으로 대응합니다. CNS는 기존 워크플로의 중단을 최소화하면서 DevOps 파이프라인에 자연스럽게 통합됩니다. 정책 적용을 자동화하고 실행 가능한 인사이트를 제공합니다.
SentinelOne의 Singularity™ Cloud Workload Security (CWS)는 AI 기반 탐지를 사용해 랜섬웨어, 크립토재킹, 제로데이 공격을 머신 스피드로 차단하며 런타임의 컨테이너화된 워크로드까지 보호합니다. SentinelOne은 정적 분석, 동적 위협 탐지, 자동 대응을 결합하여 조직이 통합 대시보드에서 멀티클라우드 환경 전반의 VM, 컨테이너, Kubernetes 등 모든 영역을 방어합니다.
에이전트 없는 CNAPP 아키텍처를 통해 SentinelOne은 보안 팀이 영향력이 큰 경고와 검증된 악용 경로에 집중하도록 지원하며 오탐과 운영 부담을 줄입니다. 자동 온보딩, 즉각적인 적용 범위, 통합 정책 관리를 갖춘 SentinelOne은 빌드부터 런타임까지 전체 개발 수명 주기에 걸쳐 컨테이너를 보호하는 데 적합한 플랫폼입니다.

서버, VM, 컨테이너를 위한 AI 기반 클라우드 워크로드 보호(CWPP)로, 런타임 위협을 실시간으로 탐지하고 차단합니다.
결론
CI/CD 파이프라인 스캔과 OS 취약점 스캔 같은 컨테이너 이미지 스캔 모범 사례는 이미지를 안전하게 보호하고 악용을 방지합니다. 최상의 컨테이너 보안을 유지하려면 빌드 시작부터 완료까지 반복적으로 개선하는 지속적인 과정이 필요합니다.
컨테이너 애플리케이션 개발 수명 주기의 모든 단계에서 위협을 모니터링하고 새로운 보안 위험에 대비하는 것이 필수적입니다. 컨테이너 스캔은 숨겨진 익스플로잇을 찾아내고 취약점을 제거하며, 컨테이너화된 애플리케이션의 동작 변화나 악성 이벤트를 모니터링해 최적의 보안을 유지합니다. SentinelOne은 감사 로깅, 권한 관리, IaC 템플릿 지원 등의 기능을 즉시 제공하여 컨테이너 스캔 과정을 원활하게 만듭니다.

SentinelOne 작동 보기
센티넬원 제품 전문가와의 일대일 데모를 통해 AI 기반 클라우드 보안으로 조직을 보호하는 방법을 알아보세요.
컨테이너 스캔 FAQ
컨테이너 스캔은 컨테이너 이미지와 실행 중인 컨테이너를 분석하여 보안 취약점, 잘못된 구성, 규정 준수 문제를 식별하는 과정입니다. 컨테이너화된 애플리케이션의 보안 상태를 점검하는 것입니다.
기본 운영 체제부터 애플리케이션 종속성까지 모든 요소를 검사하고 National Vulnerability Database와 같은 취약점 데이터베이스와 대조합니다. 이를 통해 보안 문제가 프로덕션 환경에 도달하기 전에 발견합니다.
컨테이너 스캔은 기본 이미지의 운영 체제 취약점, 취약한 애플리케이션 종속성, 과도한 사용자 권한이나 노출된 포트 같은 구성 결함을 탐지합니다. 또한 하드코딩된 API 키와 비밀번호 등의 시크릿, 악성코드, CIS 벤치마크와 같은 표준의 규정 준수 위반도 찾아냅니다.
스캐너는 오래된 라이브러리, Dockerfile의 잘못된 구성, 공격자가 악용할 수 있는 과도한 권한을 검사합니다.
배포 전에 취약점을 발견하도록 CI/CD 파이프라인에 스캔을 통합하세요. 신뢰할 수 있는 출처의 최소 기본 이미지를 사용하고 빌드 시점과 런타임 모두에서 스캔하여 포괄적인 보호 범위를 확보하세요.
적절한 경고 임계값을 설정해 스캔을 자동화하고 취약점 데이터베이스를 정기적으로 업데이트하세요. 심각한 취약점이 발견되면 배포를 차단하는 정책도 구현하세요.
컨테이너 스캐너는 먼저 이미지를 가져와 구성 레이어로 분해한 다음 각 구성 요소를 개별적으로 분석합니다. 시그니처 기반 스캔으로 구성 요소를 CVE와 같은 알려진 취약점 데이터베이스와 대조하고, 동작 기반 스캔으로 런타임의 비정상적인 활동을 탐지합니다.
스캐너는 기본 이미지, 애플리케이션 코드, 종속성, 구성을 검사한 다음 해결이 필요한 보안 문제를 표시합니다.


