보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

SBOM을 이용한 공급망 보안

2023.02.01

9,651

01. 개요

솔라윈즈 사건과 Log4Shell 취약점은 SW 공급망 공격의 파급력을 입증하는 대표적인 사례이자 SW 공급망 보안 정책에 변곡점이기도 하다. '20년 12월 공격 사실이 알려진 솔라윈즈 사건은 SW 기업 내부망에 침투한 후 악성코드를 제품 업데이트에 심어 유포하는 방식으로 미국 주요 정부기관과 기업들이 피해를 입었고, 미국 역사상 최악의 사이버 공격 중 하나로 꼽히며 SW 공급망 보안 강화를 위한 정책 추진으로 이어졌다. 우리 정부는 '21년 2월 발표한 K-사이버 방역 추진 전략에서 주요 SW 보안조치 지원, 공급망 보안 점검도구 보급 등의 SW 개발·공급망 보안 강화 계획을 밝혔고, 미국 바이든 행정부는 같은 해 5월 발령한 사이버 보안 강화를 위한 행정명령에서 SW 공급망 보안 강화를 지시했다.

[표 1] 'K-사이버방역 추진 전략'과 미국 '국가 사이버안보 개선에 관한 행정명령' 중 공급망 보안 부분

그리고 '21년 12월 공개된 Log4Shell 취약점은 Log4j 라이브러리와 같은 오픈소스 SW가 광범위하게 사용되는 반면 SW 구성요소에 대한 가시성 부족으로 식별이 어려워 대응시간이 지연되는 문제점과 이를 개선하기 위한 SW 자재명세서인 SBOM(Software Bill of Materials)의 필요성에 대한 인식이 확산되는 계기가 되었다. SW 재사용률이 높아져 SW 공급망을 통한 위협 사례가 전 세계적으로 증가함에 따라 우리나라뿐만 아니라 주요국들이 SBOM 도입을 검토하거나 권고하고 있다.

이번 호에서는 SBOM을 이용한 공급망 보안에 대해 알아보고자 한다.

02. SBOM이란

SBOM은 제조업에서 널리 사용되고 있는 자재명세서 또는 부품표(Bill of Materials, BOM)의 개념을 SW 분야에 적용한 것이다. 제조업 BOM은 특정 제품을 구성하는 모든 부품을 목록화하여 관리함으로써 제조업체의 지속적인 양산체제 유지를 위한 공급망 관리 목적으로 사용되었다. SBOM은 SW를 이루는 구성요소의 세부 정보와 의존관계에 대한 정형화된 기술한 목록을 의미한다.

[그림 1] 소프트웨어 개발 주기에 따른 SBOM 정보 (출처 : 한국인터넷진흥원)

SW 수요자·공급자는 SBOM을 연계하여 SW 제품이 아닌 SW 구성요소 수준에서 취약점 추적·식별, 라이선스 준수, SW 자산 관리 절차를 효율화할 수 있다. SW 개발 생애주기 상에 SBOM을 도입하여 SW 공급망의 투명성을 확보하고 SBOM과 CVE의 정보를 대조하여 취약점 식별 자동화가 가능하다. 참고로 '22년 5월 국가보안기술연구소에서 발표한 '사이버안보 강화를 위한 소프트웨어 공급망 보안 정책 연구: SBOM 정책 추진 사례를 중심으로' 논문에는 기본 SW 개발보안 방법론에 SW 공급망 검증을 위한 SBOM 적용 방안을 다음과 같이 제안했다.

[그림 2] SBOM을 이용한 취약점 식별 자동화 (출처 : 네덜란드 NCSC)
[표 2] SBOM을 이용한 SW개발보안 방법론 (출처 : 국가보안기술연구소, 재구성)

03. SBOM 데이터 형식

미국 국가통신정보청(NTIA)는 행정명령에 따라 '21년 7월 SBOM의 최소 요소로 데이터 필드, 자동화 지원, 지침 및 절차를 제시했다. 데이터 필드에는 SW 구성요소를 식별하기 위해 SBOM에 포함해야 하는 기본 정보를 SBOM 작성자, 작성 일시, 공급자 이름, 구성요소 이름, 버전, 구성요소 해시, 고유 식별자, 종속성 관계로 정의했다. 그리고 자동화 지원의 경우 SBOM을 생성하고 처리하기 위한 데이터 형식에 SPDX, SWID, CycloneDX를 채택했다.

SPDX(Software Package Data Exchange)는 '11년 리눅스 재단에서 개발해 ’21년 국제표준(ISO/IEC 5962/2021)으로 등록되었다. 오픈소스 라이선스 관리와 SBOM 활용에 용이하며 SW 패키지와 관련된 구성요소, 라이선스, 저작권 및 보안 정보를 전달할 수 있다. SPDX SBOM 자동 생성 도구를 제공하며 Dotnet(.NET), Maven(Java), PIP(Python) 등의 패키지 매니저를 지원하여 SW가 어떤 하위 패키지를 포함하고 있는지 정보를 추출하고 이를 SBOM으로 만든다.

[그림 3] SPDX 문서 구조 (출처 : 리눅스 재단)

SWID(Software Identity)는 '09년에 처음으로 공개되었으며 '15년 국제표준(ISO/IEC19770-2)으로 등록되었다. SW 제품의 특정 릴리즈에 대한 정보를 포함하고 있으며 SW 정보에 대한 태그를 생성하여 장치에 설치된 상용 및 오픈소스 SW 인벤토리를 지원한다. SWID 태그는 SW 생애 주기와 연계되어 SW 구성요소에 대한 식별 정보, SW 산출물에 대한 파일 및 암호화 해시 목록, SBOM 작성자 및 SW 구성요소에 대한 출처 정보를 제공한다.

CycloneDX는 OWASP 주도로 ‘17년부터 시작되었다. 자체적으로 "사이버 위험 감소를 위해 고급 공급망 기능을 지원하는 풀스택 BOM 표준"이라고 정의한다. 처음부터 BOM 형식으로 설계된 점이 특징이며 SaaSBOM을 포함한 다양한 사양을 지원한다. JSON, XML 언어로 작성되며 빌드 시스템에 구현하여 유연하고 쉽게 채택하여 활용할 수 있다는 장점이 있으며 메타데이터, 구성요소, 서비스, 종속성, 구성, 취약점으로 구성되어 있다.

[그림 4] CycloneDX 문서 구조 (출처 : OWASP)

04. 미국 SBOM 정책 추진 동향 및 시사점

정부 차원에 SBOM 정책을 적극적으로 추진하는 나라는 미국이다. 미국 바이든 행정부는 ‘21년 5월 발표한 행정명령에서 연방정부에서 조달한 SW 제품에 SBOM을 제출하도록 요구했고, 행정명령에 따라 범정부적인 추진체계를 구축하여 SBOM 최소 요소 공표부터 가이드 배포, 제도화까지 단계적으로 추진하고 민간 확산을 유도하고 있다.

'14년 하원에서 SBOM 유사 체계 입법을 시도했지만 SBOM 제출에 대한 산업계의 반발 등으로 무산된 경험이 있는 미국은 행정명령 이전부터 SBOM의 안정적인 정착을 위한 기반을 마련하였다. ‘18년 NTIA는 SW 구성요소 투명성 이니셔티브에서 구성한 워킹그룹을 민간 중심으로 구성하고 SBOM 개념 정립, 실증사업 추진, 표준화된 SBOM 활용을 위한 가이드 배포 등을 추진하여 산업에서의 혼란과 저항을 최소화하고 정책 방향성을 수립하였다.

예를 들어 ‘18년 표준 및 형식 워킹그룹은 기존 SBOM 형식과 표준을 조사하여 SW 식별자, 자동화 도구 등 SBOM에 요구되는 향후 방향성을 제시하였다. 또한 의료, 에너지, 자동차 분야에서의 SBOM 실증을 통해 SBOM 생성·처리 및 제품 조달 과정에서의 이슈를 점검하고 의료를 포함한 산업에서의 SBOM 정착을 위한 개선 방향을 모색했다.

[표 3] NTIA 의료 SBOM 실증 결과 분석 (출처 : 소프트웨어정책연구소)

05. 결론

SW 공급망 공격은 피해 규모가 커 사이버안보를 위협하는 사례가 증가하고 있다. 이에 주요국들은 SW 공급망 보안 강화를 위한 정책을 추진하고 있으며 그 중 하나로 SBOM 도입을 검토하거나 권고하고 있다. SBOM을 SW 생애주기 전반에 적용하여 SW 공급망의 투명성을 확보하고 취약점을 추적·식별하기 위해서는 SW 개발 단계에서 SBOM 자동 생성을 통해 배포 및 전달이 용이할 수 있어야 하며, SW 구현 시 SBOM 정보를 활용하여 사전 위협을 분석하고 구성요소 내의 취약점을 식별하여 관리 방안을 수립해야 한다. 마지막으로 SW 유지관리 활동 전반에 SBOM을 연계하여 취약점에 대한 지속적인 모니터링과 변경사항에 대한 업데이트가 가능하도록 해야 한다.

'22년 10월 과학기술정보통신부와 한국인터넷진흥원은 제로트러스트·공급망 보안 포럼을 출범했다. 공급망 보안 포럼은 2개 분과로 구성되어 각 분과별로 정책·산업, 기술·표준 등의 관점에서 추진전략, SBOM 보안 방안, 보안점검 가이드라인 개발을 진행할 예정이다. 최종적으로 국가 표준화를 목표로 하는 만큼 우리나라의 SW 공급망 보안 강화와 SBOM 정착에 기여할 것으로 기대한다.

06. 참고자료

한국인터넷진흥원, (2021), "소프트웨어 보안 관점에서 본 미국 사이버보안 행정명령과 우리의 대응방안“
보안뉴스, (2022) "소프트웨어 물자표(SBOM), 공급망 공격 안전장치", https://www.boannews.com/media/view.asp?idx=110961
소프트웨어정책연구소, (2022), "미국 SBOM(Software Bill of Materials) 정책 분석 및 시사점"
소프트웨어정책연구소, (2022), "주요국 SBOM(Software Bill of Materials) 정책 동향 분석"
손효현, 김동희, & 김소정, (2022), "사이버안보 강화를 위한 소프트웨어 공급망 보안 정책 연구: SBOM 정책 사례를 중심으로". Journal of Digital Convergence, 20(2), 9-20
NTIA. (2021). "Framing Software Common Software Bill of Materials(SBOM) – Second Edition"
Riel. B., Kuijpers. S., & Koning. R. (2021). "Using the software Bill of Materials for Enhancing Cybersecurity". National Cyber Security Centre(NCSC).
SPDX Document, https://spdx.github.io/spdx-spec/v2.3/composition-of-an-SPDX-document
CycloneDX Document, https://cyclonedx.org/capabilities/sbom