これは、特定のソフトウェア アプリケーションに関連付けられています。SCA ツールを使用して、アプリケーションのコードベース全体を検索し、アプリケーションで使用されているすべてのオープン ソース ライブラリとコンポーネントを見つけ、それらのバージョンを監視し、それらのコンポーネントの既知の脆弱性も見つけます。
SCAの目的
SCA の主な目的は、OSS コンポーネントの組み込みによって生じるリスクを軽減することです。リスクとは、セキュリティの問題、古いまたは非推奨のライブラリ/コンポーネントの使用、オープンソース ライセンスの遵守の必要性などです。このようにして、SCA はそのようなリスクを防止し、ソフトウェア ライフサイクル全体を通じて適切なソフトウェア セキュリティとコンプライアンスを維持するのに役立ちます。
SCAの方法論
SCA ツールでは通常、次の方法論が採用されます。
- 依存関係のスキャン: SCA ツールは、プロジェクト ビルド ファイル (Maven、npm、Gradle など) に記載されている依存関係に基づいて、使用されるオープン ソース コンポーネントを決定します。
- バイナリ解析一部の SCA ツールは、コンパイルされたバイナリ内のオープンソース コンポーネントを判別できます。
- 署名マッチングSCA ツールは、識別されたオープンソース コンポーネントとその署名のデータベースに基づいて動作し、アプリケーション内で一致するものを検索します。
- 脆弱性の検出: 見つかったすべての要素は、SCA ツールによるセキュリティ脅威の検出のために、既知の脆弱性 (NVD、CVE など) のデータベースと照合されます。
SCA の利点
SCA はソフトウェア セキュリティ管理にいくつかの利点をもたらします。
- セキュリティ強化SCA は、アプリケーションを侵害するために悪用される可能性のあるオープンソース コンポーネントを正確に特定するため、既知の脆弱性の悪用を防止します。
- コンプライアンス管理: SCA ツールの助けを借りて、オープンソース ライセンスも遵守され、法的問題が回避されます。
- リスク軽減SCA ツールはソフトウェアのリスク状況を示し、事前にリスク管理を行うことができます。
- 継続的モニタリング: 利用可能な SCA ツールのほとんどは、オープンソース コンポーネントを継続的に監視し、新しい脆弱性が見つかるとすぐに開発者に通知することができます。
ソフトウェア部品表 (SBOM) を理解する
SBOMとは ソフトウェア部品表 これは、ソフトウェア アプリケーションを構成するすべてのコンポーネント、ライブラリ、依存関係の詳細なリストです。コンポーネントの名前、バージョン、ライセンスの種類、インストール元などの情報が含まれています。SBOM は、ソフトウェアのセキュリティを判断し、リスクを軽減する上で重要なソフトウェア コンポーネントのスナップショットを提供します。
SBOMの目的
SBOM の主な目的は、ソフトウェア部品表を明らかにすることです。SBOM は、アプリケーションに組み込まれている各コンポーネントを規定し、組織がソフトウェア サプライ チェーン、リスク プロファイル、コンプライアンス ステータスを理解するのに役立ちます。
SBOMの方法論
SBOM の作成には通常、次の方法論が含まれます。
- コンポーネントの識別: ソフトウェアを構成するすべてのコンポーネント、ライブラリ、依存関係を定義します。セキュリティは、特にソフトウェア開発の分野では大きな懸念事項です。開発して使用するソフトウェアが安全であることを保証するには、ソフトウェアのさまざまな部分と、そこに含まれるリスクを理解する必要があります。この分野には、ソフトウェア構成分析 (SCA) とソフトウェア部品表 (SBOM) という 2 つの重要なツールがあります。どちらもソフトウェア セキュリティの向上に関連していますが、機能、アプローチ、利点が異なります。この記事では、ソフトウェア セキュリティ制御における SCA と SBOM の関係、目的、アプローチ、利点についての比較にも焦点を当てています。
-
ソフトウェア構成分析 (SCA) を理解する
- ソフトウェア構成分析 (SCA) オープンソース コンポーネント、そのセキュリティ ステータス、およびライセンスを識別するのに役立つプロセスまたは一連のツールとして定義されます。
- メタデータの収集: バージョン、ライセンス、ソースなどのコンポーネントに関する追加情報を収集します。
- 関係の文書化ソフトウェア システムを構成する部分間の相対的な相互接続を文書化して表示します。
- 自動化されたツール: ソフトウェア エンジニアリングの自動化を利用して SBOM を作成および更新します。
SBOMの利点
SBOM はソフトウェア セキュリティ管理にいくつかの利点をもたらします。
- 透明性: ソフトウェア コンポーネントの明確で詳細なドキュメントが存在することを確認し、サプライ チェーンの理解を向上させます。
- リスクマネジメント: これにより、サードパーティのコンポーネントに関連する脆弱性と、それらに関連するライセンスのコンプライアンスを知ることができます。
- コンプライアンス: SBOM の実装を必要とする法律および業界標準への準拠。
- インシデント対応: 影響を受けるサブパーツに関する情報を提供するため、セキュリティ侵害を迅速に封じ込めることができます。
SCA と SBOM の主な違い
このように、SCA と SBOM はソフトウェア セキュリティの管理に関連していますが、機能と目的は異なります。SCA と SBOM の主な違いは次のとおりです。
1. 範囲と焦点
- SCA: アプリケーションへのオープンソース要素の統合を特定し、防止する手順を中心にしています。主な目的は、既存の弱点を特定し、ライセンスを管理することです。
- SBOM: アプリケーション内に存在するすべてのクラス、ライブラリ、依存関係を列挙し、簡単にカタログ化できるようにします。このフレームワークの主な目的は、ソフトウェア サプライ チェーンの可視性を高め、リスクを軽減することです。
2。 方法論
- SCA: 依存関係スキャン メカニズム、バイナリ分析、および署名マッチングを通じてオープン ソース コンポーネントを識別し、脆弱性を検出します。
- SBOMすべての要素を識別し、メタデータを収集し、相互作用を記録して、ソフトウェア コンポーネントの詳細なリストを作成します。
3. 成果物と成果物
- SCA: オープンソース コンポーネントの発見された弱点、ライセンス違反、およびリスク評価に関するレポートを生成します。
- SBOM: リストされているすべてのコンポーネントとそのバージョン、ライセンス、ソース、および他のコンポーネントとの関係を含むインベントリ レポートを作成します。
4.ユースケース
- SCA:
- オープンソース ライブラリの既知の脆弱性に関する特定された問題をスキャンして修正します。
- オープンソースソフトウェアのライセンスに準拠。
- オープンソース コンポーネントを継続的にスキャンして、新しい脆弱性レポートを検出します。
- SBOM:
- ソフトウェア サプライ チェーン内のリンクの可視性を向上します。
- 利用可能なソフトウェア コンポーネントに関する必要な情報をすべて提供することで、リスク管理プロセスを有効にします。
- SBOM の使用を義務付ける規制および業界のガイドラインに準拠します。
- 影響を受けたコンポーネントに関するより詳細なデータを提供することで、インシデント対応を支援します。
SCAとSBOMの関係
SCA と SBOM は、ソフトウェア セキュリティ管理を改善するために相乗的に実装できるツールです。SCA はオープン ソース コンポーネントに関連するリスクに重点を置いていますが、SBOM は、独自の要素とサード パーティの要素の両方を含むソフトウェアの構成をより包括的に把握できます。SCA と SBOM を組み合わせることで、組織のソフトウェアの全体像が確立され、リスクが適切に軽減されます。
統合利用例
ある組織が Web アプリケーションを作成し、多数のオープンソース ライブラリとサードパーティ コンポーネントを使用することを計画しているとします。セキュリティを強化するために SCA と SBOM を統合する方法は次のとおりです。
- SBOMの生成: SBOM は組織によって自動的に作成され、アプリケーションで使用されるすべてのコンポーネント、ライブラリ、依存関係、それらのバージョン、ライセンス、および出所に関する情報が含まれます。
- SCA の実行: 組織は SCA ツールを使用して、オープンソース コードに基づくアプリケーションの要素に脆弱性が存在するかどうかを検索します。特定されたコンポーネントは脆弱性のデータベースと比較され、明らかにされた脆弱性に関するレポートが SCA ツールによって提供されます。
- リスクの管理: この構造により、組織は SBOM を使用してアプリケーションの完全な構成とその要素間の相互作用を識別します。 SBOM は、SCA ツールでは明らかにされないサードパーティおよび独自のコンポーネントに関連するリスクの定義に役立ちます。
- 継続的モニタリング: 組織は常に SBOM を更新し、定期的に SCA スキャンを実行して新しい脆弱性をチェックし、ライセンスへの準拠を確認します。SCA と SBOM を組み合わせることで、ソフトウェア セキュリティの脆弱性を総合的に評価し、効率的なリスク軽減が可能になります。
ソフトウェアセキュリティ管理の利点
SCA と SBOM を統合すると、ソフトウェア セキュリティ管理に次のようないくつかの利点がもたらされます。
- 総合的なリスク管理したがって、SCA の脆弱性識別機能と SBOM のソフトウェア部品表の可視性を統合することで、組織内のリスクに適切に対処できるようになります。
- 視認性の向上: SBOM はすべてのソフトウェア コンポーネントを明確に説明するため、ソフトウェアとそのサプライ チェーンの全体的な可視性が向上します。
- プロアクティブなセキュリティSCA を使用すると、オープンソース コンポーネントに埋め込まれた脅威を早期に検出して排除し、セキュリティの脅威を防ぐことができます。
- コンプライアンス保証SCA と SBOM の 2 つは、規制や標準の遵守違反に関連する法的結果を回避するのに役立ちます。
- 効率的なインシデント対応したがって、セキュリティ インシデント発生時には、SBOM の詳細なデータにより、侵害されたコンポーネントを迅速に検出して削除することができます。
集中型 SBOM 管理のベスト プラクティス
SBOM は C-SCRM 標準でますます取り上げられるようになっているため、組織にとって SBOM の管理は非常に重要です。NSA と CISA は、ソフトウェア製品の真正性、整合性、信頼性の側面を含む SBOM 管理の対策を提供しています。
高度な集中型 SBOM 管理プラットフォームを作成することで、ソフトウェア セキュリティのレベル向上を目指す組織に新たな機会がもたらされます。これらのプラットフォームは、すべてのソフトウェア コンポーネントとそれらに関連するリスクを包括的に把握できるため、組織内のソフトウェア サプライ チェーンの管理が向上します。次のセクションでは、この概念の要素と、集中型 SBOM 管理プラットフォームの適切な使用に関する NSA と CISA の推奨事項について詳しく説明します。
集中型 SBOM 管理プラットフォームの主な機能
- SBOM 入出力管理:
- 複数フォーマットのサポート: Cyclone DX や SPDX として知られる SBOM の標準化された形式など、さまざまなバージョンの SBOM 形式に対応する必要があります。SBOM を JSON、XML、CSV 形式でエクスポートおよびインポートできる必要があります。
- コンプライアンスチェック: SBOM ファイルの構造とフォーマット構文を正しいフォーマット仕様に照らして検証する必要があります。インポート中に SBOM ファイルを正規化および修正するのに役立つ自動修正機能は便利です。
- 集約と変換: 複数の SBOM を収集し、SBOM ファイルの 1 つの形式やタイプを別の形式やタイプに変換できる必要があります。
- SBOM の生成と処理:
- コンポーネントの識別: サプライヤー名、部品名、部品識別子、部品バージョン、部品依存関係、部品作成者などの基本的な SBOM フィールドを含める必要があります。
- 依存関係のマッピング: コンポーネントの依存関係を視覚的に説明し、外部エンリッチメントを含むコンポーネントの由来データを表示するためのインターフェース機能が必要です。
- 検証と脆弱性の追跡:
- 整合性検証: 各コンポーネントのハッシュ情報を記録して表示するとともに、SBOM のデジタル署名とコンポーネントの整合性も提供する必要があります。また、出所に関するデータが収集されたその他の関連リンクも提供する必要があります。
- 継続的な更新: プラットフォームは脆弱性データベースから毎日更新され、新しい脆弱性と更新についてユーザーに通知する必要があります。新しい脆弱性と以前の脆弱性の更新を区別し、脆弱性対応とリスク対応の優先順位付け方法に関する情報を提供できる必要があります。
- 脅威インテリジェンスの統合: 複数の脅威インテリジェンス ソースと、ポリシーを展開する際に組織固有のポリシー ルールを適用する独自の機能を組み合わせることで、プラットフォームがさらに強化されます。
- ユーザーインターフェイスと統合:
- ユーザーフレンドリーなインターフェース: ヒューマン コンピュータ インターフェイス (HCI) 標準に準拠し、アクセシビリティを備え、情報を簡単に評価できるようにする必要があります。ソフトウェア コンポーネント、脆弱性、ライセンス、サプライヤー、ユーザー、およびユーザー組織に関する情報属性には、重要なグラフィック表現方法と形式があります。
- APIとエコシステム統合「API ファースト」設計とは、システムと他のシステム間でデータを自動的に簡単に転送できることを意味します。
- スケーラブルなアーキテクチャと構成管理:
- サブ組織のサポート: プラットフォームには、リスク許容度に関して異なるルールやポリシーを持つことが予想される企業内の特定のサブ組織に対処する方法が含まれている必要があります。
- 包括的な構成管理: SBOM の構成方法、変更のバージョン管理と追跡方法など、SBOM 構成管理を拡張するためのソリューションを提供する必要があります。また、同じソフトウェアの異なるバージョンの SBOM をチェックして比較する方法も含まれている必要があります。
集中型 SBOM 管理の実装: ベスト プラクティス
集中型 SBOM 管理プラットフォームを実装するには、その有効性と効率性を確保するためのいくつかのベスト プラクティスが必要です。
- 安全な交換ポイントを確立する: ソフトウェアの供給者と消費者にとって安全な共通の基盤を確立する必要があります。これにより、知的財産の保護が促進され、SBOM 情報交換の信頼性、正確性、および最新データが促進されます。
- SBOMデータを他のセキュリティシステムと統合する: SBOM データを、買収セキュリティ、資産管理、脅威インテリジェンス、脆弱性管理システムのデータと統合します。この統合により、ソフトウェア開発会社がサプライヤーや請負業者を選択する際に遭遇する可能性のあるリスクを指摘し、ソフトウェア サプライ チェーンの全体的なセキュリティを向上させることができます。
- SBOMの生成と管理を自動化: さまざまな種類のソフトウェア開発プロセス出力から SBOM の生成と管理の自動化を採用します。自動化を使用すると、SBOM が最新かつ可能な限り正確であることが保証されます。
- 継続的な監視と更新: 新しい脆弱性を特定し、それを現在の SBOM に組み込んでソフトウェア構成とリスクの最新の状態を示すのに役立つ継続的な監視と更新のプロセスを定めます。
- リスクスコアリングと優先順位付け: リスク評価手法を作成し、リスク レベルと、脆弱性を含むソフトウェア コンポーネントに関連するリスクを評価します。これは、リスク管理および脆弱性の根絶プロセスで必要な決定を下すのに役立ちます。
- ユーザーのトレーニングと意識向上: トレーニングを受けたユーザーに、SBOM 管理プラットフォームの使用方法と、プラットフォームから取得できる可能性のある情報を教育します。したがって、プラットフォームの可能性を最大限に引き出すには、認識と教育が不可欠です。
- 定期的な監査と評価: SBOM の作成を常に確認および評価して、欠落したコンテンツがないこと、および SBOM 管理プラットフォームが効率的であることを確認します。これにより、欠点や改善が必要な領域を特定しやすくなります。
まとめ
ソフトウェア構成分析 (SCA) とソフトウェア部品表 (SBOM) は、ソフトウェア セキュリティ管理の向上に不可欠です。SCA は、オープン ソース コンポーネントの使用に関連するリスクを評価および軽減するために使用されます。一方、SBOM はすべてのコンポーネントの詳細なカタログを作成するため、透明性が向上し、リスク管理が容易になります。このように、SCA と SBOM をうまく組み合わせると、組織のソフトウェア セキュリティ プロファイルをより明確に理解し、リスクを管理することに貢献します。
SBOM を管理するための効果的なソリューションを集中型プラットフォームに拡張すると、ソフトウェア サプライ チェーンのリスクを管理するための条件が強調されます。このようなプラットフォームは、包括的なリスクの説明、継続的なリアルタイムの追跡、更新を提供し、すべての要件が満たされていることを保証します。ガイダンスが効果的に実行され、SBOM 管理プラットフォームの提供機能が活用されれば、組織のサイバーセキュリティとソフトウェア サプライ チェーンの安全性が大幅に強化されます。
SBOM 管理の詳細なガイダンスについては、NSA と CISA のドキュメント「ソフトウェア サプライ チェーンのセキュリティ保護: これらは、「ソフトウェア部品表の使用に関するベスト プラクティス」と「ソフトウェア部品表 (SBOM) 管理に関する推奨事項」です」の推奨事項を参照してください。
このコンテンツは、エンドツーエンドのソフトウェア サプライ チェーン セキュリティ ソリューションの大手プロバイダーである Scribe Security によって提供されており、ソフトウェア サプライ チェーン全体のコード成果物とコード開発および配信プロセスに最先端のセキュリティを提供しています。 詳しくはこちら。