SBOMの脆弱性を管理する
本ページでは、SBOMのインポートや管理方法について説明します。 これによりSBOMを利用した脆弱性検出が可能になります。
NVDAPIを有効にする
NVDAPIは、CPEを使用した脆弱性照合用のAPIです。
「有効」にすることで、SBOMのデータから取得したCPEを使用して脆弱性照合が可能になります。
-
設定メニューの「システム設定」をクリックします。
-
「NVD APIの有効・無効」の行で「設定変更」をクリックします。
-
プルダウンから「有効」を選択して「更新」をクリックします。
SBOMをインポートする
-
設定メニューの「ホスト設定」をクリックします。
-
「SBOM管理」をクリックします。
-
「新規追加」をクリックします。
-
「ファイル選択」から取り込みたいSBOMを選択し、「実行」をクリックします。ファイルは複数選択することも可能です。
-
「SBOM管理」画面でファイルが確認できればインポート成功です。
まだホストを登録していない場合は、こちらを参考にしてください。
ただし、参考ページ上では、"プロダクトの登録"を前提としているため、CPEによる脆弱性の検出のみで良ければ、"プロダクトの登録"はせずにホストの登録を完了してください。
ただし、参考ページ上では、"プロダクトの登録"を前提としているため、CPEによる脆弱性の検出のみで良ければ、"プロダクトの登録"はせずにホストの登録を完了してください。
インポートしたSBOMを確認する
-
「SBOM管理」画面
インポートしたSBOM一覧を確認できます。
ファイル名 インポートしたSBOMの名前です。 SBOMから取得したOS情報 SBOMにOSの情報が存在することがあります。
当該OS情報が認識できた場合に限り、表示します。最終取込日時 最後にインポートが実行された日時です。 照合データ SBOMのデータから生成された脆弱性を照合用のデータを確認できます。 操作 SBOMの更新・削除を実行できます。 -
「SBOM照合情報」画面
SBOMのデータから生成された脆弱性を照合用のデータを表示します。
照合方法は、以下の2パターンあります。
- CPEを使用した照合
- パッケージを使用した照合
SBOMファイル内文字列 SBOMから取得できた各データ毎の文字列を表示します。
文字列は主にpurl もしくは CPEになります。CPE 「SBOMファイル内文字列」にpurlが入っていた場合、変換したCPEが表示されます。
「SBOMファイル内文字列」にCPEが入っていた場合、CPEがそのまま表示されます。
変換が出来なかった場合、空欄になります。パッケージ照合 パッケージ照合対象のデータの場合は「⚪︎」が表示されます。
対象外の場合は、空欄になります。
※ 「パッケージ照合」が「⚪︎」の場合、「CPE」を使用した照合はされません。【パッケージ照合の対象とする条件】
-
ホストが次のOSで登録済みであること
- AlmaLinux: 8、9
- Amazon Linux: 2、2023
- CentOS: 5、6、7
- Debian: 8、9、10、11、12
- Red Hat Enterprise Linux: 5、6、7、8、9
- Ubuntu: 14.04、16.04、18.04、20.04、22.04、24.04
- アーキテクチャが登録されていること
- 「SBOMファイル内文字列」にpurlが入っており、pkg:deb もしくは pkg:rpm で始まる情報であること
【情報が読み込めなかったSBOMについて】
該当のSBOMファイルをお送りいただければ、今後のバージョンアップで改善できる可能性があります。
もし可能でしたらファイルの提供にご協力お願いいたします。
パッケージ照合のために追加情報を登録する
-
「SBOM追加情報登録」をクリックします。
-
何も登録がない場合は「未登録です。」と表示されます。
-
登録済みの場合、検出済みのOSとアーキテクチャが表示されます。
-
以下の条件の場合、モジュラリティラベル入力画面が表示されます
- Almalinux: 8、9
- Red Hat Enterprise Linux: 8、9
モジュール管理しているパッケージが存在する場合、必ずモジュラリティラベルを登録してください。
モジュラリティラベルが未登録の場合、正しくパッケージ照合が行われない可能性があります。
脆弱性を確認する
-
脆弱性が同期された時間を確認する
「ホスト設定」画面で確認したいホストの「同期」ボタンをホバーします。
「脆弱性更新日時」が表示されるため、この日時がSBOMインポート後であることを確認してください。
「同期」の詳細については、「ホストの同期時間を変更する」を参照してください。
-
「ホスト設定」画面から、脆弱性を確認したいホストを選択します。
-
「脆弱性の脆弱度と対応の状況サマリー」で、検出された脆弱性の状況を確認可能です。
SBOMを更新する
-
「SBOM更新」をクリックします。
-
「ファイル選択」から更新用のSBOMを選択し、「実行」をクリックします。
-
元データと比較して変更がある項目が表示されます。
問題なければ、「実行」をクリックします。
- 次の脆弱性同期が行われた後、検出状況が更新されます。
SBOMを削除する
-
単一ファイルの削除
-
「削除」をクリックします。
-
ポップアップを確認し、「OK」をクリックします
- 次の脆弱性同期が行われた後、検出状況が更新されます。
-
「削除」をクリックします。
-
複数ファイルの削除
-
ファイル名の左側にあるチェックボックスで削除したいファイルを選択します。
-
ポップアップを確認し、「OK」をクリックします
- 次の脆弱性同期が行われた後、検出状況が更新されます。
-
ファイル名の左側にあるチェックボックスで削除したいファイルを選択します。
インポート対象のファイル(参考)
-
データ形式
- JSON
- XML
-
SBOMフォーマットとバージョン
-
SPDX
- バージョン: 2.2、2.2.1、2.2.2、2.3、2.3.1
-
CycloneDX
- バージョン: 1.1、1.2、1.3、1.4
-
SPDX
-
検証済みツールとフォーマット
-
syft
- SPDX
- CycloneDX
-
Trivy
- SPDX
- CycloneDX
-
SBOM Tool(※1)
- SPDX
-
Amazon Inspector SBOM
- SPDX
- CycloneDX
-
Github SBOM(※2)
- SPDX
-
syft
(※1) スキャン対象によって、動作しない場合があります。
(※2) Github SBOMは、リポジトリのソフトウェア部品表のエクスポートを使用して出力したSBOMに限ります。
上記のツールにおいて、動作確認は実施しておりますが、動作保証するものではございません。
脆弱性照合に使用する項目(参考)
-
SPDX
-
$.packages[].externalRefs[].referenceLocator
- $.packages[].externalRefs[].referenceTypeが"purl"の場合に使用
- purlの情報が入る項目
-
$.packages[].externalRefs[].referenceLocator
- $.packages[].externalRefs[].referenceTypeが"cpe"の場合に使用
- cpeの情報が入る項目
-
$.packages[].externalRefs[].referenceLocator
-
CycloneDX
-
$.components[].purl
- purlの情報が入る項目
-
$.components[].cpe
- cpeの情報が入る項目
-
$.components[].purl