1. SBOM이란 무엇인가
오늘날 소프트웨어 공급망이 복잡해지고 오픈소스를 사용한 개발이 보편화됨에 따라, 우리는 스마트폰 앱부터 자동차의 운영 시스템, 그리고 병원의 의료 기기에 이르기까지, 셀 수 없이 많은 소프트웨어에 둘러싸여 살아가고 있습니다. 이처럼 소프트웨어가 우리 삶의 중요한 부분을 차지하게 되면서, 소프트웨어의 안전성과 신뢰성은 그 어느 때보다 중요해졌습니다.
소프트웨어 BOM(Software Bill of Materials)은 바로 이러한 요구에 부응하는 핵심적인 개념으로, 하드웨어에 대한 BOM관리 방식과 유사한 것으로 마치 식품의 성분표처럼 소프트웨어를 구성하는 모든 요소들을 투명하게 정리한 목록입니다.
[그림1] 다양한 구성요소 목록들
SBOM은 단순한 목록을 넘어, 소프트웨어가 어떤 오픈 소스, 상용 컴포넌트, 라이브러리 등으로 이루어져 있는지에 대한 상세한 정보를 제공합니다.이를 통해 소프트웨어의 '구성요소(components)'를 명확하게 파악하고 관리할 수 있게 됩니다. SBOM의 등장은 소프트웨어 개발 방식이 점차 복잡해지고, 다양한 외부 구성 요소들을 활용하는 현대적인 개발 환경에서 필연적으로 나타난 결과입니다.
2. SBOM이 주목받는 주요 이유
SBOM이 전 세계적으로 주목받는 가장 큰 이유는 크게 두 가지로 요약할 수 있습니다. 바로 소프트웨어 공급망 보안의 위협 증대와 글로벌 규제 및 정책의 강화입니다.
1) 소프트웨어 공급망 보안의 위협 증대
소프트웨어 공급망 보안은 현대 사회의 새로운 위협으로 떠오르고 있습니다. 대부분의 소프트웨어는 개발 속도와 효율성을 위해 외부에서 제작된 오픈 소스 컴포넌트를 활용합니다.그러나 만약 이 오픈 소스 컴포넌트 중 하나에 악의적인 코드가 숨겨져 있거나 보안 취약점이 발견된다면, 이를 사용한 수많은 기업과 서비스가 해킹이나 정보 유출의 위험에 노출될 수 있습니다. 2020년 미국의 IT 관리 회사인 솔라윈즈(SolarWinds) 해킹 사태1)와 2021년 전 세계를 혼란에 빠뜨린 Apache Log4j 취약점 사태2)는 소프트웨어 공급망의 보안이 얼마나 심각한 결과를 초래할 수 있는지 여실히 보여줍니다. SBOM은 이러한 위협에 대응하는 가장 효과적인 수단입니다. SBOM은 소프트웨어에 사용된 모든 구성 요소를 명확하게 기록하고 있기 때문에, 특정 부품에서 취약점이 발견되었을 때 어떤 소프트웨어와 서비스가 영향을 받는지 신속하게 파악할 수 있습니다. 이를 통해 기업은 문제가 발생한 컴포넌트를 빠르게 교체하거나 패치함으로써 피해를 최소화할 수 있습니다.
[그림2] 솔라윈즈 해킹 및 Log4j 취약점
1) 솔라윈즈(SolarWinds) 해킹사태 : IT장비 모니터링 솔루션 개발 기업 솔라윈즈의 네트워크 관리도구인 ‘오리온’의 업데이트 파일에 악성코드 삽입하여 이 악성코드를 다운로드하게 하여 내부 시스템에 침투한 사건
2) Apache Log 4j 취약점 사태 : 아파치 재단이 개발한 자바기반 인터넷 서비스를 운영·관리하며 접속기록이나 개발과정등 각종 로그기록을 남기기 위해 사용하는 오픈소스로 외부 침입자가 서버 관리자 권한을 탈취할 수 있는 보안 취약점이 발견됨
2) 글로벌 규제 및 정책의 강화
글로벌 규제 강화 또한 SBOM 도입을 가속화하고 있습니다. 각국 정부는 소프트웨어 보안을 국가 안보의 핵심 문제로 인식하기 시작했습니다. 2021년 5월, 미국 바이든 행정부는 '국가 사이버 보안 개선에 관한 행정 명령(Executive Order on Improving the Nation’s Cybersecurity)'을 발표하며, 연방 정부에 소프트웨어를 공급하는 모든 업체에 SBOM 제공을 의무화했습니다. 이는 SBOM이 단순한 권고 사항이 아닌, 소프트웨어 거래의 필수적인 조건이 되었음을 의미합니다. 또한, 유럽연합(EU) 역시 2024년 12월에 발효된 사이버 복원력법(Cyber Resilience Act)을 통해 소프트웨어 공급망의 보안을 강화하고 사이버보안에 취약한 디지털 제품의 EU내 유통을 2027년 12월 이후부터 금지하는 것을 목표로 하고 있습니다. 이러한 규제들은 소프트웨어 공급업체들이 SBOM을 작성하고 관리하는 것을 의무화하는 방향으로 나아가고 있으며, 향후 국제적인 소프트웨어 시장에서 SBOM 없이는 경쟁하기 어려운 환경이 조성될 것입니다. 한편, 국내에서는 ‘디지털의료제품법’이 2025년 1월 24일부터 시행되었으며, ‘디지털의료기기 전자적 침해행위 보안지침’ 16조는 SBOM관리 활동에 대해 규정하고 있습니다.
[표 1] 주요국가의 사이버보안 핵심정책 비교
3. SBOM의 구성 요소와 표준화 노력
SBOM은 소프트웨어를 구성하는 다양한 정보와 다양한 형식으로 표현될 수 있지만, 그 핵심은 표준화된 형식으로 정보를 제공하는 것입니다. 현재 널리 사용되는 세가지 주요 형식은 다음과 같으며, 가장 대표적인 것은 SPDX(Software Package Data Exchange)와 CycloneDX입니다.
□ SPDX: 리눅스 재단에서 관리하는 이 표준은 소프트웨어 패키지의 구성 요소와 라이선스 정보를 교환하기 위한 국제 표준입니다. 광범위한 정보 교환을 목적으로 하여 소프트웨어 공급망 전반에 걸쳐 활용도가 높습니다.
□ CycloneDX: OWASP(국제 웹 보안 비영리 단체)에서 개발한 이 표준은 주로 보안 취약점 분석에 특화된 경량의 SBOM 형식입니다. 자동화된 도구에서 사용하기 편리하도록 설계되어 있습니다.
□ SWID(Software Identification) 태그: 소프트웨어의 식별 및 설치 관리를 위한 표준으로, SBOM의 한 형태로 활용될 수 있습니다.
이러한 표준들을 통해 기업들은 서로 다른 시스템과 환경에서도 SBOM 정보를 원활하게 교환하고 분석할 수 있게 되어, SBOM의 활용도를 극대화할 수 있습니다. 현재 SBOM 형식의 통일을 위한 움직임은 없지만, 각 형식이 지속적으로 개선되고 업데이트되고 있으며, 여러 형식을 지원하는 도구의 필요성이 대두되고 있습니다.
어떤 SBOM 형식을 사용하든, 소프트웨어의 핵심 정보를 파악하기 위해 반드시 포함되어야 하는 최소한의 정보들이 정의되어 있습니다. 미국 국립통신정보관리국(NTIA)이 설정한 최소 구성 요소는 사실상의 정의로 자리 잡고 있습니다.
[그림3]SW 최소 구성 요소
이러한 최소 구성 요소는 누가 어떤 구성 요소를 사용했으며, 그 의존 관계는 어떠한지 등을 파악하는 데 필수적입니다.
4. SBOM생성 및 활용 도구, 그리고 오해들
SBOM의 효율적인 생성 및 활용을 위해서는 도구의 지원이 필수적입니다. 많은 오픈소스 도구가 SBOM 생성과 활용을 지원하며, 소프트웨어 빌드 과정이나 패키지 관리 시스템과 연동하여 표준 형식으로 SBOM을 추출할 수 있습니다. 생성된 SBOM 파일을 분석하여 취약점을 스캔하고 관리하거나, 라이선스 정보를 기반으로 OSS 카탈로그를 관리하는 도구들도 있습니다. 하지만 SBOM 도구에 대한 몇 가지 오해도 존재합니다.
□ 도구는 완벽하다
SBOM 도구가 완벽한 SBOM을 생성해 줄 것으로 생각할 수 있지만, 실제로는 그렇지 않습니다. 도구 출력물에는 오탐(False Positive) 및 미탐(False Negative)의 가능성이 있으므로 반드시 사람이 검토해야 합니다.
□ 모든 취약점을 해결할 필요가 있다
SBOM을 통해 수십, 수백 건의 취약점이 보고될 수 있습니다. 모든 취약점을 0으로 만들 필요는 없으며, 비용과 위험의 크기를 고려하여 우선순위에 따라 대응하는 것이 중요합니다.
□ 하드웨어 BOM과의 차이점은 없다
하드웨어의BOM과는 달리 소프트웨어는 동적으로 변경되기 때문에 SBOM은 지속적으로 업데이트되어야 한다는 점이 가장 큰 차이점입니다. 이 때문에 SBOM 관리가 다른 BOM보다 더 어렵다고 여겨집니다.
□ 오픈소스는 공짜 소프트웨어다
오픈소스 사용시 발생하는 유지보수, 통합, 법적준수, 보안관리등에 시간과 인력이 투입되며 결국 비용으로 이어집니다.
□ 최신버전 오픈소스는 보안취약점 패치가 되어 있어 안전하다
패치가 제공되더라도 사용자가 즉시 업데이트를 하지 않으면 취약점에 노출될 수 있습니다. 또한 패치가 오히려 새로운 버그나 취약점을 유발하는 경우도 드물게 존재합니다.
□ 많은 사람들이 사용하는 오픈소스는 보안수준이 더 높다
널리 사용되는 오픈소스는 공격자들이 보편적인 취약점을 찾아내어 광범위하게 공격하기에 유리한 대상이 됩니다.
5. SBOM의 전망 및 제언
SBOM은 소프트웨어 공급망의 투명성을 확보하고, 날로 증가하는 사이버 보안 위협에 효과적으로 대응하기 위한 필수적인 도구입니다. 비록 현재 국내에서는 SBOM 도입에 대한 법적 의무나 강제 규정은 없지만, 미국 등 해외 국가들과의 거래에서는 이미 필수적인 요소로 자리 잡고 있습니다. 앞으로는 서비스형 소프트웨어(SaaS)와 같은 클라우드 기반 서비스뿐만 아니라 IT 시스템 및 IT 자산 전반으로 SBOM 적용이 확대될 것으로 예상됩니다. 각 조직 및 기업은 이러한 변화에 대비하여 SBOM 도입을 적극적으로 검토하고, 필요한 인프라와 역량을 구축해야 할 것입니다. 마지막으로 강조하고 싶은 점은 SBOM 도입 자체가 목적이 아니라, 소프트웨어 관리 방법으로서의 SBOM이 수단이라는 점입니다. SBOM은 취약점 관리 및 라이선스 관리의 목적을 효율적으로 달성할 수 있는 도구 중 하나입니다. SBOM을 통해 소프트웨어 공급망의 가시성을 확보하고 선제적으로 보안 위협에 대응하는 것은 미래 소프트웨어 생태계의 건전성을 확보하는 중요한 초석이 될 것입니다.