ソフトウェア

ソフトウェアについて

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

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

検知したソフトウェアは脆弱性の有無に関わらず、すべてFutureVulsで確認できます。
また、 fast-root スキャンモード(デフォルト)でスキャンした場合、ソフトウェアの最新バージョンの確認もできます。
スキャンモードについてはこちらをご覧ください。

CPE

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

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

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

ソフトウェア一覧

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

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

ソフトウェア一覧

項目 詳細
パッチ提供 関連する脆弱なソフトウェアに、パッチが提供されているかどうか(脆弱性一覧 > 脆弱なソフトウェアのみ表示)
ソフトウェア ソフトウェアの名称、またはCPE
CPE CPEをFormatted String形式で表示
location 該当ライブラリが含まれるLockfileなどのpath
ソフトウェア種別 ソフトウェアの種別
アップデート可能 パッケージの最新バージョンがあるかどうか
バージョン ソフトウェア、CPEのバージョン
最新バージョン Vulsスキャナを用いて fast-root スキャンモードでスキャンするとすべてのLinuxでアップデート可能な最新バージョンが表示される
fast スキャンモードの場合は、一部のOS(AlmaLinux, Rockey Linuxなど)ではroot権限なしで最新バージョンを取得できるため表示される
CPEの場合や ペーストスキャンoffline スキャンモード 、trivy、スキャン対象がWindowsの場合は表示されない
OSSライセンス ソフトウェアのライセンス形式(ソフトウェア種別がlibraryの場合表示)
サーバ名 ソフトウェアが登録されているサーバ名
未対応タスク数 ソフトウェアに関連するタスクの中で、「ステータスNEW」かつ「非表示設定でない」タスクの数
対応中タスク ソフトウェアに関連するタスクの中で、「ステータスINVESTIGATINGまたはONGOINGまたはDEFER」かつ「非表示設定でない」タスクの数
対応済タスク ソフトウェアに関連するタスクの中で、「ステータスNEWまたはINVESTIGATINGまたはONGOINGまたはDEFERでない」または「非表示設定である」タスクの数
全タスク数 ソフトウェアに関連するすべてのタスクの数
ID ソフトウェアのID
プロセス再起動 ソフトウェアのプロセスが再起動する必要があるかどうか
リポジトリ ソフトウェアを管理しているリポジトリ
開放ポート アクセス可能な状態にしている通信ポート
lsof -i -P -nコマンドでポートの情報を取得している
プロセス実行中 関連するプロセスがサーバ上で起動中、ポートを開いてListenしているかどうか

一時停止のアイコン:プロセス停止中
再生のアイコン:プロセス実行中、かつListenしているポートがない
電波のアイコン:プロセス実行中、かつListenしているポートがある
CPEステータス 登録されているCPEがNVD上で廃止された場合、Deprecatedと表示される
管理対象外 ソフトウェアが管理対象外かどうか
管理対象外の場合は、新規タスクがすべて非表示設定で作成される
脆弱なソフトウェアタグ 脆弱なソフトウェアに設定されているタグ
CPE自動更新 CPEが自動更新されるかどうか
マリシャスパッケージ 攻撃者によって作成された悪意のあるコードを含むパッケージであるかどうか
CPE割り当て日時 CPEが割り当てられた日時
※「Windows」かつ「実スキャナで登録されたサーバ」でなければ、CPE割り当てはできない
EOL期限切れ EOL期限を過ぎているかどうか</・br>
:EOL期限を過ぎている
:EOL期限を過ぎていない
-:EOL期限情報がない
EOL(標準サポート期限) EOLの日付を表示
日付情報がなく、EOL期限切れ情報のみ存在する場合がある
初回検知日時 ソフトウェアが検知された最初の日時
最新検知日時 ソフトウェアが検知された最新の日時

関連するタスクを更新

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

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

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

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

image.png

脆弱性一覧の第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

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

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

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

ソフトウェア詳細 > EOL

ソフトウェア詳細ではEOL情報を確認できます。

image.png

ソフトウェア種別がlibraryの場合、EOLの情報を確認できます。

EOL情報は定期的にデータの更新を行っているため、サーバのスキャン実施からEOL情報が表示されるまでは最大で1時間程度の時間がかかります。

ライブラリEOLの情報ソース

主要なソフトウェア・ライブラリのEOL情報を管理しているendoflife.dateが提供するAPIを情報源としています。

  • ライブラリEOLの情報収集を行ったものの、取得できなかった場合は-と表示されます。

ソフトウェア詳細 > マリシャスパッケージ

「マリシャスパッケージ」ではOSV(Open Source Vulnerability)が提供するマリシャスパッケージの情報をURL経由で確認することができます。

image.png

image.png

ソフトウェア種別がlibraryの場合、マリシャスパッケージの情報を確認できます。

マリシャスパッケージかどうかは定期実行でチェックしているため、サーバのスキャン実施からマリシャスパッケージかどうか判定されるまでに最大で1時間程度の時間がかかります。

マリシャスパッケージの情報ソース

マリシャスパッケージ情報を管理しているOpenSSF(OpenSourceSecurity Foundation) の「ossf / malicious-packages」やOSVが提供する「API」を情報源としています。