반응형
소프트웨어 자재 명세서, 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 도입을 위한 팁
- 자동화 도구 도입: 개발 파이프라인(CI/CD)에 SBOM 생성 툴 통합
- 주기적인 갱신: 소프트웨어 버전 업데이트 시 SBOM도 함께 갱신
- 라이선스 정책 정의: 조직 내 금지/허용 오픈소스 기준 마련
- SBOM 저장소 관리: 중앙에서 SBOM 버전 관리 및 감사 로그 확보
결국 회사의 서비스가 어떤 오픈소스와 컴포넌트로 구성되어 있는지 SBOM을 통해 관리될 수 있어야 하며,
Log4j와 같은 보안취약점 이슈가 발생했을때 Log4j를 사용하고 있는 서비스를 모두 식별하여 빠르게 조치할 수 있어야만 한다.
반응형
'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글
폭포수 모델 (Waterfall Model) (0) | 2025.04.15 |
---|---|
소프트웨어 테스트 (SW Test) 요약 (0) | 2020.01.11 |