[정보보안] SBOM(Software Bill Of Materials)에 관하여

HBOM(Software Bill of Materials)에 대한 설명을 함께 보시면 좋습니다.


소프트웨어 자재명세서(Software Bill of Materials, SBOM)은 소프트웨어(SW) 구성요소를 서술하는 일종의 메타 데이터로 SW 전체의 구성요소, 라이선스, 버전, 종속성 등을 목록화한 문서입니다. SBOM은 소프트웨어의 투명성과 보안성을 높이는 데 중요한 역할을 합니다. 미국 NTIA(National Telecommunications and Information Administration, 전기통신정보청)는 SBOM을 ‘SW 재료의 목록’이며 “SW 구축에 사용되는 다양한 구성요소의 세부 사항과 공급망 관계를 포함하는 공식적인 기록”으로 정의하고 있습니다. 국내에서는 SW 구성 명세서, SW 구성요소 명세서, SW 부품명세서 등으로 다양하게 부르고 있습니다.
대표적인 SW 공급망 공격 사례인 SolarWinds 및 Log4Shell 공격이 큰 피해를 낳으면서, SW에 어떤 구성요소가 존재하는지 신속하게 파악하고, 위험에 대처하기 위한 도구로 SBOM 활용이 부각되었으며, SW 제작 시에 외부 라이브러리나 공개 SW를 포함하여 SW 공급망이 복잡해지고, 보안취약점이 증가함에 따라 이를 추적하고 관리해야 할 필요성이 대두되었습니다.

주요 개념
  1. 구성 요소 목록화: SBOM은 소프트웨어 제품을 구성하는 모든 개별 구성 요소를 식별합니다. 여기에는 오픈 소스 라이브러리, 상용 소프트웨어 모듈, 자체 개발 코드 등이 포함됩니다.
  2. 라이선스 정보: 각 구성 요소의 라이선스 정보를 포함하여, 사용자가 라이선스 준수 요구사항을 이해하고 충족할 수 있도록 돕습니다.
  3. 버전 정보: 각 구성 요소의 버전 정보를 제공하여, 소프트웨어의 업데이트 및 패치 관리가 용이해집니다.
  4. 종속성: 소프트웨어 구성 요소 간의 종속성 정보를 명시하여, 특정 구성 요소가 다른 구성 요소에 의존하고 있는지 여부를 파악할 수 있습니다.
장점
  1. 보안: SBOM을 통해 소프트웨어의 취약점을 식별하고 신속하게 대응할 수 있습니다. 특정 취약점이 보고될 경우, 해당 취약점을 포함한 구성 요소를 SBOM을 통해 쉽게 찾아내어 대응할 수 있습니다.
  2. 투명성: 소프트웨어 구성 요소를 명확하게 파악할 수 있어, 소프트웨어 개발 및 유지보수 과정에서 투명성을 높입니다.
  3. 컴플라이언스: 라이선스 정보가 명확히 제공되어, 소프트웨어 사용에 따른 법적 위험을 최소화할 수 있습니다.
  4. 품질 관리: 소프트웨어 구성 요소의 버전 및 종속성 관리를 통해 소프트웨어의 품질을 유지하고 개선할 수 있습니다.
활용 사례
  1. 보안 감사: 조직 내 소프트웨어의 보안 상태를 평가하고, 취약점에 대한 대응 계획을 세우는 데 사용됩니다.
  2. 라이선스 컴플라이언스: 오픈 소스 라이선스 규정을 준수하기 위해, 사용 중인 소프트웨어의 라이선스를 검토하고 관리하는 데 도움을 줍니다.
  3. 업데이트 관리: 구성 요소의 최신 버전을 추적하고, 필요한 경우 업데이트 및 패치를 신속하게 적용하는 데 사용됩니다.
  4. 공급망 관리: 소프트웨어 공급망의 투명성을 높이고, 공급망 내의 리스크를 관리하는 데 활용됩니다.
생성 및 관리 도구

SBOM을 생성하고 관리하는 데 사용할 수 있는 도구들이 많이 있습니다. 미국 NTIA에서는 빠른 시장 적용을 위해 3가지(SPDX, CycloneDX, SWID)를 인용하고 있으며, 다만 SWID는 보안취약점 관리에 활용되지 않고 있습니다.

생성 및 관리 도구

출처: KISA의 제로트러스트 가이드라인 1.0

결론

SBOM은 소프트웨어 보안 및 투명성 관리에서 중요한 도구로 자리 잡고 있습니다. 소프트웨어 개발 및 운영 과정에서 SBOM을 효과적으로 활용하면, 보안 위협에 대한 대응력을 높이고, 법적 및 규제적 요구사항을 준수할 수 있습니다.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다