소프트웨어 자재 목록(SBOM) 은 소프트웨어 프로젝트에 사용된 구성 요소와 종속성에 대한 자세한 목록을 제공하는 문서입니다. 또한 소프트웨어 내에서 사용되는 모든 라이브러리, 프레임워크와 각각의 버전도 나열합니다. 오픈소스 소프트웨어(OSS) 의 경우 SBOM은 투명성, 보안 및 규정 준수를 보장하는 데 중요한 역할을 할 수 있습니다.
SBOM을 사용하면(특히 OSS에서) 조직은 구성 요소와 종속성에 대한 가시성을 확보하고 위험 관리를 개선하는 등 많은 이점을 얻을 수 있습니다. 아래에서 이러한 혜택에 대해 간략하게 설명하겠습니다.
OSS는 종종 다양한 타사 구성 요소와 종속성을 통합합니다. SBOM을 통해 개발자와 사용자는 소프트웨어에 사용된 모든 구성 요소를 명확하게 볼 수 있습니다. 여기에는 오픈 소스 라이브러리와 프레임워크와 해당 라이브러리의 특정 버전이 포함됩니다. 이러한 가시성은 소프트웨어 구성을 이해하고, 잠재적인 취약성을 식별하고, 오픈 소스 구성 요소와 관련된 모든 라이선스 의무를 추적하는 데 도움이 됩니다.
다른 소프트웨어와 마찬가지로 OSS도 보안 취약점에 취약할 수 있습니다. SBOM을 사용하면 조직에서 오픈 소스 구성 요소의 버전을 추적하고 해당 버전과 관련된 알려진 취약점에 대한 정보를 얻을 수 있습니다. 이를 통해 패치나 업데이트를 신속하게 적용하여 보안 문제를 완화하고 보고함으로써 사전 예방적 취약성 관리가 가능합니다( RFC8615 참조). 최신 SBOM을 보유하면 조직에서는 취약점의 영향을 평가하고 적절한 조치를 취해 소프트웨어를 보호할 수 있습니다.
최근 몇 년 동안 소프트웨어 공급망 보안이 심각한 문제로 대두되었습니다. SBOM은 소프트웨어에 사용된 구성 요소와 그 출처에 대한 투명성을 제공하여 공급망 보안을 강화하는 데 기여합니다. 또한 조직에서는 이를 통해 자신이 사용하는 구성 요소의 신뢰성과 보안 태세를 평가할 수 있습니다. SBOM을 통해 조직은 손상되거나 악성인 구성 요소와 관련된 위험을 식별하고 완화하여 소프트웨어 공급망 공격의 가능성을 줄일 수 있습니다.
OSS는 협업과 커뮤니티 참여를 장려합니다. SBOM은 다양한 기여자와 이해 관계자 간에 소프트웨어 구성 요소에 대한 공통 이해를 제공하여 효과적인 협업을 촉진합니다. 업데이트나 수정이 필요한 구성 요소를 명확하게 식별하여 패치 관리 노력을 조정하는 데 도움이 됩니다. 모든 참여자가 공유 SBOM을 참조하여 보안 취약점과 기타 문제를 해결할 수 있으면 오픈소스 커뮤니티 내에서의 협업이 더욱 효율적이 됩니다.
일부 산업에서는 규제 프레임워크로 인해 조직이 자사의 애플리케이션이나 시스템에 사용되는 소프트웨어 구성 요소에 대한 투명성과 통제력을 입증해야 합니다. SBOM은 이러한 규정 준수 요구 사항을 충족하는 데 필요한 문서를 제공합니다. 이를 통해 조직은 특히 OSS의 보안 및 라이선싱 측면과 관련하여 실사, 추적성 및 관련 규정 준수를 입증할 수 있습니다.
OSS는 일반적으로 소프트웨어를 어떻게 사용하고, 수정하고, 배포할 수 있는지를 규정하는 특정 라이선스에 의해 관리됩니다. SBOM은 모든 오픈 소스 구성 요소와 해당 라이선스에 대한 포괄적인 개요를 제공합니다. 이를 통해 조직은 사용하는 OSS의 라이선스 조건을 준수하는 데 도움이 됩니다. 라이선스 의무를 이해함으로써 조직은 법적 또는 규정 준수 문제를 피하면서 소프트웨어 배포 및 사용에 대한 정보에 입각한 결정을 내릴 수 있습니다.
은행이나 의료 등 규제가 심한 산업 분야의 여러 정부와 조직은 SBOM 사용을 옹호하거나 SBOM 사용을 내부적으로 또는 공급업체에 대한 필수 사항으로 만드는 것을 고려하고 있습니다.
SBOM을 구축하려면 소프트웨어 공급망 전체에 걸쳐 다양한 이해관계자의 협력과 참여가 필요합니다. 이러한 이해관계자를 참여시키고 그들 간의 협업을 촉진함으로써 조직은 소프트웨어 구성 요소에 대한 필요한 정보를 수집하고, 공급망 보안을 강화하고, 위험 관리 및 규정 준수 노력을 용이하게 하는 강력하고 신뢰할 수 있는 SBOM을 구축할 수 있습니다.
이 과정에 참여해야 할 주요 개인 또는 역할은 다음과 같습니다.
조직에서는 소프트웨어 구성 요소, 출처, 종속성 및 관련 보안 정보에 대한 포괄적인 관점을 제공하는 SBOM을 구축해야 합니다. 이를 통해 소프트웨어 공급망 위험을 보다 효과적으로 관리하고 전반적인 소프트웨어 보안을 강화할 수 있습니다.
SBOM을 구축할 때의 핵심 단계는 다음과 같습니다.
SBOM이 실패하거나 의도한 목적을 달성하지 못하는 데에는 여러 가지 이유가 있습니다. 이러한 과제를 해결하고 SBOM의 정확성, 완전성, 최신성을 보장하면 실패 위험을 완화하는 데 도움이 될 수 있습니다.
다음은 SBOM 구축 모범 사례를 반영하는 일반적인 실패 원인입니다.
전반적으로 SBOM은 OSS의 복잡성을 관리하는 데 귀중한 도구입니다. 오픈소스 생태계 내에서 투명성, 보안, 규정 준수 및 협업을 촉진합니다. SBOM은 소프트웨어 구성 요소, 버전, 관련 라이선스 정보에 대한 자세한 인벤토리를 제공함으로써 조직이 정보에 입각한 의사 결정을 내리고, 위험을 관리하고, 소프트웨어 프로젝트의 무결성과 보안을 보장할 수 있도록 지원합니다.