Skip to main content

SBOM, 글로벌 규제가 밀어붙이는 차세대 보안전략

SBOM(Software Bill of Materials)은 현재 물리적 제품에 적용되는 BOM과 같은 개념으로, 특정 소프트웨어를 구성하는 모든 요소와 그 관계를 체계적으로 정리한 공식 문서입니다. 쉽게 말해 소프트웨어의 “자재명세서”로, 해당 소프트웨어에 포함된 오픈소스 라이브러리, 서드파티 모듈, 자체 개발 모듈 등 모든 컴포넌트의 상세 정보를 계층적으로 보여줍니다.

SBOM의 배경 및 주요 글로벌 요구사항과 동향

자동차에서 SDV와 더불어 SW의 규모가 늘어나며, 수많은 3rd Party(Open source, 표준 Library, 표준 플랫폼 등)에 의존하지만, 어떤 SW의 부품들을 사용하는지 투명하게 파악하는 것이 어려운 현실입니다.

이전의Log4j 사건[1]으로 인해 보안의 취약성에 대해 우리 제품이 영향을 받는지 즉각적인 답이 어렵고, 패치 필요 여부를 신속히 판단하기 힘들었습니다. 실제로 2021년 말 Log4j 취약점이 공개되었을 때, 많은 기업들이 자사 소프트웨어에 취약한 Log4j 라이브러리가 포함되어 있는지 인지하지 못한 채 위험에 노출되었습니다. 물론 자동차의 V2G(차량–그리드 간 통신), EV 충전소 시스템, IVI (인포테인먼트 시스템), RKE(디지털 키) 등에서 Log4Shell 취약점이 잠재적 공격 경로로 논의되기도 했습니다.  

이렇듯 소프트웨어 공급망 투명성 부족은 보안 위험을 높입니다. 공급망 공격(Supply Chain Attack) 사례인 SolarWinds 해킹 사건 이후, 소프트웨어 제작 과정에 악성 구성요소가 심어져도 이를 알아채기 어려운 문제에 주목하게 되었습니다. SBOM은 이러한 문제에 대한 생태계 차원의 해결책으로 떠올랐습니다. 
 
SBOM에 대한 관심이 높아지며 각국 정부와 표준 기구에서 관련 요구사항과 법규를 마련하고 있습니다. 특히 미국, 유럽연합(EU), 한국을 중심으로 한 흐름은 다음과 같습니다. 

미국 

2021년 미 연방정부의 사이버 보안 행정명령(EO 14028)을 통해 연방 기관이 조달하는 소프트웨어에 SBOM 제공을 의무화하겠다는 방침이 선언되어, 이를 계기로 NTIA(국가전기통신정보청) 주도로 SBOM의 최소 필수 요소(Minimum Elements)를 정의하고 가이드라인을 발표하였습니다. 예를 들어 NIST는 안전한 소프트웨어 개발 프레임워크(SSDF)에서 SBOM 생성·유지 방법을 다루고 있고, CISA는 SBOM 표준화와 오픈소스 소프트웨어 취약점 식별을 위한 로드맵을 발표하였습니다. 또한 미국 교통부 산하 NHTSA는 2022년 자동차 사이버보안 모범사례를 발표하며 차량 제조사들이 SBOM을 활용해 차량 소프트웨어 인벤토리를 관리하고 오픈소스 사용 시 취약점 관리를 철저히 할 것을 권고했습니다. 

유럽연합(EU) 

2022년 EU 집행위는 사이버 복원력법(CRA: Cyber Resilience Act)을 제안하여, 유럽 내 판매되는 모든 디지털 제품(공공·민간 구분 없음)에 대해 SBOM 등 사이버보안 기술문서 제출을 의무화하는 방향을 제시했습니다. CRA에 따르면 제조사는 제품 출시 시 최상위 수준의 SBOM을 규제당국에 제출해야 하며, 이를 통해 제품의 취약점 관리 여부를 확인하게 됩니다. 오픈소스 소프트웨어 자체는 규제 대상에서 제외되나, 상용 제품에 포함된 오픈소스까지는 SBOM에 기재해야 합니다. 현재 세부 요건은 표준화 기구에서 논의 중이며, 2027년부터 본격 시행될 예정입니다. EU CRA는 준수 의무를 어길 시 최대 1,500만 유로 또는 매출의 일정 비율에 달하는 과징금까지 부과할 수 있어, 미 연방규정보다 적용 범위도 넓고 제재 강도도 높습니다 

한국 

우리나라도 SBOM 도입을 통한 공급망 보안 강화 움직임이 시작되었습니다. 과학기술정보통신부, 국가정보원 등 관계 부처는 2024년 5월 ‘소프트웨어 공급망 보안 강화 가이드라인’을 공개하여, 국내 공공 및 민간 기관이 SBOM을 기반으로 소프트웨어 공급망 보안을 높일 수 있도록 지원하고 있습니다[3]. 이 가이드라인에서는 SBOM 활용 방안과 사례를 제시하고 있으며, 국내 소프트웨어를 대상으로 SBOM 시범사업 및 테스트베드 운영 결과도 반영되었습니다. 정부는 연말까지 산·학·연 전문가가 참여하는 범정부 TF를 통해 SBOM 확산을 위한 정책 로드맵을 마련하고, 추후 제도화 추진 방향도 논의할 계획입니다. 한국도 글로벌 기조에 맞춰 향후 공공 소프트웨어 입찰 등에서 SBOM 제출 의무화를 검토하고 있어, 기업들의 사전 준비가 요구됩니다.

SBOM의 기본 구성(예)

각 구성요소에는 고유 식별을 위한 핵심 메타데이터가 포함되는데, NTIA 가이드라인[4] 에 따르면 SBOM에는 최소 다음과 같은 기본 필드 들이 포함됩니다: 

  • 공급자(Supplier) 이름: 컴포넌트의 제작자 또는 배포자 (예: 오픈소스 프로젝트 명이나 벤더 업체명) 
  • 컴포넌트 이름(Component Name): 소프트웨어 부품의 이름 (예: 라이브러리 또는 모듈 명칭) 
  • 컴포넌트 버전(Version of the Component): 해당 구성요소의 버전 정보 (예: v1.2.3) 
  • 고유 식별자(Unique Identifiers): 특정 컴포넌트를 고유하게 식별하기 위한 추가적인 ID나 key 값 
  • 관계 정보(Dependency Relationship): 상위/하위 구성요소 간 종속 관계 (어떤 컴포넌트에 어떤 라이브러리가 포함되었는지) 
  • 저작자(Author of SBOM Data): SBOM을 생성한 사람 또는 조직명 (SBOM 메타데이터) 
  • 타임스탬프(Timestamp): SBOM 생성 시각 (문서의 최신 갱신 일시) 
     

위의 기준으로 자동차의 DCDC Convert SW에 대해 SBOM의 구성목록은 다음과 같이 포함될 수 있습니다. 아래 예시는 간략한 가상 시나리오이지만, 실제 SBOM에서는 각 항목마다 공급자, 버전, 라이선스, 고유 식별 해시 등이 명시되고, 어떤 모듈이 다른 모듈의 하위 구성요소인지 종속 관계가 트리 형태로 표현되어야 합니다. 

  • MCU F/W – 예: Infineon AURIX MCU 초기화 B/L (버전 X.Y, Infineon 제공 펌웨어 또는 자체개발 등) 
  • 실시간 운영체제(RTOS) – 예: AUTOSAR OS 4.3.2 (Vector社, 상용 RTOS) 또는 FreeRTOS (오픈소스, MIT 라이선스) 
  • 전력제어 알고리즘 라이브러리 – 예: DCDC 제어용 PI 제어기 모듈 (버전 1.0, 자체개발 또는 3rd party) 
  • 통신 스택 – 예: CAN 통신 드라이버 및 프로토콜 스택 (버전 3.5, AUTOSAR COM 모듈 또는 오픈소스 CANopen 등) 
  • 암호/보안 라이브러리 – 예: OpenSSL (버전 1.1.1k, Open Source, Apache-2.0 라이선스) – 보안통신이나 부트로더 검증용 
  • 기타 유틸리티 – 예: RTOS 파일시스템, 로깅 라이브러리, 수학 계산 라이브러리 등 (각각 버전 및 공급자 명시) 
     

이러한 SBOM생성 및 관리 가능한 오픈소스 및 사용도구들이 개발되거나, 판매되고 있습니다. 대표적인 오픈소스 도구는 리눅스 재단이 주도한 오픈 표준 SBOM 형식으로 SPDX (Software Package Data eXchange)로 2021년에 ISO/IEC 5962 국제표준으로 승인되었습니다. 그리고 CycloneDX는 OWASP 재단에서 시작된 경량 SBOM 표준으로, 애플리케이션 보안과 공급망 위험분석에 초점을 맞춰 설계되어, Intel, IBM 및 구글 등 업체계의 폭 넓은 지원을 받고 있습니다. 또한 사용 툴로는 Synopsys Black Duck, Snyk, Sonatype Nexus Lifecycle, FOSSA, Jfrog Xray 등이 있습니다. 

SBOM을 통한 사이버 보안 이슈 대응 방법

SBOM은 소프트웨어 공급망 보안의 중요한 토대로 자리잡고 있으며, 이를 활용한 다양한 측면에서의 보안 활동이 가능합니다. 예를 들면 아래와 같은 활동이 있을 수 있습니다. 

취약점 추적 및 대응 

SBOM을 통해 특정 제품에 어떤 버전의 라이브러리가 들어있는지 명확히 알 수 있으므로, 새로운 취약점(CVE)이 공개되었을 때 영향 범위를 신속히 파악할 수 있습니다. 예를 들어 앞서 언급한 Log4j 사례에서, SBOM에 해당 라이브러리와 버전이 명시되어 있었다면 각 기업은 즉각적으로 자체 시스템에 취약 버전 Log4j 포함 여부를 확인하고 공급업체에 패치 요구 또는 자체 완화 조치를 취할 수 있었습니다. 이처럼 SBOM은 취약점 관리(Vulnerability Management)에 필수적 데이터로 활용되어, 패치 시간 단축 및 위험 평가 자동화를 가능케 합니다. 더욱이 미국 행정명령과 EU CRA 모두 SBOM의 주요 활용처로 보안 취약점 식별 및 공지를 꼽고 있을 정도로, 취약점 대응은 SBOM 도입의 가장 직접적인 보안 효과라 할 수 있습니다.

공급망 공격에 대한 가시성 

공격자가 소프트웨어 개발 공급망을 노려 악성코드가 심어진 라이브러리나 패키지를 배포하는 경우(Supply Chain Attack), SBOM이 있다면 제품에 출처 불명의 구성요소가 포함되었는지 비교적 쉽게 알아낼 수 있습니다. SBOM에는 각 컴포넌트의 공급자/출처 정보와 해시값이 기록되므로, 정상적인 목록에 없는 라이브러리가 추가되었거나 해시가 일치하지 않는 변조가 발견되면 즉각 경고 신호를 포착할 수 있습니다. 예컨대 2020년 SolarWinds 해킹 때는 공격자가 정식 소프트웨어에 악성 코드를 삽입했는데, SBOM 체계가 엄격히 운용되고 있었다면 빌드 산출물의 구성요소 변화를 감지하여 조기에 이상을 인지할 가능성이 높아집니다. 이런 점에서 SBOM은 소프트웨어 공급망 무결성 확보 및 위협 사전 차단 수단으로 중요합니다. 

라이선스 컴플라이언스 및 IP 위험 관리 

SBOM에 각 오픈소스 구성요소의 라이선스 정보를 함께 기록해두면, 제품이 준수해야 할 오픈소스 라이선스 의무사항을 체계적으로 관리할 수 있습니다. 예를 들어 GNU GPL 라이선스의 오픈소스를 사용한 경우 이를 SBOM에 명시하고, 해당 라이선스 조건(예: 소스코드 공개 의무)을 놓치지 않도록 도와줍니다. 소프트웨어가 점차 수백 개 이상의 오픈소스 패키지로 구성되는 시대에, SBOM을 통해 라이선스 종류별 통계와 위험도를 한눈에 파악하고 법적 분쟁 소지를 줄일 수 있습니다. 또한 기업 인수합병(M&A) 실사나 제품 인증 시 오픈소스 사용 내역 증빙자료로 SBOM을 제출하면 신뢰성을 높일 수 있습니다. 즉 SBOM은 보안뿐 아니라 법적 리스크 관리 측면에서도 유용하며, 구매자 입장에서도 SBOM을 받아 라이선스 분석을 수행함으로써 해당 제품이 자기 회사의 정책에 부합하는지 평가할 수 있습니다. 

기타 보안 활용 

SBOM을 활용하면 구성요소별 보안 이력 추적(예: 과거 보안공지나 업데이트 내역)이나 구성요소 신뢰성 검증(예: SBOM 내 해시값과 실제 파일의 일치 여부 검사)을 자동화할 수 있습니다. SBOM이 공개적으로 공유되는 경우 보안 연구자들이 특정 라이브러리 사용 현황을 파악해 취약점 영향을 추산하기도 쉽습니다. 다만 SBOM 자체에 민감정보(제품 구조)가 포함되므로 외부 공개 범위를 조절하거나 SBOM 파일에 접근 통제 및 서명(Signing)을 적용해 위변조를 막는 등의 보안 관리도 필요합니다.  

부품사 대응 방안

자동차의 SDV의 진화에 따른 SW의 구성요소가 급격하게 늘어나, 공급망의 복잡성과 보안 위험이 동시에 증가하고, 개별 국가의 규제에 대응이 필요합니다. 더불어 OTA가 지속적으로 SW를 배포하는 환경에서 SBOM은 SW의 무결성 검증과 변경 이력 관리를 위한 핵심적인 요소를 자리 잡고 있습니다.  

이러한 환경에서 모듈과 부품을 공급하는 업체들은 점점 더 복잡해지는 소프트웨어 공급망과 강화되는 사이버보안 규제에 대응하기 위해 명확한 전략을 수립해야 합니다. 특히 SBOM요구사항이 글로벌 규제와 OEM 보안 지침에서 핵심적으로 다루어지면서, 부품 업체는 자사 제품에 포함된 오픈소스와 3rd party 라이브러리에 대한 투명성 확보와 보안 리스크 관리를 필수 과제로 삼아야 합니다. 

이를 위해 첫째 오픈소스 라이선스 관리 도구(SCA: Software Composition Analysis) 등을 도입해 사용되는 모든 외부 소프트웨어 구성요소를 체계적으로 인벤토리화하고, 각 구성요소의 라이선스 조건을 명확히 추적해야 합니다. 이를 통해 향후 소프트웨어 재사용, 제품 인증, 수출 규제 준수 과정에서 발생할 수 있는 법적 리스크를 사전에 차단할 수 있습니다. 

둘째, 정기적 취약점 스캐닝 체계를 구축해 각 부품 소프트웨어에 포함된 라이브러리의 보안 취약점을 조기에 발견하고, OEM이나 공급사에 제공되는 SBOM 정보에 해당 취약점 패치 이력까지 반영할 수 있도록 프로세스를 적용하는 것이 중요합니다. 특히 CI/CD 파이프라인과 연계된 SBOM 업데이트 프로세스를 통해 보안 패치 주기가 지연되는 문제를 방지하고, 신속하고 정확한 정보 제공으로 상위 공급망과의 협업 신뢰성을 높일 수 있습니다. 결국 부품 업체는 SBOM 생성·관리 자동화, 라이선스 및 취약점 관리 강화, 그리고 공급망 상위 단계와의 투명한 정보 공유 체계를 핵심 축으로 삼아야 하며, 이를 통해 향후 필수화 될 SBOM 규제와 OEM 요구사항에 능동적으로 대응할 수 있을 것으로 생각합니다.

참고문헌

[1] New Log4j Vulnerability CVE-2021-44228: Info and Remediation, Adam Murray (10. Dec 2021) 

[2] SolarWinds hack explained: Everything you need to know, By Saheed Oladimeji, Sean Michael Kerne (03. Nov 2023) 

[3] [기획기사]오픈소스 소프트웨어 공급망 보안 정책의 중심 ‘SBOM’ – 공개SW 포털 (2024-06-25) 

[4] The Minimum Elements For a Software Bill of Materials (SBOM), NTIA, (July 12, 2021)