X

SBOM (Software Bill of Materials)

1. 소프트웨어 자재 명세서, SBOM의 개요

(1) SBOM (Software Bill of Materials)의 개념

개념도
개념 소프트웨어 패키지 및 구성 요소 등 고유하게 식별 가능한 메타데이터, 저작권 및 라이선스 등 소프트웨어 콘텐츠에 대한 정보를 포함하는 공식 명세서

(2) SBOM의 필요성

보안 취약점 해소 소프트웨어 복잡성 증가로 인한 보안 취약점 해소 필요
소프트웨어 관리 다양한 오픈소스 라이선스 추적 및 컴포넌트 관리 필요
국가 안보 국가 기반 시설에 SW 사용 증가로 공급망 투명성 확보 필요
  • 2020년 솔라윈즈 해킹으로 인해 다수 미 연방 기관이 침해되어 2021년 5월 미 상무부에서는 연방 정부와 거래하는 모든 업체는 SBOM 제공해야 하는 것으로 행정 명령 발효
  • 2021년 아파치 Log4j 취약점 발생에 따른 파급효과로 오픈소스 컴포넌트 관리 등 소프트웨어 공급망 관점에서 SBOM의 중요성 증가

 

2. SBOM의 구성요소 및 요구사항

(1) SBOM의 구성요소

구성요소 역할
공급자명 구성요소를 만들고 정의하고 식별하는 주체의 이름
컴포넌트명 최초 공급자에 의해 정의된 소프트웨어 단위의 명칭
컴포넌트 버전 이전 소프트웨어 버전의 변경을 명시하기 위한 식별자
고유 식별자 구성요소 식별 및 데이터베이스 조회 키 (NIST의 CPE 사전의 식별자 등)
의존 관계 업스트림 구성요소 X가 소프트웨어 Y에 포함된다는 관계의 명시
데이터 작성자 이 구성요소에 대한 SBOM 데이터를 만든 주체의 이름
타임스탬프 SBOM 데이터 어셈블리의 날짜 및 시간 기록

(2) SBOM의 요구사항

  • 하드웨어에서 판독이 가능하도록 SPDX, SWID, CycloneDX의 표준화된 형식 중 하나로 작성
  • 새로운 소프트웨어 버전마다 새로운 SBOM 생성하여 최신 상태를 보장
  • 종속성 관계 설명 및 관계 존재 가능성 설명

3. SBOM 표준 데이터 형식 비교

NTIA SBOM
Minimum Fields
SPDX SBOM CycloneDX
Supplier Name (3.5) PackageSupplier: @role (softwareCreator / publisher), @name Publisher
Component Name (3.1) PackageName: @name name
Unique Identifier (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: @rel, @href (Nested assembly / subassembly and / or dependency graphs)
Author Name (2.8) Creator: @role (tagCreator), @name bom-descriptor.metadata / manufacture / contact

 

4. SW공급망 보안강화 위한 국가전략 비교 및 대응방안

(1) 미 사이버보안 행정명령과 K-사이버방역 추진전략 비교

비교 항목 사이버보안 행정명령(미국) K-사이버방역 추진전략(한국)
보안 조치 주요 소프트웨어 대상 보안 조치 지침 발행 다중이용공〮공서비스 분야 주요 SW업체 대상 단계별 보안진단조〮치 지원
SBOM SBOM 최소 요소 공표 해당 없음
소프트웨어 테스트 소프트웨어 검증 최소 기준 공표 중소 SW업체 대상 자가 보안 진단 도구 및 가이드 보급
가이드라인 및 지침 공급망 보안 강화를 위한 가이드라인 및 지침 발행 융합산업 분야별 보안 가이드라인 및 표준 보안모델 마련
  • 미 연방 정부에 납품되는 모든 소프트웨어 및 컴포넌트 보안 요구사항이 국내 기업에도 영향이 발생하므로 사전에 국제적 요구사항에 맞추어 준비하는 것이 필요

(2) 국제적 요구사항과 SW 공급망 보안 강화 위한 대응방안

대응 항목 대응 방안
주요 소프트웨어 제품이 EO-주요 소프트웨어에 해당된다면 EO-주요 소프트웨어를 위한 보안 조치를 제품에 적용
SBOM 취약점 제거 및 라이선스 리스크 해소를 위해 SBOM 도입, 생성 및 관리
소프트웨어 테스트 자동화 검사나 코드 스캐너, 구성요소 검사와 같이 비교적 적용하기 용이한 방법부터 단계적으로 적용
가이드라인 및 지침 가이드라인과 지침 준수를 위해 NIST의 SSDF 조치 현황 분석 및 단계적 적용
  • 소프트웨어 시장은 국경이 모호하여 미 연방 정부의 SBOM 적용 행정 명령이 국내 기업에도 영향을 주기 때문에 기업 및 정부에서 사전 대비 필요

 
[참고]

  • 정보통신산업진흥원(NIPA), “SBOM 가이드”
  • 한국인터넷진흥원(KISA), “KISA Report”
도리:

View Comments (1)