SBOM(소프트웨어 자재 명세서)란?
Software Bill of Materials의 약자. 소프트웨어를 구성하는 라이브러리 등 구성 요소의 이름, 버전, 공급자, 의존 관계 등을 기계가 읽을 수 있는 형식으로 정리한 목록. SPDX나 CycloneDX 등의 형식이 있다. 구성 요소에 취약점이 공표되었을 때 영향을 받는 제품이나 버전을 바로 특정할 수 있고, 라이선스 관리에도 사용할 수 있다. 미국의 2021년 5월 대통령령을 계기로 정부 조달 등에서 요구되기 시작했다.
일본어 명칭: SBOM(ソフトウェア部品表)
SBOM(소프트웨어 자재 명세서)은(는) 사이버 공격과 방어의 실무, 하드웨어 보안의 최신 동향 등 2개 분야의 연습 문제 2개에 나와요.
분야: 사이버 공격과 방어의 실무
무엇이 적혀 있는가
구성 요소 하나하나에 대해 이름, 버전, 공급자, 고유하게 특정하기 위한 식별자, 해시값, 라이선스, 다른 구성 요소와의 의존 관계를 기록합니다. 직접 사용하는 구성 요소뿐만 아니라 구성 요소가 사용하는 구성 요소(전이적 의존)까지 포함함으로써, 깊은 곳에 있는 취약한 구성 요소도 찾아낼 수 있습니다.
자주 묻는 질문
반도체나 전자 부품의 부품표(BOM)와는 관계가 있나요?
사고방식은 같으며, 제조업에서 사용되어 온 부품표(Bill of Materials)를 소프트웨어에 적용한 것입니다. 다만 SBOM의 구성 요소는 라이브러리 등의 소프트웨어이며, 목적도 주로 취약점과 라이선스의 관리입니다. 하드웨어 부품의 목록은 HBOM이라고 불리기도 합니다.
SBOM은 어떤 형식으로 만들면 되나요?
널리 사용되는 것은 SPDX(Linux Foundation이 중심이 되어 만들고 ISO/IEC 5962로 국제 규격도 된 형식)와 CycloneDX(OWASP가 중심이 되어 만든 형식)이며, 많은 도구가 둘 다 다룰 수 있습니다. 거래처나 규제의 요구에 맞춰 고르고, 형식 간에 변환할 수도 있습니다.