Docker Scout로 소프트웨어 공급망 보안 확보하기

Docker Scout로 소프트웨어 공급망 보안 확보하기

취약점 탐지와 교정을 자동화해 컨테이너 보안을 강화해볼게요.

출처: 문서

본문

컨테이너 이미지가 안전하지 않으면 심각한 위험이 발생할 수 있어요. 조직의 약 60%가 1년 안에 최소 한 건의 보안 침해나 취약점 사고를 경험했다고 보고했으며, 이는 운영 중단 으로 이어져요. 이러한 사고는 종종 상당한 가동 중단을 초래하는데, 피해 기업의 44%가 사건당 1시간 이상의 가동 중단을 경험해요. 재정적 영향도 상당해서 평균 데이터 침해 비용 이 445만 달러 에 달해요. 이는 견고한 컨테이너 보안 조치를 유지하는 것의 중요성을 강조해요.

Docker Scout는 자동화된 취약점 탐지와 교정을 제공하고, 안전하지 않은 컨테이너 이미지를 다루며, 보안 표준 준수를 보장해 컨테이너 보안을 강화해요.

배우게 될 내용

  • Secure Software Supply Chain(SSSC) 정의하기
  • SBOM 검토 및 사용 방법
  • 취약점 탐지와 모니터링

도구 통합

Docker Desktop, GitHub Actions, Jenkins, Kubernetes 및 기타 CI 솔루션과 잘 작동해요.

누구를 위한 가이드인가요?

  • 워크플로의 보안과 효율성을 높이기 위해 CI/CD 파이프라인에 자동화된 보안 검사를 통합해야 하는 DevOps 엔지니어
  • 개발 과정 초기에 Docker Scout로 취약점을 식별·교정해 안전한 컨테이너 이미지를 생산하고 싶은 개발자
  • 보안 규정 준수를 강제하고 취약점 평가를 수행하며 컨테이너화된 어플리케이션의 전반적 보안을 보장해야 하는 보안 전문가

왜 Docker Scout인가요?

조직은 재정적 손실, 운영 중단, 브랜드 평판과 고객 신뢰에 대한 장기적 손상을 포함한 데이터 침해의 상당한 도전에 직면해 있어요. Docker Scout는 안전하지 않은 컨테이너 이미지 식별, 보안 침해 방지, 취약점으로 인한 운영 중단 위험 감소 같은 핵심 문제를 해결해요.

Docker Scout는 여러 이점을 제공해요:

  • 안전하고 신뢰할 수 있는 콘텐츠
  • SDLC(소프트웨어 개발 수명주기)에 대한 기록 시스템
  • 지속적인 보안 자세 개선

Docker Scout는 자동화된 취약점 탐지와 교정을 제공해 조직이 개발 과정 초기에 컨테이너 이미지의 보안 문제를 식별하고 해결하도록 도와줘요. 또한 Docker Desktop과 GitHub Actions 같은 인기 있는 개발 도구와 통합해 기존 워크플로 내에서 원활한 보안 관리와 규정 준수 검사를 제공해요.

Docker Scout 데모

Docker Scout는 컨테이너화된 어플리케이션 보안을 강화하고 견고한 소프트웨어 공급망을 보장하는 강력한 기능을 갖추고 있어요.

  • 취약점 교정 정의하기
  • 컨테이너화된 어플리케이션의 보안과 무결성을 유지하기 위해 교정이 필수적인 이유 논의하기
  • 흔한 취약점 논의하기
  • 교정 기법 구현하기: 베이스 이미지 업데이트, 패치 적용, 불필요한 패키지 제거
  • Docker Scout로 교정 노력 검증·확인하기

소프트웨어 공급망 보안

"소프트웨어 공급망"이라는 용어는 소프트웨어를 개발하고 전달하는 종단간 과정, 즉 개발부터 배포와 유지보수까지를 의미해요. 소프트웨어 공급망 보안, 줄여서 "S3C"는 공급망의 구성 요소와 프로세스를 보호하는 관행이에요.

S3C는 조직이 소프트웨어 보안에 접근하는 방식의 근본적인 변화예요. 전통적으로 소프트웨어 산업에서 보안과 규정 준수는 대부분 사후 고려 사항이었고 소프트웨어 전달이나 릴리스 단계에 남겨졌어요. S3C를 사용하면 보안이 개발·테스트의 내부 루프부터 출시·모니터링의 외부 루프까지 전체 소프트웨어 개발 수명주기에 통합돼요.

소프트웨어 공급망 행동에 대한 업계 모범 사례를 따르는 것은 조직이 소프트웨어를 보안 위협, 규정 준수 위험, 기타 취약점으로부터 보호하도록 도와주기 때문에 중요해요. 소프트웨어 공급망 보안 프레임워크를 구현하면 이해관계자 전반에 걸쳐 프로젝트의 가시성, 협업, 추적성을 향상시켜요. 이는 조직이 위협을 더 효과적으로 탐지·대응·교정하도록 도와줘요.

소프트웨어 공급망 확보

안전한 소프트웨어 공급망을 구축하려면 다음과 같은 몇 가지 핵심 단계가 필요해요:

  • 어플리케이션을 빌드·실행하는 데 사용하는 소프트웨어 구성 요소와 의존성 식별하기
  • 소프트웨어 개발 수명주기 전반에 걸쳐 보안 테스트 자동화하기
  • 소프트웨어 공급망을 보안 위협으로부터 모니터링하기
  • 소프트웨어가 어떻게 빌드되는지, 그리고 포함하는 구성 요소를 규율하는 보안 정책 구현하기

소프트웨어 공급망을 관리하는 것은 특히 오늘날처럼 여러 소스의 다양한 구성 요소로 소프트웨어가 빌드되는 시대에는 복잡한 작업이에요. 조직은 사용하는 소프트웨어 구성 요소와 관련된 보안 위험을 명확히 이해해야 해요.

Docker Scout가 다른 점

Docker Scout는 조직이 소프트웨어 공급망을 확보하도록 설계된 플랫폼이에요. 소프트웨어 자산과 정책을 식별·관리하고 보안 위협을 자동 교정하기 위한 도구와 서비스를 제공해요.

소프트웨어 개발 수명주기의 특정 단계에서 예약된 시점 스캔에 초점을 맞춘 전통적인 보안 도구와 달리, Docker Scout는 전체 소프트웨어 공급망을 아우르는 현대적인 이벤트 중심 모델을 사용해요. 즉 내 이미지에 영향을 주는 새 취약점이 공개되면 업데이트된 위험 평가가 몇 초 안에, 그리고 개발 과정에서 더 이른 시점에 제공돼요.

Docker Scout는 이미지의 구성을 분석해 SBOM(Software Bill of Materials)을 만들어 작동해요. SBOM은 보안 권고와 상호 참조되어 내 이미지에 영향을 주는 CVE를 식별해요. Docker Scout는 20개 이상의 보안 권고 와 통합되고 취약점 데이터베이스를 실시간으로 업데이트해요. 이는 내 보안 자세가 사용 가능한 최신 정보로 표시되게 보장해요.

SBOM(Software Bill of Materials)

BOM(Bill of Materials)은 제품을 제조하는 데 필요한 재료, 부품, 각각의 수량 목록이에요. 예를 들어 컴퓨터용 BOM은 마더보드, CPU, RAM, 전원 공급 장치, 저장 장치, 케이스 및 기타 구성 요소와 컴퓨터를 빌드하는 데 필요한 각각의 수량을 나열할 수 있어요.

SBOM(Software Bill of Materials)은 소프트웨어를 구성하는 모든 구성 요소의 목록이에요. 여기에는 오픈소스와 타사 구성 요소, 그리고 소프트웨어를 위해 작성된 커스텀 코드가 포함돼요. SBOM은 물리적 제품의 BOM과 비슷하지만 소프트웨어용이에요.

소프트웨어 공급망 보안의 맥락에서 SBOM은 소프트웨어의 보안·규정 준수 위험을 식별하고 완화하는 데 도움이 될 수 있어요. 소프트웨어에 정확히 어떤 구성 요소가 사용되는지 알면 구성 요소의 취약점을 신속히 식별·패치하거나, 구성 요소가 내 프로젝트와 호환되지 않는 방식으로 라이선스가 부여됐는지 판단할 수 있어요.

SBOM의 내용

SBOM은 보통 다음 정보를 포함해요:

  • SBOM이 설명하는 소프트웨어의 이름(라이브러리나 프레임워크 이름 같은)
  • 소프트웨어의 버전
  • 소프트웨어가 배포되는 라이선스
  • 소프트웨어가 의존하는 다른 구성 요소 목록

Docker Scout가 SBOM을 사용하는 방법

Docker Scout는 SBOM을 사용해 Docker 이미지에 사용되는 구성 요소를 판단해요. 이미지를 분석할 때 Docker Scout는 이미지에 증명(attestation)으로 첨부된 SBOM을 사용하거나, 이미지 내용을 분석해 즉석에서 SBOM을 생성해요.

SBOM은 권고 데이터베이스 와 상호 참조되어 이미지의 구성 요소 중 알려진 취약점이 있는 것이 있는지 판단해요.

증명(Attestations)

빌드 증명 은 이미지가 어떻게 빌드됐고 무엇을 포함하는지에 대한 자세한 정보를 제공해요. BuildKit이 빌드 시점에 생성하는 이러한 증명은 최종 이미지에 메타데이터로 첨부되어, 이미지를 검사해 그 기원, 생성자, 내용을 볼 수 있게 해줘요. 이 정보는 이미지의 보안과 공급망에 대한 영향에 대해 정보에 기반한 결정을 내리도록 도와줘요.

Docker Scout는 이러한 증명을 사용해 이미지의 보안·공급망 자세를 평가하고 문제에 대한 교정 권장사항을 제공해요. 누락되거나 오래된 증명 같은 문제가 감지되면 Docker Scout는 추가하거나 업데이트하는 방법을 안내해 규정 준수를 보장하고 이미지의 보안 상태에 대한 가시성을 높여줘요.

두 가지 주요 증명 유형이 있어요:

  • SBOM, 이미지 안의 소프트웨어 아티팩트를 나열함.
  • Provenance, 이미지가 어떻게 빌드됐는지 상세히 설명함.

--provenance 와 --sbom 플래그와 함께 docker buildx build 를 사용해 증명을 만들 수 있어요. 증명은 이미지 인덱스에 첨부되어 전체 이미지를 내려받지 않고도 검사할 수 있어요. Docker Scout는 이 메타데이터를 활용해 더 정밀한 권장사항과 내 이미지 보안에 대한 더 나은 제어를 제공해요.

교정(Remediation)

Docker Scout의 교정 기능은 정책 평가에 기반한 맞춤형 권장사항을 제공해 공급망과 보안 문제를 해결하도록 도와줘요. 이러한 권장사항은 정책 준수를 개선하거나 이미지 메타데이터를 향상시키는 방법을 안내해, Docker Scout가 나중에 더 정확한 평가를 수행할 수 있게 해줘요.

이 기능을 사용해 베이스 이미지가 최신 상태인지, 공급망 증명이 완전한지 확인할 수 있어요. 위반이 발생하면 Docker Scout는 베이스 이미지 업데이트나 누락된 증명 추가 같은 권장 수정을 제공해요. 준수를 판단할 충분한 정보가 없다면 Docker Scout는 문제 해결에 도움이 되는 조치를 제안해요.

이 권장사항은 Docker Desktop이나 Docker Hub에서 보거나(교정 권장사항 참고), CLI에서 docker scout recommendations 로 확인할 수 있어요.

흔한 도전과 질문

Docker Scout는 다른 보안 도구와 어떻게 다른가요?

Docker Scout는 타사 보안 도구에 비해 컨테이너 보안에 더 포괄적인 접근을 해요. 타사 보안 도구는 교정 안내를 제공한다 해도 소프트웨어 공급망 내 어플리케이션 보안 자세의 제한된 범위를 놓치고, 제안된 수정에 대한 안내도 종종 제한적이에요. 이러한 도구는 런타임 모니터링에 제한이 있거나 런타임 보호가 전혀 없어요. 런타임 모니터링을 제공하더라도 핵심 정책 준수에 있어 제한적이에요.

타사 보안 도구는 Docker 특화 빌드에 대한 제한된 범위의 정책 평가를 제공해요. Docker Scout는 전체 소프트웨어 공급망에 초점을 맞추고, 실행 가능한 지침을 제공하며, 강력한 정책 집행으로 포괄적인 런타임 보호를 제공함으로써 컨테이너의 취약점 식별을 넘어서요. 밑바닥부터 안전한 어플리케이션을 만들도록 도와줘요.

Docker Hub가 아닌 외부 레지스트리와 Docker Scout를 사용할 수 있나요?

Docker Hub가 아닌 레지스트리와도 Scout를 사용할 수 있어요. Docker Scout를 타사 컨테이너 레지스트리와 통합하면 Docker Scout가 해당 리포지토리에서 이미지 분석을 실행해, 이미지가 Docker Hub에 호스팅되지 않더라도 그 구성에 대한 인사이트를 얻을 수 있어요.

다음 컨테이너 레지스트리 통합이 가능해요:

  • Artifactory
  • Amazon Elastic Container Registry
  • Azure Container Registry

레지스트리로 Scout 구성하는 방법은 Docker Scout를 타사 레지스트리와 통합하기 에서 자세히 알아보세요.

Docker Scout CLI는 Docker Desktop과 함께 기본 제공되나요?

네, Docker Scout CLI 플러그인은 Docker Desktop과 함께 사전 설치돼 와요.

Docker Desktop 없이 Linux 시스템에서 docker scout 명령을 실행할 수 있나요?

Docker Desktop 없이 Docker Engine을 실행한다면 Docker Scout는 사전 설치되지 않지만, 독립 실행형 바이너리 로 설치할 수 있어요.

Docker Scout는 SBOM을 어떻게 사용하나요?

SBOM은 소프트웨어 구성 요소를 이루는 재료 목록이에요. Docker Scout는 SBOM을 사용해 Docker 이미지에 사용되는 구성 요소를 판단해요. 이미지를 분석할 때 Docker Scout는 이미지에 첨부된 SBOM(증명으로)을 사용하거나, 이미지 내용을 분석해 즉석에서 SBOM을 생성해요.

SBOM은 권고 데이터베이스와 상호 참조되어 이미지의 구성 요소 중 알려진 취약점이 있는 것이 있는지 판단해요.

더 알아보기 (Learn more)

  • Docker Scout
  • SBOM
  • 공급망 보안