スキャン方法の選択肢と特徴

FutureVulsにはスキャン対象ごとに複数のスキャン方法があります。

それぞれの選択肢とその特徴を説明します。

LinuxホストOSをスキャン

スキャン対象がインターネットに接続している場合

スキャン対象サーバからスキャン結果のJSONをFutureVulsにアップロードできる場合は、スキャナでLinuxをスキャンする方法がおすすめです。 OSパッケージのアップデート実施後に最新の構成情報をFutureVulsに自動で同期できます。

  • ローカルスキャン
    • スキャン対象の各サーバにスキャナを設置してスキャンする方法
    • メリット
      • インストールが簡単(コマンド1つ実行すれば完了)
      • 該当するプロセスの情報なども取得できる。
      • アップデートなどにより構成情報が変わった場合も画面上に自動で反映される
      • スキャナプログラムは自動更新
    • 検討ポイント
      • スキャナプログラムをサーバ上に配置できるか
  • SSH経由のリモートスキャン
    • スキャン対象ネットワーク内にスキャナを設置して、スキャナからスキャン対象サーバにSSH経由でスキャンする方法
    • メリット
      • 該当するプロセスの情報なども取得できる。
      • アップデートなどにより構成情報が変わった場合も画面上に自動で反映される
      • スキャナプログラムをサーバ上に配置できない場合でもOK
      • SSHトンネル等を用いることでスキャナからSSHで到達できるサーバはスキャンできる
      • CIDRレンジを指定すれば、あるネットワーク内のサーバを一括でスキャン可能
    • 検討ポイント
      • ローカルスキャンに比べて設定が大変(設定ファイルに定義が必要)
  • Amazon EC2のInspector連携
    • メリット
      • 連携が簡単
    • 検討ポイント
      • サーバ(インスタンス)にスキャナのインストールが不要
      • Amazon Inspectorの有効化が必要
  • サーバのSBOMインポート
    • メリット
      • FutureVulsの画面上でSBOMをペーストして構成情報を登録
    • 検討ポイント
      • アップデートなどにより構成情報が変わった場合には、手動でのSBOM更新操作が必要
      • スキャナよりも取得できる情報は少ない
        • プロセスの情報(ポートリスン情報)などは取得できない

スキャン対象が閉域網の場合

  • ペーストスキャン
    • メリット
      • FutureVulsの画面上でパッケージのリストをコピーペーストで登録してCVEを検知
      • 閉域網(エアギャップ環境)のサーバも検知可能
      • 管理対象サーバにスキャナプログラムが必要ない
    • 検討ポイント
      • アップデートなどにより構成情報が変わった場合に画面上からパッケージのリストを更新する必要あり
      • スキャナよりも取得できる情報は少ない
        • プロセスの情報(ポートリスン情報)などは取得できない
  • サーバのSBOMインポート
    • メリット
      • FutureVulsの画面上でSBOMをペーストして構成情報を登録
      • 閉域網(エアギャップ環境)のサーバも検知可能
    • 検討ポイント
      • アップデートなどにより構成情報が変わった場合には、手動でのSBOM更新操作が必要
      • スキャナよりも取得できる情報は少ない
        • プロセスの情報(ポートリスン情報)などは取得できない
  • NFS等でスキャン結果のJSONを一台に集約して代理でFutureVulsにアップロードする方法
    • 参考: 【FutureVuls応用編】NFSを活用したリモートスキャン
    • メリット
      • ある1台がFutureVulsにUploadできれば閉域網(エアギャップ環境)のサーバ群を管理可能
      • スキャナプログラムで構成情報を自動で同期できるため、ペーストスキャンのように構成情報変更時に再度ペーストする必要がない
    • 検討ポイント
      • NFS等集約するサーバのセットアップが必要
        • プロセスの情報(ポートリスン情報)などは取得できない

Windowsをスキャン

WindowsのKBの脆弱性

スキャン方法 Windows Update接続方法 構成変更時 メリット 検討ポイント 参考リンク
ローカルスキャン インターネット上 自動同期 スキャナのインストールや設定が簡単 スキャン対象のWindowsにスキャナプログラムの配置が必要
SSHリモートスキャン インターネット上 自動同期 スキャン対象のWindowsにスキャナプログラムの配置が不要 スキャン対象の各WindowsにSSHの設定が必要。設定ファイルにスキャン対象へのSSH接続情報の定義が必要 - Windows Server on EC2 に ssh で接続する
WSUS管理下のWindowsのスキャン ローカルNW内のWSUS 自動同期 ローカルスキャン、SSHリモートスキャンと同様 ローカルスキャン、SSHリモートスキャンと同様
cabファイルスキャン 接続不可 自動同期 閉域(エアギャップ環境、オフライン環境)のWindowsも管理可能。アップデートなどにより構成情報が変わった場合でもスキャナプログラムで構成情報を自動更新可能 cabファイルのサイズに注意(2024年2月時点で約600-800MB)。スキャン結果をFutureVulsにアップロードできる必要あり。
cabファイル + SSHリモートスキャン 接続不可 自動同期 スキャン対象サーバのWindowsにスキャナをインストール不要。閉域(エアギャップ環境、オフライン環境)のWindowsも管理可能。アップデートなどにより構成情報が変わった場合でもスキャナプログラムで構成情報を自動更新可能。最新のcabファイルをファイルサーバ上に1つ配置すればスキャン可能 cabファイルを格納するファイルサーバを準備する必要がある。cabファイルのサイズに注意(2024年2月時点で約600-800MB)。ディスク上のcabファイルはスキャン終了後に自動削除される。スキャンが実行されるたびにファイルサーバから各Windowsにcabファイルがコピーされるため、同時にスキャンするWindowsの台数が多い場合はネットワーク帯域に注意。スキャン結果をFutureVulsにアップロードできる必要あり。
ペーストスキャン 接続不可 手動更新 FutureVulsの画面上でKBのリストをコピーペーストで登録してCVEを検知。閉域(エアギャップ環境、オフライン環境)のWindowsも管理可能。管理対象サーバスキャナプログラムが必要ない Windowsアップデート実施により構成情報が変わった場合に画面上からKBのリストを手動で更新する必要あり

Windowsにインストールされているアプリケーションの脆弱性

FutureVulsは、KBとして管理される製品「以外」のサードパーティー製ソフトウェアの構成管理と脆弱性管理の機能があります。FutureVulsの「サードパーティー製ソフトウェアのCPEリコメンド」機能を用いると、Windowsにインストールされているアプリケーションの脆弱性管理が簡単にできます。

  • メリット
    • Windowsにインストールされているソフトウェアを自動検知して資産としてFutureVulsで管理できる
    • 各ソフトウェアに対して適切なCPEがリコメンドされるため、CPEの割り当てを簡単に行える
      • この機能が無いと人力でNVDを検索してCPEを調べなければならないため非常に手間がかかる
      • 数選択で一括してリコメンドされたCPEを割り当てることも可能
    • CPEを割り当てると脆弱性DBとのマッチ処理できるので脆弱性の検知が出来る

詳細は新機能:FutureVuls、Windowsのサードパーティソフトウェアの脆弱性検知がより楽にを参照して下さい。

コンテナをスキャン

スキャン方法 メリット 検討ポイント 構成変更時 参考リンク
Trivy連携 CI/CDに組み込める。AWS環境以外をサポートできる。 Trivyスキャンの環境を準備して設定する必要がある。 自動同期 FutureVulsとTrivyでAWS CodePipelineのCI/CDに脆弱性検知を組み込む
Amazon ECR外部連携 AWSのECRと連携設定するだけで設定が完了。 脆弱性が存在しないOSパッケージやアプリケーションの依存ライブラリはFutureVulsに取り込まれない。 自動同期
SBOMインポート イメージがなくてもSBOMファイルがあればインポート可能。 SBOMの生成と管理には専用ツールが必要。更新時は再度SBOMのインポートが必要。 手動更新

アプリケーションの依存ライブラリをスキャン

ツールやサービスの結果をインポート

JavaやPythonなどのフレームワークや、Webアプリケーションなどが内部で依存するOSSライブラリの脆弱性検知の方法です。 依存ライブラリの脆弱性にはCVEが採番されていない脆弱性がたくさんありますが、それらCVEが採番されていない脆弱性も検知できます。 サポートする言語やLockfileの一覧は、対応環境を参照してください。

スキャン方法 スキャン目的 メリット 検討ポイント 参考リンク
Trivyでライブラリをスキャン - コンテナイメージ内の依存ライブラリ
- ローカルファイルシステム上の依存ライブラリ
- リモートのGitリポジトリ
CI/CDに組み込める
GoのバイナリやJavaのjarもスキャン対象
脆弱性が検知されていないライブラリも管理可能
Trivyスキャン環境の準備が必要。 - CI/CDパイプラインに組み込む方法
Vuls ScannerでLockfileを指定したスキャン ホストOS上のLockfileをスキャン Vulsスキャナのセットアップ済みの環境ではconfig.tomlを変更するだけで設定完了。
脆弱性が検知されていないライブラリも管理可能
検知対象のLockfileやディレクトリをconfig.tomlに列挙する必要あり
アプリケーションのSBOMインポート Lockfileが閉域網にある場合にも対応 SBOMを画面上でコピーペーストして登録可能。
Javaをサポート。
脆弱性が検知されていないライブラリも管理可能
アップデートでSBOMが変更された場合は、再登録するか、REST APIで更新する必要あり 次のセクションに詳細を記載
ペーストスキャン Lockfileが閉域網にある場合 LockファイルをFutureVulsの画面にコピーペーストして登録可能。
脆弱性が検知されていないライブラリも管理可能
アップデートでLockfileが変更された場合は、画面上でペーストして更新するか、REST APIで更新する必要あり。Javaはサポート対象外。
GitHub Security Alerts連携 Gitリポジトリ上のLockfileやライブラリをスキャン GitHubを使っている場合は設定が簡単 脆弱性が検知されていないライブラリはFutureVulsに取り込まれない。
AWS環境の依存ライブラリをAmazon Inspectorでスキャン - Amazon ECR
- AWS Lambda
- Amazon EC2上の依存ライブラリ
AWS環境で設定が簡単。SSM、Vuls、Trivy等のエージェントが不要。 脆弱性が検知されていないライブラリはFutureVulsに取り込まれない。
検知対象が限られる。ECR、Lambda、EC2のサポート対象プログラム言語を確認してください。詳細情報はこちら
- FutureVulsでAmazon EC2のライブラリをスキャン

アプリケーションのSBOMをインポート

各種SBOMツールで出力されたSBOMをFutureVulsにインポートしてソフトウェア構成情報やその脆弱性を管理できます。 アプリケーションの依存ライブラリ自体をアップデートした場合はその都度FutureVulsにSBOMを再度インポートする必要があります。

ツール 検討ポイント SPDX サポート CycloneDX サポート 参考リンク
Trivy ライブラリの依存関係が明確 v2.3 v1.5 Trivy のサポートする Lockfile
Trivy の SBOM ドキュメント
Amazon Inspector EC2、ECR、LambdaのSBOMをインポート可能 v2.3 v1.4 Amazon Inspector SBOMsを使用したエクスポート
CycloneDX Generator (cdxgen) CycloneDX 公式サポートツール - v1.5 CycloneDX Generator (cdxgen)のドキュメント
Syft - v2.3 v1.5 Syft のドキュメント
SBOM Tool - v2.2 - SBOM Tool

NW機器、商用ミドルウェアや自分でコンパイルしたものをスキャン

CPEスキャン機能は、OSやプログラミング言語依存のライブラリ 「以外」 のソフトウェアの脆弱性をスキャンできます。具体的なスキャン対象例としては以下のようなものがあります。

WordPressのプラグインやテーマをスキャン