ソフトウェア部品表 (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 は、ソフトウェア コンポーネント、そのバージョン、および関連するライセンス情報の詳細なインベントリを提供することで、組織が情報に基づいた意思決定を行い、リスクを管理し、ソフトウェア プロジェクトの整合性とセキュリティを確保できるようにします。