@@ -206,23 +206,26 @@ SBOMの交換フォーマットの仕様によりパッケージとファイル
206206##### 5.4.1. 課題の概要
207207ソフトウェア製品のコンポーネント単位での脆弱性管理やセキュリティリスク管理を強化するために、SBOMの次のような情報が活用できる。しかし、これらは必ずしも正確かつ網羅的に記述されていない。
2082081 . 各コンポーネントの脆弱性の有無を知るために脆弱性情報と照合可能な、コンポーネント識別情報
209- 2 . 見つかった脆弱性を報告したり対処を依頼するための 、コンポーネントの提供者情報
209+ 2 . 見つかった脆弱性の通知先または対処の依頼先となる 、コンポーネントの提供者情報
2102103 . 見つかった脆弱性が他のコンポーネントに及ぼす影響を把握するための、コンポーネント間の依存関係
211211<!--
2122124. 脆弱性がソフトウェア製品に及ぼす影響の有無や対処のステータスを記した、セキュリティアドバイザリ
213213-->
214214
215- (4番目のセキュリティアドバイザリの項目削除に合わせて図も更新予定)
216- ![ Vuln Management] ( images/fig5.4-1.png )
215+ ![ Vuln Management] ( images/fig5.4-1_v2.png )
217216<div align =" center " >脆弱性管理の流れ</div >
217+ <br >
218+ なお、脆弱性の詳細や対処状況も、VEX[ ^ VEX ] などの形式で記録することによって透明性を確保し変化の追跡ができる。VEXはSPDX v3.0以降やCycloneDX v1.4以降のフォーマットで記述可能だが、SBOMドキュメントの一部ではなく別のドキュメントとして扱う。
219+
220+ [ ^ VEX ] : Vulnerability Exploitability eXchange, https://www.ntia.gov/files/ntia/publications/vex_one-page_summary.pdf
218221
219222##### 5.4.2. 課題の詳細
220223<!-- 対象課題の現状と理想状態を簡潔に説明, 図示しても良い -->
221- SBOMの中で脆弱性管理に利用される情報には 、それぞれ次のような課題がある。
224+ SBOMの中で脆弱性管理に利用される上記各情報の記述には 、それぞれ次のような課題がある。
2222251 . コンポーネントの識別情報にコンポーネントの名前とバージョンを使用する場合、5.1.2節で例示されたような名前の表記揺れが生じ、脆弱性の検出漏れに繋がる。PURLやCPE名などの一意な識別子を記載しても、照合先の脆弱性データベースに記載されていない場合がある。
223- 2 . 特にツールで生成されたSBOMの提供者情報は、未記載であったり、組織や個人が特定し難い記述になっている、名前のみで連絡用アドレスがないなど 、問合せに利用できない場合がある。<br >
226+ 2 . 特にツールで生成されたSBOMでは、コンポーネントの提供者情報が、記載されていない、組織や個人が特定し難い表記になっている、名前のみで連絡用アドレスがないなどの理由から 、問合せに利用できない場合がある。<br >
224227(コンポーネントの提供者情報:JSON形式の場合、SPDX v2.3では packages[ ] .supplier, SPDX v3.0では@graph [ ] .suppliedBy,CycloneDXではcomponents[ ] .supplier)
225- 3 . ツールの種類や設定、またはソフトウェア製品の開発言語や開発環境によって 、コンポーネント間の依存関係が網羅的に取得できない場合がある。
228+ 3 . SBOM生成ツールの種類や設定、またはソフトウェアの開発言語や開発環境によって 、コンポーネント間の依存関係が網羅的に取得できない場合がある。
226229
227230<!--
2282314. セキュリティアドバイザリの記述手段としてCSAF[^CSAF]やVEX[^VEX]があるものの、フォーマットや配布方法などが定まっておらず、対応しているツールや情報を提供しているサプライヤも少ない。
@@ -314,15 +317,15 @@ CPE名に比べて表記揺れの可能性が低く、ソフトウェア開発
314317 - 脆弱性情報との照合にコンポーネントの名前とバージョンを用いる場合、脆弱性情報に記載されているソフトウェアの名前の表記方法は、脆弱性情報の種類によって若干異なる場合がある。また、ツールから出力されたコンポーネントの名前にも表記揺れが生じうる(5.1節参照)。
315318 - 脆弱性情報との照合にコンポーネントのPURLを利用できる脆弱性データベースは、現状では一部に限られている(OSVはPURLに対応、NVDは未対応)。
316319 - NVDなどで採用されているCPE名には表記揺れが生じうる。同じコンポーネントが、表記の異なる複数のCPE名で脆弱性情報に紐付けられている場合がある。
317- - いずれかのコンポーネントの実行時に動的に読み込まれるようなコンポーネントの情報は 、SBOMに記述されていない場合がある。
320+ - いずれかのコンポーネントの実行時に動的に読み込まれるような外部コンポーネントの情報は 、SBOMに記述されていない場合がある。
318321<!-- また、PURLではバージョンがオプションとなっているが、これがないと脆弱性情報との一意な対応付けができないため、PURLが自動生成される場合もSBOMの全てのコンポーネントのPURLに(SBOM自体のバージョン属性やCPEにも)バージョンが記載されていることを確認する。それでも、バージョン記述の揺れによる照合ミスのリスクは残ることに留意すべき。-->
319322
3203232 . コンポーネントの提供者情報について
321324 - コンポーネントの名前と同様に、提供者名も表記揺れによって一貫性が保たれない場合がある(5.1節参照)。
322325 - コンポーネント(パッケージ)の提供者は、企業の買収や事業停止、個人の都合などによって、開発やサポートが停止していたり他者へ移っている場合がある。そうした動向の定期的な確認も重要である。
323326
3243273 . コンポーネント間の依存関係について
325- - SBOMに記述されたコンポーネント間の依存関係は、実際に動作しているソフトウェアにおける依存関係とは必ずしも一致しない。その理由としては、依存関係抽出の精度不足のほか、動的に読み込まれるコンポーネントに関する依存関係が記載されていない場合や、逆にソフトウェアの実行時に一部のコンポーネントが利用されない場合などがある 。
328+ - SBOMに記述されたコンポーネント間の依存関係は、実際に動作しているソフトウェアにおける依存関係とは必ずしも一致しない。その理由としては、依存関係抽出の精度不足のほか、動的に読み込まれるコンポーネントに関する依存関係が記載されていない場合や、逆に設定や環境の違いによってソフトウェアの実行時に一部のコンポーネントが読み込まれない場合などがある 。
326329 - 特に、ビルドツールでSBOMを生成できない場合、ソースコードやバイナリコードの解析によって生成されたSBOMにおけるコンポーネント間の依存関係には、高い精度や網羅性を期待し難い場合がある。
327330
328331<!--
0 commit comments