検索
特集/連載

ソフトウェア部品表「SBOM」のフォーマットとは? 国際標準「SPDX」の中身SBOM「3つのフォーマット」を比較【中編】

「SBOM」(Software Bill of Materials)を使うことで、セキュリティの向上を図ることができる。そのフォーマットの一つとして「SPDX」がある。これはどのようなフォーマットで、何ができるのか。

Share
Tweet
LINE
Hatena

 ソフトウェア部品表である「SBOM」(Software Bill of Materials)は、ソフトウェアのライセンス管理や、脆弱(ぜいじゃく)性の特定に役立つ。SBOMには以下3つのフォーマットがある。

  • CycloneDX
  • Software Package Data Exchange(SPDX)
  • Software Identification Tag(SWID Tag、またはSWIG)

 これらは何が違うのか。SPDXの構成要素や、利用できるツールを紹介する。

SPDXとは? その構成要素とツールの中身

 SPDXはオープンソースソフトウェア(OSS)開発を手掛けるLinux Foundationが提供している。2021年、「ISO/IEC 5962:2021」として国際標準化された。企業はSPDXを利用することで、ソフトウェアコンポーネントのライセンス管理の他、脆弱性の特定や修正ができる。SPDXは大規模な組織を中心に採用が広がりつつある。

 SPDXの利用に当たっては、ソフトウェアを識別するための基準として以下が利用できる。

  • CPE(Common Platform Enumeration、共通プラットフォーム一覧)
  • SWHID(SoftWare Heritage persistent IDentifiers)
  • PURL(Package URL)

 SPDXでは「JSON」(JavaScript Object Notation)や「RDF」(Resource Description Framework)、「YAML」といったさまざまなデータ形式が利用できる。

 SPDXは以下の3つから構成される。

  • SPDX specification(SPDX仕様)
  • SPDX License List(SPDXライセンスリスト)
  • Tools(SPDXのツールとライブラリ)

 SPDXのツールには、商用のツールとオープンソースのツールがある。オープンソースの主なツールは以下の通りだ。

  • Build
    • ビルド(実行可能プログラムの作成)対象のメタデータやソースファイルを提供するプラグインや拡張機能を作成する
  • Audit Tool
    • システム監査技術を用いてソースコードのモジュールを分析する
  • License Diff
    • ソースコードモジュール間の差異を文書化する
  • Merge
    • ソフトウェア開発中に全てのソースコードのモジュールを1つの形式にまとめる

 後編は、SWID Tagを紹介する。

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る