글로벌 전문정보

40여 개 국가별 ICT 사업 동향, 20여 개 품목별 ICT 시장동향,
해외진출전략 가이드, 글로벌 전문가 오피니언을 통해
글로벌 ICT 전문정보를 확인하실 수 있습니다.

SBOM 가이드

SBOM 자료실

SBOM 개념 및 현황

SBOM 개념

SBOM(Software Bill of Materials)은 소프트웨어의 구성 컴포넌트에 관한 메타정보, 제조업 BOM으로부터 파생한 용어이지만 활용 목적에서 식품원재료표와 유사
  • SBOM은 소프트웨어 구성요소 식별용 명세서로 소프트웨어 공급망 관점에서 중요

    ※ “the term “Software Bill of Materials” or “SBOM” means a formal record containing the details and supply chain relationships of various components used in building software. ... ” (2021.5, US EO14028)

    Baseline Software Component Information, Supplier Name, Component Name, Unique Identifier, Version String, Component Hash, Relationship, Author Name, Licenses, Vulnerabilities, Carols Compression Engine v3.1 include in Bob's Browser v2.2 include in Acme Application v1.1, Bingo Buffer v2.2 include in Acme Application v1.1
  • SBOM은 제조업에서 널리 사용되고 있는 자재명세서 또는 부품표(Bill Of Materials, 이하 BOM)의 개념을 소프트웨어 분야에 적용한 것

    • 제조업 BOM은 특정 제품을 구성하는 모든 부품을 목록화하여 관리함으로써 제조업체의 지속적인 양산체제 유지를 위한 공급망 관리 목적
    • 유사 개념으로 제조되어 유통되는 식품에 사용된 구성성분을 표시한 식품 원재료표(food indredients)가 있는데, 이용자의 인지 및 위험성 확인 목적
      * System BOM이 동일한 약어를 사용하여 혼동 발생 가능
  • SBOM은 수혜자, 표기할 목록 범위, 외부 구성요소 관련성 등에서 제조업의 BOM, 식품원재료표 등과 차이가 있음

    • 제조업 BOM은 생산관리를 위해 주로 사용하고, 식품원재료표는 일부 구성요소만 목록에 포함한다는 점에서 SBOM과 같지 않음

      < BOM과 SBOM, 식품원재료표의 비교 >

      BOM과 SBOM, 식품원재료표에 대한 수혜자, 목록 대상, 외부 연결 내용 비교
      구분 BOM SBOM 식품원재료표
      (food ingredients)
      수혜자

      (주수혜자는 굵은 글씨)

      생산자

      (부품공급자)
      생산자 (모듈공급자 포함)

      구매자 (운영자 포함)

      구매자

      목록 대상 모든 구성요소 모든 구성요소 주요 구성요소
      외부 연결 없음 있음 (예: API 연결) 없음
    • SBOM은 디지털 재화인 소프트웨어를 대상으로 하기 때문에 API 연결 등과 같은 외부 구성요소와의 연결이 존재하여 이들 외부 구성요소 포함 여부가 이슈라는 점에서 다른 것들과 차이가 있음

SBOM 등장배경

디지털 전환이 가속화되면서 소프트웨어 공급망 관리의 필요성 증가
  • 디지털 전환이 가속되고 ‘소프트웨어 중심사회’가 고도화되면 사회 안전에서 소프트웨어의 역할의 중요성이 커짐

  • 2020~21년 발생한 사이버 보안 사건들로 인해 미국 백악관에서 SBOM이 포함된 ’국가 사이버 안보 개선에 관한 행정명령‘ 발표

    • (보안사건) 연방정부 조달 솔라윈즈 SW(MS, VMWare관련) 대상 해킹 발생(`20.12월), 미국 최대 송유관 기업인 콜로니얼 파이프라인이 SW 랜섬웨어 감염으로 남부지역 혼란 초래(‘21.5월)
    • (오픈소스) 오픈소스 SW(OSS) 활성화, 모듈화, 재사용 증가 영향으로 SW패키지가 컴포넌트들로 구성되면서 목록 관리 필요성 부상
    • 특히, 공개소프트웨어(OSS) 중심의 글로벌 공급망을 통해 소프트웨어 개발과 운영이 이루어지면서 SW 컴포넌트 관리 매우 중요
    • (국가안보) 최근 무기체계와 통신, 에너지, 교통 등 사회기반시설에 SW사용이 증가하여 국가안보를 위한 소프트웨어 공급망 투명성(Supply chain transparency) 확보 이슈 대두
  • SBOM은 SW 구성 컴포넌트 자체와 의존관계(dependency) 정보 관리라는 점에서 SW 복잡성을 가시화하려는 시도라고 볼 수 있고, SW 의존관계 관리가 SW 공급망 관리의 핵심 중 하나가 되었음

SBOM 주요국 현황

미국 동향
연방정부는 SBOM 도입, 정부 사용 Critical Software의 특정 및 관리 등을 통해 소프트웨어 공급망 위협(software supply chain’s risk)을 해결하고자 함
  • (SBOM) 「국가 사이버 안보 개선에 관한 행정명령 (Executive Order on Improving the Nation’s Cybersecurity, EO14028)」(‘21.5.12)에서 계획한 일정대로 담당 기관(NTIA, NIST)에서 SBOM 관련 내용을 발표 또는 발표 예정

    • NTIA (‘21.7.12, 60일 이내) 「SBOM 최소 구성요소(The Minimum Elements For a Software Bill of Materials (SBOM)」발표
    • NIST (‘21.11.8까지, 180일 이내) 「(가칭) 소프트웨어 공급망 안정보장 향상을 위한 가이드라인」초안을 발표 예정 (SBOM 내용 포함)
    • 초안 발표 이후 NIST의 가이드라인 최종버전 발표(‘22.2.6까지, 270일 이내)와 업데이트 버전 발표(‘22.5.8.까지, 360일 이내)가 예정되어 있음
  • (Critical SW) 「국가 사이버 안보 개선에 관한 행정명령 (EO14028)」에서는 SBOM과 더불어 NIST가 크리티컬 소프트웨어(critical software)를 정의하고 모든 연방 부처와 기관들이 목록을 특정하여 관리하도록 명령하고 있음

    • NIST (‘21.6.25, 45일 이내) 「행정명령 14028의 크리티컬 소프트웨어 정의 (Definition of Critical Software Under Executive Order (EO) 14028)」문서 발표
    • 백악관 예산관리실 (‘21.8.10, 90일 이내) 「향상된 안전성 수단을 이용한 크리티컬 소프트웨어 보호 조치에 관한 공문 (Protecting Critical Software Through Enhanced Security Measures)」을 발송하여 60일 이내 각 부처와 기관이 크리티컬 SW를 특정하고 수집된 목록을 CISA에서 관리하도록 함
  • (하원) 「DHS Software Supply Chain Risk Management Act of 2021」통과(2021.10.20.) 180일 이내 가이드라인 마련하여 조달에 적용, SBOM 제출자는 NIST NVD, CISA DB 등을 참고하여 SW 컴포넌트의 안정성 고지 및 증명 요구

    • 180일 이내 가이드라인 마련하여 조달에 적용, SBOM 제출자는 NIST NVD, CISA DB 등을 참고하여 SW 컴포넌트의 안정성 고지 및 증명 요구
미국 외 국가 동향
  • (정부) 일본 경제산업성의 2021년 1월 회의 이후 일본 정부는 POC의 실증 사업을 추진하는 것으로 확인되며, 아직까지 유럽, 중국 정부는 움직임이 나타나질 않고 있음.

    • 일본 경제산업성 상무정보정책국 사이버보안과는 소프트웨어 관리방법 검토 TF를 구성하여 2019년 9월 이후 총 5회의 회의 개최하였고 분야별 SWG에서 사이버 물리적 보안 대책 프레임워크(CPSF)를 구체화 하기 위한 검토가 시작되었음
  • (민간) 중국에서 미국의 EO14028과 관련된 움직임 매우 상세하게 다룬 웹페이지들이 등장하기 시작함 (예: Google의 SBOM에 관한 NTIA 제출 의견)

SBOM 표준

SPDX - 소프트웨어 패키지 데이터 교환
  • 정의

    • SPDX는 여러 파일형식의 소프트웨어 구성 요소와 관련된 구성 요소, 라이선스,저작권 및 보안 정보를 전달하기 위한 표준 언어를 제공
사이클론DX(CycloneDX)
  • 정의

    • CycloneDX는 애플리케이션 보안 컨텍스트 및 공급망 구성 요소 분석에 사용하도록 설계된 경량 SBOM 표준
SWID - 소프트웨어 식별 태그
  • 정의

    • NIST에 따르면 "SWID 표준은 SWID 태그가 소프트웨어 제품 설치 프로세스의 일부로 끝점에 추가되고 제품 제거 프로세스에 의해 삭제되는 라이프 사이클
    • 제품 이름 및 버전에 대한 세부 정보가 포함된 일관된 레이블을 통해 장치에 소프트웨어 제품이 있음을 나타내는 표준 표시기
SPDX 라이트
  • 정의

    • SPDX Lite는 전체 SPDX가 필요하지 않은 상황을 위한 SPDX의 경량하위 집합. 오픈 소스 라이선스에 대한 지식이나 경험이 없는 사람들도 쉽게 사용할 수 있도록 하고 "일부 산업에서 SPDX 표준과 실제 워크플로우 간의 균형"을 유지하기 위한 것

      < 표 3-1 > SBOM 표준 데이터 형식 비교

      SBOM 표준 데이터 형식 비교
      NTIA SBOM
      Minimum Fields
      SPDX SBOM CycloneDX
      Supplier Name (3.5) PackageSupplier: @role (soffwareCretor/publisher), @name Publisher
      Component Name (3.1) PackageName: @name name
      Unique Identifer (3.2) SPDXID: @tagID Bom/seriaNunber and
      Component/bom-ref
      Version String (3.3) PackageVersion: @version Version
      Component Hash (3.10) PackageChecksum: /../ @ [hash-algorithm]:hash Hash
      Relationship (7.1) Relationship: CONTAINS @rel, @href (Nested assembly/subassembly and/or dependency graphs)
      Author Name (2.8) Creator: @role (tagCreator), @name bom-descriptor.metada ta/manufacture/contact
    • 출처: NTIA SBOM: Formats and Tooling