Skip to content

Commit 7eba845

Browse files
authored
Merge pull request #413 from owada-k/patch-for-SBOM_QG_5.8
Patch for SBOM qg 5.8
2 parents e1d18f2 + 812b8f3 commit 7eba845

1 file changed

Lines changed: 30 additions & 11 deletions

File tree

subgroups/sbom-sg/outcomes/QualityGuide/SBOM-Document-Quality-Guide.ja.md

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -408,23 +408,40 @@ SBOMの信頼性と改ざん耐性を確保するために、以下の改善策
408408
担当: 大和田さん
409409

410410
##### 5.8.1. 課題の概要
411-
- コンポーネント間の依存関係や関連性(例:dependsOn、contains、generates等)の統一的記述ルールを定義し、テンプレートおよび自動検証ツールによる整合性チェックの方法を明示する。
411+
コンポーネント間の依存関係や関連性については、多様な記述方法が許されているため、提供者と受領者間でSBOMに記載されている内容の誤認が生じ、システム全体のリスク評価や連携に支障が出ている。依存関係の記述方法についてサプライチェーン上での統一的な記述ルールの策定や、それを支えるテンプレートおよび自動検証ツールの導入が必要である。
412412

413413
##### 5.8.2. 課題の詳細
414-
- コンポーネント間の関係性の記述表記は非常に多くあり、どの表記を選択するかが人によって異なる
415-
- 同じ関係性に対して複数の表記がある
416-
- 同じ表記が複数の関係性に使われる
417-
- そのため、SBOMを提供者と受領者で表記が異なり、効果的な利用を妨げてしまう
414+
あるソフトウェアを利用するにあたって、ライセンス上の問題がないこと、脆弱性等の問題を含んでいないことを確認するために、そのソフトウェアがどのようなソフトウェアコンポーネントから成り立っているか、そして、それらのコンポーネントがどのように結合されているか、誰が加工したものかなどを把握することが必要となる。
415+
その情報を記述するために、SBOMでは、直接の構成要素であるソフトウェアコンポーネントだけでなく、必要とするライブラリ、開発ツール、開発者等もSBOMエレメントとして列挙し、さらに、これらの関係を記述するようになっている。
416+
しかしながら、複雑度や規模の様々なソフトウェアを対象とするため、関係性の記述に次のような課題が生じている。
417+
418+
- 表記の多様性と頻発する不整合
419+
- コンポーネント間の関係性(例:dependsOn、contains、generates等)の記述方法が多岐にわたり、どの表記を用いるかが担当者によって異なる。
420+
- 同じ関係性に対して複数の表記が使われるため、統一性が欠如し、混乱が頻繁に発生している。
421+
- 表記の多義性による誤解
422+
- 一つの表記が異なる関係性に使用されるケースがあり、提供者と受領者間で解釈のずれや誤認が生じ、リスク評価に影響を与えている。
423+
424+
正確で有効に活用できるSBOMの作成には、サプライチェーン上のすべての組織の協力が不可欠であり、それぞれの組織が作成するSBOMの記述をそろえ、上記の課題を軽減することで、組織内・組織間でのSBOMの作成と活用の効率化・効果向上を図ることが望まれる。
418425

419426
##### 5.8.3. 改善策
420-
- 一般的な関係性について、標準となる表記を提案し、表記のブレが少なくなることを促す
421-
- 等価な関係性表記を標準的な表記に置き換えるツールや複数の関係性に使われる表記を見つけるツールを用意する
422-
- 標準となる表記の提案 [SPDX / CycloneDX]
427+
定義されている関係性を見ると、contains, depensOn, generatesなどの基本的な関係性を記述するものと、リンク形式や利用ツールを示すといった詳細な関係性や付加情報としての関係性を記述するものがある。
428+
そこで、関係性の記述のうち、次をPrimaryな関係性記述と定め、Primaryな関係性は必ずSBOMに記載することを提案する。
429+
430+
- Primaryな関係性の提案 [SPDX / CycloneDX]
423431
- コンポーネントの現在の状態を記述するもの
424432
- contains/composition-assemblies:~を含む(構成される)
425433
- dependsOn/composition-dependencies:~に依存する(を必要とする)
426434
- コンポーネントの由来を記述するもの
427435
- generatedFrom*:components-pedigree:~生成された(複製された、改変された、ビルドされた)[* SPDX のVocabulariesには存在しない]
436+
437+
これらのPrimaryな関係性を用いる事例を以下に示す。
438+
439+
<作成メモ:ここにソフトのビルドフロー図とそれに対応する関係性記述を示す>
440+
441+
この対応により、最低限必要な関係性が記述され、また、その表記のブレが少なくなることを促す。
442+
443+
参考情報として、SPDX 3.0.1の関係性記述を分類した結果、および、CycloneDX 1.6における関係性の記述方法の概要を以下に示す。
444+
428445
- 【参考1】[SPDX Specification Version 3.0.1 relationshipType](https://spdx.github.io/spdx-spec/v3.0.1/model/Core/Vocabularies/RelationshipType/)分類
429446
- コンポーネントの現在の状態を記述するもの
430447
- ~を含む(構成される)
@@ -507,11 +524,13 @@ SBOMの信頼性と改ざん耐性を確保するために、以下の改善策
507524

508525

509526
##### 5.8.4. 評価方法
510-
- ツールによる修正量や検出量を評価指標とする
527+
Primaryな関係性の記載漏れが少なくなることが評価指標と考える。
528+
そこで、Primaryな関係性と等価や類似性のあるな関係性表記だけが記載されており、Primaryな関係性の記載がないことを検出するツールが望まれる。
529+
また、複数の関係性に使われる表記を見つけ注意を促すツールが望まれる。
511530

512531
##### 5.8.5. リスクと留意事項
513-
- プログラム言語やビルド手法、ソフトウェアの管理手法の進化に伴い、新たな関係性が生まれ、標準と定めた表記では適切な表現ができなくなる可能性がある
514-
- その点を鑑み、厳格な運用ではなく、自由度のある対応を可能とする形とする方が良い
532+
なお、この提案は、Primaryな関係性以外の記載を禁じるものではない。特に、Primaryな関係性と等価、あるいは、包含関係や類似性のある関係性表記を禁じるものではなく、それらの表記を残したままで、Primaryな関係表記を追加すれば良い。
533+
さらに、プログラム言語やビルド手法、ソフトウェアの管理手法の進化に伴い、新たな関係性が生まれ、Primaryと定めた表記では適切な表現ができなくなる可能性がある。その点を鑑み、厳格な運用ではなく、自由度のある対応を可能とする形としたい。
515534

516535
#### 5.9 依存関係把握とパッケージ取得手法の問題
517536
担当: 伊藤さん

0 commit comments

Comments
 (0)