SBOM(ソフトウェア部品表)とは?

ソフトウェア部品表(SBOM)について、SBOMが組込みシステムで重要な理由、ウインドリバーのソリューションがSBOMをどのようにサポートするかについてご紹介します。

 

SBOMとは何か?

ソフトウェア部品表(SBOM)とは、ソフトウェアの一部を作成する際に使用される様々なコンポーネント、ライブラリ、依存関係、およびリソースを箇条書きにした包括的な一覧です。

SBOMの主な目的は、ソフトウェアのサプライチェーンにおける透明性とトレーサビリティを強化することです。ソフトウェアを構築する際に使用されるすべてのコンポーネントの詳細なリストがあれば、開発者、セキュリティチーム、およびエンドユーザーは、ソフトウェアの構成をよりよく理解することができます。この知識は、脆弱性の管理、ライセンスの追跡、セキュリティリスクの評価、効率的な保守と更新の促進にとって非常に貴重です。

SBOMの主な目的は、ソフトウェアのサプライチェーンにおける透明性と
トレーサビリティを強化することです。

SBOM は、特にサイバーセキュリティの領域において、重要性が高まり大きな注目を集めています。SBOMは、サードパーティのコンポーネントや古いバージョンのソフトウェアを使用することで発生する可能性のある潜在的なセキュリティの脆弱性や脅威を、組織が特定し緩和する上で重要な役割を果たしています。サプライチェーン攻撃の増加と、現代のソフトウェアの相互接続性に伴い、明確でアクセス可能な SBOM は、ソフトウェアのセキュリティと信頼性を確保するためのベストプラクティスの構成要素になりつつあります。

SBOMは何で構成されているのか?

効果的なSBOMは、システムのソフトウエア構成に関する包括的な洞察を提供し、利害関係者がセキュリティリスクを管理・軽減します。さらに、コンプライアンスを確保し、効率的な保守を促進し、ソフトウエアコンポーネントとその相互依存関係について情報に基づいた意思決定を行うことを可能にします。

SBOM は通常、特定のシステムで使用されるソフトウェアのさまざまなコンポーネント、依存関係、および属性に関する詳細情報で構成されます。以下は、SBOMによく見られる主な要素です:

  • コンポーネント・インベントリ: ライブラリ、フレームワーク、モジュール、サードパーティの依存関係など、システム内のすべてのソフトウェアコンポーネントのリスト。このインベントリには、多くの場合各コンポーネントに固有の識別子などの詳細が含まれています。
  • バージョン情報: ソフトウェアに含まれる各コンポーネントの具体的なバージョンをリストアップし、現在のバージョンと、開発中またはテスト中に使用された可能性のある旧バージョンの両方を詳述します。
  • 依存関係と関連性: さまざまなモジュールやライブラリ間の依存関係など、さまざまなコンポーネントが互いにどのように関連しているかについての情報です。これは、ソフトウェアのアーキテクチャや、あるコンポーネントの変更や脆弱性が他のコンポーネントに与える影響を理解するのに役立ちます。
  • メタデータと属性: 各コンポーネントに関する追加情報です。たとえば、出所(ソースが提供された場所)、ライセンス情報、作者の詳細、リリース日、特定のバージョンに関連する既知の脆弱性やセキュリティ問題などです。
  • 階層と構造: 複雑なシステムの場合、SBOM は階層ビューを提示し、ソフトウェア内でコンポーネントがどのように編成、ネスト、または相互接続されているかを示し、システムのアーキテクチャと構成を明確にします。
  • 証明と追跡: ソフトウェア・コンポーネントのサプライチェーンに関する詳細、開発から配備までの出所の追跡、ソフトウェア・サプライチェーンにおける透明性と説明責任を確保します。
  • フォーマットおよび標準: SBOM は,業界または特定の要件に応じて、様々なフォー マット、標準で作成されます。また、他の業界固有のガイドラインへに準拠している場合もあります。

組み込みシステムにとってSBOMはなぜ重要なのか?

組込みシステムは、医療機器から産業機械、自動車部品に至るまで、現代のインフラに不可欠な要素です。SBOMが組込みシステムの基盤ツールとして機能する理由はいくつかあります:

  • 透明性: 組込みシステムは、様々なベンダーや開発者から提供されたソフトウェアやファームウェアの 複雑なレイヤーに依存しています。これらのシステムには複数のコンポーネントと依存関係があり、その出所や潜在的な脆弱性を追跡することは困難です。SBOM は、構造化されたインベントリを提供します。この透明性は、脆弱性を迅速に特定して対処し、組込みシステム全体のセキュリティを確保するために極めて重要です。

組込みシステムの多くはライフサイクルが長く、クリティカルな環境で
数年から数十年にわたり稼働します。

  • リスク管理: 多くの組込みシステムのライフサイクルは長く、クリティカルな環境で数年から数十年にわたり運用されます。この間、重大なリスクをもたらすソフトウェアの脆弱性が出現または発見される可能性があります。SBOM は、継続的な保守と更新を支援する動的なリファレンスです。ソフトウェアのバージョン、パッチの利用可能性、および関連するセキュリティ勧告について関係者に情報を提供し、潜在的な脅威へのタイムリーな対応を保証し、効果的なリスク管理を促進します。
  • 相互接続性: 組込みシステムの相互接続性は、SBOMの重要性を高めています。これらのシステムは、他のデバイスやネットワークと通信し連携することで、複雑なエコシステムを形成しています。各組込みシステム内のソフトウェアコンポーネントを理解することは、より広範なネットワークのセキュリティを評価し、連鎖的な脆弱性を防止し、相互接続されたデバイス間でシステムの完全性を維持するために不可欠です。
  • コンプライアンス: 規制の状況、特に医療や自動車などのセーフティクリティカルな業界では、SBOM を持つことがコンプライアンス要件になることがあります。規制機関は、ソフトウェア開発における透明性と説明責任の必要性をますます強調しており、システムの安全性と信頼性を確保するために、ソフトウェアコンポーネントと依存関係の文書化を義務付けています。
» 「組込みシステム」の詳細はこちら

ウインドリバーのアプローチ

Wind River Studio Linux サービス:セキュリティとコンプライアンスのスキャン

ウインドリバーは、プロフェッショナルグレードのLinuxソフトウェアスキャンを提供し、共通脆弱性識別子(CVE)、ライセンスの問題をレポートします。LinuxソリューションのSBOMをアップロードすると、特定されたすべての脆弱性と、お客様のプラットフォームで使用されているライセンスのレポートを入手できます。より高品質なコードを構築し、アプリケーションの開発とデプロイを加速します。

» 「セキュリティスキャンサービス」の詳細はこちら
WIND RIVER STUDIO LINUX セキュリティスキャン

当社のプロフェッショナル・グレードのセキュリティ脆弱性スキャンは、組み込みシステム特有のニーズを満たすように特別に設計されています。あらゆる Linux SBOM をスキャンし、脆弱性の分析、ライセンス、バージョン管理、コミュニティリソースを提供することができます。

手順は以下の通りです:

  1. github.com/Wind-River/meta-wr-sbomのYocto Projectレイヤーを活用して、ソフトウェア部品表(SBOM)を作成する。
  2. ウェブベースのアプリケーションを使用して、SBOMまたはソフトウェアマニフェストをアップロードする。
  3. グラフィカルなダッシュボードで結果を見る。
  4. 特定のCVEを分類し、優先順位を付け、詳細を調べる。
  5. チームメンバーと協力して修正を行う。
  6. ウインドリバーのエキスパートを活用し、修復計画と継続的なセキュリティ監視を行う。
» 「セキュリティスキャン」の詳細はこちら
ウインドリバーのサービスとサポート

ウインドリバーのサービスとサポートは、お客様の組込みプロジェクトを完了するための次のステップを支援します。ウインドリバーのサービスは、カスタマーサポートのゴールドスタンダードであるSCP(Service Capability and Performance)認定を受けています。設計サービスから教育まで、ウインドリバーがお手伝いします。

» 「サービスとサポート」の詳細はこちら