정보관리기술사/소프트웨어공학

SBOM (Software Bill of Materials)

알로그 2025. 4. 20. 10:31
반응형

소프트웨어 자재 명세서, SBOM이란 무엇인가?

최근 몇 년간 소프트웨어 공급망 보안과 투명성에 대한 요구가 크게 증가하면서, SBOM(Software Bill of Materials)이 필수 요소로 부상하고 있다.

SBOM이란 정확히 무엇이고 왜 중요할까?

 

🔍 SBOM이란?

SBOM은 소프트웨어를 구성하는 모든 오픈소스 및 서드파티 컴포넌트의 목록을 정리한 문서이다.
제조업에서 흔히 사용되는 제품에 사용된 모든 부품을 기록하는 '자재 명세서(BOM)'처럼, SBOM은 소프트웨어가 어떤 구성요소로 이루어져 있는지를 명확히 보여준다.

 

📋 SBOM에는 어떤 정보가 들어있을까?

  • Component Name (예: log4j)
  • Version (예: 2.17.1)
  • Supplier/Author (예: Apache Software Foundation)
  • License (예: Apache-2.0, MIT 등)
  • Dependency Type (직접/간접 의존성)
  • Package URL (purl)Hash 정보 (무결성 검증용)

🎯 왜 SBOM이 중요한가?

SBOM은 소프트웨어의 투명성, 보안, 법적 컴플라이언스, 공급망 리스크 관리에 핵심적인 역할을 한다.

주요 목적설명
보안취약점 관리 취약한 오픈소스 탐지 및 패치 대응 가능
라이선스 컴플라이언스 라이선스 위반 사전 방지
공급망 리스크 관리 외부 컴포넌트 변경 이력 추적 및 리스크 분석
고객 및 감사 대응 소프트웨어 구성요소를 명확하게 문서화하여 신뢰도 확보

미국 바이든 행정부는 2021년 행정명령(EO 14028)을 통해 정부 납품용 소프트웨어에 SBOM 제공을 의무화했다.

이에 따라 글로벌 기업들도 SBOM 채택을 가속화하고 있다.


🧱 SBOM 표준은 무엇이 있을까?

표준명설명
SPDX Linux Foundation 주도, ISO/IEC 5962 국제표준으로 채택됨
CycloneDX OWASP 주도, 보안 중심의 SBOM 포맷
SWID Tags ISO/IEC 19770 기반, 상용 소프트웨어 중심 메타데이터 제공

🛠️ SBOM 생성 도구

SBOM을 수동으로 작성하기는 현실적으로 어렵기 때문에, 다양한 자동화 도구가 등장하고 있다.

도구특징
Syft CLI 기반의 경량 SBOM 생성기, SPDX/CycloneDX 지원
Trivy 보안 취약점 탐지 + SBOM 생성 기능
FOSSology 라이선스 식별 및 SPDX 기반 리포트 생성
CycloneDX CLI CycloneDX 포맷 SBOM 생성 전용 툴

국내에서는 LG전자의 FOSSLight, 카카오의 Olive를 주로 활용하고 있다.


✅ SBOM 도입을 위한 팁

  1. 자동화 도구 도입: 개발 파이프라인(CI/CD)에 SBOM 생성 툴 통합
  2. 주기적인 갱신: 소프트웨어 버전 업데이트 시 SBOM도 함께 갱신
  3. 라이선스 정책 정의: 조직 내 금지/허용 오픈소스 기준 마련
  4. SBOM 저장소 관리: 중앙에서 SBOM 버전 관리 및 감사 로그 확보

 

결국 회사의 서비스가 어떤 오픈소스와 컴포넌트로 구성되어 있는지 SBOM을 통해 관리될 수 있어야 하며,

Log4j와 같은 보안취약점 이슈가 발생했을때 Log4j를 사용하고 있는 서비스를 모두 식별하여 빠르게 조치할 수 있어야만 한다.

반응형