SPDX와 CycloneDX: SBOM 형식 비교

모든 게시물

취약성 관리 및 사이버 보안 도구 역할을 하기 위해 SBOM(Software Bill of Materials) 채택이 증가하고 있음에도 불구하고 많은 조직에서는 오늘날 가장 널리 사용되는 두 가지 SBOM 형식인 SPDX와 CycloneDX를 이해하는 데 여전히 어려움을 겪고 있습니다. 이 글에서는 귀하의 필요에 맞는 형식을 선택하는 데 도움이 되도록 이 두 가지 형식을 비교하겠습니다.

SBOM 형식이란 무엇입니까?

소프트웨어 개발 및 취약성 관리를 위한 소프트웨어 BOM을 개발할 때는 특정 형식이나 표준을 준수해야 합니다. 표준 SBOM 형식은 SBOM 생성을 위한 구체적이고 통합된 구조를 정의하고 소프트웨어 공급망의 고객 및 사용자와 공유하는 방법도 결정합니다. SBOM 형식은 또한 다른 사이버 보안 도구가 이해하기 쉬운 형식으로 소프트웨어 구성을 정의합니다. 일반적으로 SBOM 형식에는 세 가지가 있습니다. 여기에는 다음이 포함됩니다.

소프트웨어 패키지 데이터 교환(SPDX): 이것은 Linux 재단의 기계 판독 가능한 오픈 소스 SBOM 프로젝트입니다. 이는 주로 개발 팀과 기업의 오픈 소스 및 독점 코드 관리에 있어 규정 준수와 투명성을 보장하기 위해 설계되었습니다.

사이클론DX(CDX): 이는 OWASP(Open Web Application Security Project) 커뮤니티에서 개발한 오픈 소스이자 기계 판독이 가능한 SBOM 형식이기도 합니다. 소프트웨어 개발 파이프라인 전반에 걸쳐 SBOM 생성의 채택 용이성과 자동화에 초점을 맞춘 경량 SBOM 형식입니다. 

소프트웨어 식별 태그(SWID):  SWID 태그는 SBOM 형식보다 소프트웨어 식별자로 더 많이 간주됩니다. 이는 소프트웨어 릴리스에 대한 특정 정보를 저장하여 소프트웨어 인벤토리를 추적하는 간단하고 투명한 방법을 제공합니다.

일반적으로 SPDX 및 CycloneDX SBOM 형식만 공식적으로 인식됩니다. SWID 형식은 다른 두 형식만큼 많은 정보를 제공하지 않기 때문에 소프트웨어 식별에 주로 사용됩니다.

SPDX와 CycloneDX에는 중복되는 정보가 포함되어 있으며 단일한 "표준" SBOM 형식이 없기 때문에 서로 바꿔서 사용할 수 있다고 많은 사람들이 주장해 왔습니다. 그러나 두 형식은 소프트웨어 개발 수명주기 내에서 전통적으로 서로 다른 사용 사례를 가지고 있습니다. 따라서 다양한 조직은 고유한 사이버 보안 및 규정 준수 요구 사항에 따라 어느 것이 가장 적합한지 결정해야 합니다.

하려면 여기를 클릭 SBOM 표준 형식에 대해 자세히 알아보세요..

SPDX와 CycloneDx 비교

SPDX와 CyclonDX는 SBOM 생성을 위한 두 가지 표준 형식이며 앞으로도 오랫동안 이 상태로 유지될 가능성이 높습니다. 대부분의 SBOM 생성 플랫폼은 두 형식을 모두 지원합니다. 그러나 사용 사례가 다른 별개의 도구입니다. 핵심 차이점 중 일부는 아래에 강조되어 있습니다.

CycloneDX 개요

CycloneDX는 선도적인 소프트웨어 보안 조직 중 하나인 OWASP(Open Web Application Security Project)의 오픈 소스 SBOM 프로젝트입니다. 이 프로젝트는 사용자가 소프트웨어 공급망의 위험을 식별하는 데 도움이 되는 구성 요소 분석 플랫폼으로 2017년에 시작되었습니다. 취약점 식별은 CycloneDX의 주요 사용 사례로 남아 있습니다. 이 SBOM 형식은 라이센스 준수 및 오래된 소프트웨어 구성 요소 식별에도 도움이 됩니다.

CycloneDX는 자동화에 중점을 두고 소프트웨어 빌드 주기 전반에 걸쳐 SBOM 요구 사항 채택을 촉진합니다. 이 형식은 보안 사용 사례를 위해 오픈 소스 및 독점 소프트웨어 조직에서 모두 사용됩니다.

BOM 형식인 CycloneDX에는 소프트웨어 BOM 준비 이상의 다른 응용 프로그램이 있습니다. 또한 하드웨어 및 클라우드 시스템의 구성요소, 취약점, 서비스를 컴파일하는 데에도 사용할 수 있습니다. Cyclone DX 형식으로 준비된 SBOM은 세 가지 주요 분야의 취약점을 나열합니다. 이것들은:

  • CPE(Common Platform Enumeration): 애플리케이션, 하드웨어 장치 또는 운영 체제 내의 취약점입니다.
  • SWID: 소프트웨어 식별 태그는 설치된 소프트웨어의 구성 요소를 분석하는 데 사용됩니다.
  • 패키지 URL(PURL). CycloneDX는 소프트웨어 패키지 메타데이터도 나열합니다.

이 외에도 CycloneDX 형식은 소프트웨어 제품 및 해당 구성 요소의 출처 추적도 지원합니다. 이를 통해 소프트웨어와 모든 구성 요소의 작성자와 공급업체를 더 쉽게 식별할 수 있습니다.

SPDX 개요

SPDX는 소프트웨어 패키지 데이터 교환을 의미합니다. 이는 소프트웨어 데이터, 특히 라이센스 정보의 수집 및 공유를 위한 공통 형식으로 제공될 목적으로 만들어진 Linux Foundation의 오픈 소스 프로젝트입니다.

SPDX 표준은 원래 2011년에 오픈 소스 라이선스 관리 도구로 개발되었습니다. 수년에 걸쳐 형식은 중요한 보안 관련 정보를 캡처하는 기능을 향상시키고 다른 표준 SBOM 형식과의 상호 운용성을 높이는 새로운 필드를 포함하도록 개선되었습니다.

2021년 XNUMX월, 국제표준화기구(International Standard Organization)는 SPDX 형식을 SBOM 출판을 위한 국제적으로 인정받는 표준으로 인정했습니다. SPDX는 이러한 성과를 달성한 유일한 SBOM 형식입니다.

이제 버전 2.2.2에서는 소프트웨어 라이센스 정책을 쉽게 준수할 수 있도록 SPDX 사양의 원본 버전이 개발되었습니다. 후속 버전에는 소프트웨어 취약점 식별을 포함하여 광범위한 사용 사례에 유용하게 사용할 수 있는 몇 가지 기능이 추가되었습니다.

SPDX의 최신 버전은 NTIA의 '소프트웨어 BOM의 최소 요소' 표준에 따라 설계되었습니다. 여기에는 소프트웨어의 구성 요소, 저작권, 라이센스 및 보안 참조가 나열됩니다.

SPDX 형식의 SBOM 문서에는 아래에 강조 표시된 특정 필드와 섹션이 있어야 합니다.

  • 문서 생성 정보: 표준 처리 도구와의 호환성을 확인하는 데 사용되는 정보입니다.
  • 패키지 정보: 패키지 정보는 컨테이너, 구성 요소 및 제품과 같이 소프트웨어 패키지 내에서 동일한 컨텍스트를 공유하는 중요한 엔터티를 정의합니다.
  • 파일 정보: 각 파일의 이름, 라이센스, 저작권 정보 등 소프트웨어 파일에 대한 식별 정보입니다.
  • 스니펫 정보: 항상 적용 가능한 것은 아닙니다. 스니펫 정보는 소프트웨어 데이터가 다른 소스에서 가져온 경우에만 필요합니다.

●  관계 및 주석: SPDX 형식의 SBOM은 소프트웨어 내에서 사용되는 다양한 문서, 파일 및 패키지 간의 관계를 명확한 주석으로 나타내므로 누구나 소프트웨어 구성 요소 관계를 보다 쉽게 ​​검토할 수 있습니다.

SPDX사이클론DX
정보: SPDX SBOM 형식은 소프트웨어 BOM 작성자, 생성 방법, SPDX 파일의 각 버전에 대해 생성된 날짜에 대한 정보를 캡처합니다.BOM 메타데이터: CycloneDX 형식은 소프트웨어 제조업체/공급업체 및 대상 구성 요소에 대한 중요한 정보를 캡처합니다. 또한 라이센스 정보와 자재 명세서 작성에 사용된 도구의 메타데이터도 포함됩니다.
패키지 정보: 전체 소프트웨어 패키지의 공통 속성과 관련된 데이터를 포함합니다.구성 요소: 전체 공급망에 걸쳐 소프트웨어의 모든 구성 요소를 설명합니다.
파일 정보: 소프트웨어 패키지에 포함된 모든 파일과 관련된 데이터입니다.서비스: 외부 API, 엔드포인트 URL 및 인증 요구 사항을 간략하게 설명합니다. 소프트웨어의 경계 순회 및 기타 외부 요구 사항을 신뢰합니다.
조각 정보: 파일의 특정 부분과 관련된 데이터입니다.종속성: 이 필드는 소프트웨어의 다양한 구성 요소 간의 직접적이고 전이적인 관계를 간략하게 설명합니다.
라이선스 정보: SPDX 라이선스 목록에 캡처되지 않은 라이선스에 대한 데이터를 캡처하는 필드입니다.확장: 향후 사용 사례 및 기능에 유용할 확장 지점에 대한 데이터를 제공합니다.
SPDX 요소 간 상관 관계: 이 필드는 SPDX 문서에 자세히 설명된 다양한 파일, 문서 및 패키지가 서로 연결되는 방식을 보여줍니다.
주석: SPDX 문서 검토 방법, 검토자 및 검토 시기를 설명하는 추가 정보입니다.

SPDX와 CycloneDX의 차이점은 무엇입니까?

위에 강조 표시된 두 가지 표준 SBOM 형식을 사용하여 SBOM 데이터를 생성, 공유 및 관리할 수 있습니다. 이를 통해 사용자는 소프트웨어 제품의 구성 요소에 대한 정확한 정보를 생성할 수 있습니다. SPDX(Software Package Data Exchange) 형식은 주로 오픈 소스 소프트웨어 라이선스를 관리하고 패키지에 대한 정보를 공유하는 방법으로 설계되었습니다. 반면 CycloneDX를 사용하면 사용자는 소프트웨어 구성 요소에 대한 자세한 정보를 제공하는 SBOM(소프트웨어 자재 명세서)을 생성할 수 있습니다.

어떤 표준을 사용하는 것이 더 낫습니까?

선택한 형식에 따라 SBOM 문서의 구조, 구성 요소, 생성 방법, 사용자와 공유 방법이 결정되므로 문서에 적합한 SBOM 형식을 선택하는 것이 중요합니다. SBOM 생성 중 조직의 고유한 요구 사항을 기반으로 합니다.

SPDX와 CycloneDX는 매우 유사한 애플리케이션을 가지고 있지만 원래 사용 사례에서는 다릅니다. SPDX 형식은 라이센스 관리 도구로 2011년에 만들어졌습니다. 오늘날에도 공급망을 따라 인간과 소프트웨어 시스템의 구성 요소에 대한 자세한 정보를 공유하는 데 여전히 유용합니다. 따라서 이 형식은 소프트웨어 개발 목적에 더욱 유용합니다.

반면 CycloneDX(CDX)는 소프트웨어 제품의 모든 표준 구성 요소를 자세히 설명하므로 SBOM 문서를 생성하는 주요 목적으로 최근 개발되었습니다. CycloneDX의 가벼운 특성 덕분에 신속하게 공유하고 처리할 수 있는 기계 판독 가능한 소프트웨어 BOM을 생성하는 효율적인 도구가 됩니다.

결국 이 둘 사이에 "더 나은" 형식은 없습니다. 어느 것을 선택할지는 조직의 특정 요구 사항과 생성하려는 SBOM 문서의 사용 사례에 따라 크게 달라집니다. 

이 콘텐츠는 소프트웨어 공급망 전반에 걸쳐 코드 아티팩트와 코드 개발 및 전달 프로세스에 최첨단 보안을 제공하는 선도적인 엔드투엔드 소프트웨어 공급망 보안 솔루션 제공업체인 Scribe Security에서 제공합니다. 자세히 알아보기.