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
SPDXSBOMCycloneDX
Supplier Name(3.5) PackageSupplier:@role (softwareCreator / publisher), @namePublisher
Component Name(3.1) PackageName:@namename
Unique Identifier(3.2) SPDXID:@tagIDBom / seriaNunber and Component / bom-ref
Version String(3.3) PackageVersion:@versionVersion
Component Hash(3.10) PackageChecksum:/../ @ [hash-algorithm]:hashHash
Relationship(7.1) Relationship:@rel, @href(Nested assembly / subassembly and / or dependency graphs)
Author Name(2.8) Creator:@role (tagCreator), @namebom-descriptor.metadata / manufacture / contact

 

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

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

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

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

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

 
[참고]

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

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^