ソフトウェア

ソフトウェアについて

ソフトウェアには、サーバのパッケージや登録したCPEが含まれます。
FutureVulsで表示しているソフトウェアはすべてサーバに紐付いている情報となっています。 また、LockfileやJarなどのアプリケーション依存ライブラリのOSSライセンスを検知し、一覧に表示します。

ソフトウェア(OS Package, CPE, Library Package, Github Package)

検知したソフトウェアは脆弱性の有る無しに関わらず、すべてFutureVulsで確認できます。
また、 fast-root を使ってスキャンした場合、ソフトウェアのNew Versionの確認もできます。

CPE

CPEはFutureVulsの画面で、手動で登録することにより管理できます。
FutureVulsでは基本的にCPEをURI形式で表示しています(登録は2.3 format string形式でも可能です)。

CPEを登録する際には必ずサーバを選択する必要があります。
新しくCPE専用のサーバが欲しい場合は、擬似サーバを作成することでCPEを登録できます。

CPEについてはこちらをご覧ください。

ソフトウェア一覧

ソフトウェア一覧はサーバ、ロール、脆弱性の第2ペインから表示できます。

  • サーバ一覧 > ソフトウェア
    • 指定したサーバに関連するソフトウェアのみ表示されます。
  • ロール一覧 > ソフトウェア
    • 指定したロールに所属するサーバが関連するソフトウェアのみ表示されます。
  • 脆弱性一覧 > ソフトウェア
    • 指定した脆弱性に関連するソフトウェアのみ表示されます。

ソフトウェア一覧

項目 詳細
ソフトウェア名 ソフトウェアの名称、またはCPEを表示
バージョン ソフトウェア、CPEのバージョン
最新バージョン ソフトウェアの最新バージョン(fast-rootでスキャンした場合のみ。CPEの場合は表示されない)
OSSライセンス アプリケーション依存ライブラリのOSSライセンス
サーバ名 ソフトウェアが登録されているサーバ名を表示
レポジトリ ソフトウェアを管理しているレポジトリを表示
パッチ提供済み ソフトウェアのパッチがすべて提供されているかどうかを表示(脆弱性一覧から開いた場合のみ表示される)。
すべてのソフトウェアにパッチが提供済み:〇、いくつかのソフトウェアのみパッチ提供済み:△、パッチ提供がない:✖
path 該当ライブラリが含まれるLockfileなどのpath
管理対象外 ソフトウェアが管理対象外かどうかを表示。管理対象外の場合は、新規タスクがすべて非表示設定で作成される。
プロセス再起動 ソフトウェアのプロセスが再起動する必要があるかどうかを表示
未対策タスク数 ソフトウェアに関連するタスクの中で、ステータスがNEWで、かつ非表示設定になっていないタスクの数を表示
全タスク数 ソフトウェアに関連するすべてのタスクの数を表示
OSSライセンス ソフトウェアのライセンス形式(ソフトウェア種別がlibraryの場合表示)
追加日時 ソフトウェアが最初に登録された日時を表示
更新日時 ソフトウェアが更新された日時を表示

ソフトウェアに関連するタスクを一括更新

ソフトウェアを複数選択して、そのソフトウェアに関連するタスクの一括更新を行うことができます。

サーバ配下のソフトウェアと脆弱性配下のソフトウェアでは一括更新時のオプションが異なります。

サーバ一覧・ロール一覧の第2ペインからソフトウェアを開いた場合

指定したサーバの、指定したソフトウェアに関連するタスクのみを更新します。

脆弱性一覧の第2ペインからソフトウェアを開いた場合

以下のオプションを選択可能です。

  • 指定したソフトウェアのタスクのうち、選択した脆弱性に関係するタスクのみを更新する
  • 指定したソフトウェアに関係するすべてのタスクを更新する

image.png

ソフトウェア詳細

ソフトウェア詳細ではソフトウェアの詳細の確認、更新ができます。ソフトウェアの種類によって表示される項目が異なります。

ソフトウェア詳細

ソフトウェア詳細では、以下の項目が表示されます。

項目 詳細
再起動が必要なプロセス 再起動が必要なプロセスのプロセスID、PATHなどを表示
影響を受けるプロセス 影響を受けるプロセスを表示
ソフトウェアに関連する脆弱性・タスク ソフトウェアに関連するCVE-IDとタスクを表示

ソフトウェア詳細 > OSSライセンス

ソフトウェア詳細ではOSSライセンスの情報を確認できます。

image.png

ソフトウェア種別がlibraryの場合、OSSライセンスの情報を収集します。

OSSライセンス情報は定期的にデータの更新を行います、サーバーのスキャン後に、ライセンス情報が表示されるまでは最大で1時間程度の時間がかかります。

ライセンスの情報ソース、信頼性

OSSライセンスの情報は、ライブラリの配布元に応じたデータソースから収集します。

データソースは下記の通りです。

ライブラリ種別 データソース
Java https://repo1.maven.org
Ruby https://rubygems.org
Python https://pypi.org
Nodejs https://registry.npmjs.org
Go https://pkg.go.dev
Rust https://crates.io
  • ライセンス情報の収集を行ったものの、情報ソースが取得できなかった場合はunknownと表示されます。

  • 情報ソースの状態によってはライセンス情報の信頼性を担保できない場合があります、信頼性が100%でない場合はヘルプページへのリンクを表示します。

image.png

  • 信頼性が100%とならない場合は下記の2通りです。
    • 特定のバージョン単位での情報ソースが取得できず、最新バージョンのライセンスを取得した
    • 情報ソースが定まった形式でなく、github.com/google/licenseclassifierで抽象的に解析した(Javaの場合このようなケースがあり得ます)

AGPL、GPLライセンス

  • ライセンス情報がAGPL、GPLに分類される場合はヘルプページへのリンクを表示します。
  • ソースコードの公開が難しいサービス、アプリケーションの開発を行う際は、これらのライセンスを適用したライブラリを用いる場合注意が必要です。

image.png

  • AGPL、GPLに分類されるライセンスは、ライブラリを利用する二次的著作物に関しても同じライセンスの適用を要求するコピーレフトと呼ばれる性質があります。
  • また、下記の行動を許可することがライセンス条項に含まれています
    • プログラムの動作を調べ、それを改変すること、そのためのソースコードへのアクセス
    • 複製物の再頒布
    • プログラムを改良し、改良を公衆にリリースする権利
  • AGPLとGPLの主な違いは、コピーレフト及び制約事項の適用条件です。
    • AGPL系: ネットワークを介したソフトウェアサービスの提供でも、ライセンス条項の適用を要求する
    • GPL系: ソフトウェアを頒布する場合は、ライセンス条項の適用を要求する。
  • 各ライセンスの詳細、ライセンス条文はwww.gnu.orgで公開されています。

管理対象設定

ソフトウェアには管理対象設定ができます。

image.png

「管理対象を設定」で、特定のソフトウェアを管理設定外として設定できます。

管理対象外に設定されているソフトウェアに新たな脆弱性が検知された場合、非表示済み(常に非表示)のタスクとして作成されます。
既に作成済みのタスクには影響しません。非表示のタスクは、タスクの詳細画面からの解除が可能です。

脆弱性が見つかっても対応しない、かつアンインストールもできないソフトウェアがある場合、管理対象外に設定して、常に非表示にできます。