SPDX : すでに世界共通のソフトウェア部品表 (SBOM) およびサプライチェーン セキュリティで使用

本ブログは、SPDX: It’s Already in Use for Global Software Bill of Materials (SBOM) and Supply Chain Security の参考訳です。

著者 :  The Linux Foundation、ディペンダブルシステム担当 VP  Kate Stewart

Linux Foundationの以前のブログにおいて、LF Supply Chain SecurityのディレクターDavid A. Wheelerは、どのようにすればLinux Foundationコミュニティが構築した一連の機能を使用して、サイバーセキュリティに関する米国大統領令の定めるソフトウェアのサプライチェーン セキュリティ要件に対応できるかについて説明しています。

これらの機能の1つであるSPDXは、ソフトウェア部品表(SBOM)に関する大統領令4(e)、4(f)、10(j)の要件に完全に対応しています。SPDX仕様はファイル形式として実装されており、大規模なコンピュータソフトウェア内のソフトウェアコンポーネントと、それらコンポーネントのライセンスなどのメタデータを明らかにします。

SPDXは、コンポーネント、ライセンス、著作権、セキュリティ リファレンスなどのソフトウェア部品表 (SBOM) 情報を伝達するためのオープンな標準です。SPDXには既存のツールの豊富なエコシステムがあり、企業やコミュニティが重要なデータを共有するための共通のフォーマットが提供され、ソフトウェアの識別とモニターリングを効率化し、強化します。

SBOMには多くのユースケースがあり、ライセンス コンプライアンスなどの分野で頻繁に使用されていますが、セキュリティ、輸出管理、さらにはM&A (合併/買収) プロセスやベンチャーキャピタル投資などの広範なプロセスにおいても同様に有用です。SPDXにはさまざまな用途をサポートする活発なコミュニティがあり、過去30年間にわたってオープンソース ソフトウェア プロジェクトをサポートしてきたのと同じ管理体系と活動様式によって運営されています。

LFは10年以上にわたってSPDXの開発と改良を行ってきており、SPDXはソフトウェア業界の企業やプロジェクトに広く取り入れられています。最近の注目すべきコントリビューションの例としては、日立、富士通、東芝などの企業が、SPDX2.2仕様リリースにおいて「SPDX Lite」のような任意追加プロファイルによって標準を拡張し、さらにプロプラエタリとオープンソースの自動化ソリューションでSPDX SBOMをサポートしたことが挙げられます。

このデファクト標準は、Joint Development Foundationを通じて、JTC1 (Joint Technical Committee1) のPAS Transpositionプロセスを用いてISOに提出されました。現在は同プロセスの照会フェーズにあり、ISOのWebサイトでISO/IEC DIS5962としてレビューできます。

SPDXには、広範なオープンソースのツールとともに、現時点で利用可能な商用ツールの選択肢も存在しており、さらに今後登場するものもあります。FOSSIDSynopsysのような企業は、この数年間、SPDXフォーマトを取り扱うために開発を行い、ビジネスを行っています。FOSSology (ソースコード解析)、OSS Review Toolkit (CI & Buildインフラからの情報生成)、Tern (コンテナーの構成分析)、Quartermaster (ビルドの拡張機能として情報収集)、ScanCode (ソースコード解析)などのオープンソースツールは、SPDX-toolsプロジェクトとともに、ソフトウェアの相互交換を目的として、SPDXの使用を標準にしており、Automated Compliance Tooling (ACT) Project Umbrellaにも参加しています。ACTは、2020年2月にLinux FoundationとHarvard University LISHが発表した「中核ソフトウェアの脆弱性 (“Vulnerabilities in the Core”)」調査報告内の「調査結果の概要」にて、ソフトウェアのサプライチェーン セキュリティ改善のためのコミュニティ主導のソリューションとして議論されてきました。

1つはっきりしているのは、異なるチームや企業間で容易に共有できるソフトウェア部品表は、今後10年間のソフトウェア開発とデプロイメントの中核になるということです。ソフトウェア メタデータの共有は、人手によるレビューや自動化されたレビューも含めて、今後異なる形式をとることもありえますが、中核的な仕組みが変わることはないでしょう。

この分野においても標準化は、他の分野と同様に成功の鍵となります。この分野では、SPDXが10年にわたって行われてきた先行開発のもたらすアドバンテージを持っています。したがって、標準化推進のプロセスは、この問題に対して新しい、あるいは未成熟なアプローチによって作成・拡張・追加改良するのではなく、さまざまな分野でSPDX標準を実装していくことです。

SPDX仕様を初めて利用するには、https://spdx.github.io/spdx-spec/ を参照してください。現在、改版作業が進行中です。現行仕様ではうまく表現できないユースケースがあるようでしたら、問題を提起してください。これは課題入力用のウィンドウです。

SPDXプロジェクトのさまざまな側面については、以下を参照してください。
https://spdx.dev/

2021年5月25日/Kate Stewart