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

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

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

LinuxホストOSをスキャン

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

スキャン対象サーバからスキャン結果のJSONをFutureVulsにアップロードできる場合は、パッケージアップデート時に構成情報をFutureVulsに自動で反映可能なスキャナでLinuxをスキャンする方法がおすすめです。

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

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

  • ペーストスキャン
    • メリット
      • FutureVulsの画面上でパッケージのリストをコピーペーストで登録してCVEを検知
      • 閉域網(エアギャップ環境)のサーバも検知可能
      • 管理対象サーバにスキャナプログラムが必要ない
    • 検討ポイント
      • アップデートなどにより構成情報が変わった場合に画面上からパッケージのリストを更新する必要あり
      • スキャナよりも取得できる情報は少ない
        • プロセスの情報(ポートリスン情報)などは取得できない

Windowsをスキャン

  • インターネットのWindows Updateに接続できる場合

  • WSUS配下の場合

  • インターネット上またはWSUSのようなWindows Updateサービスに「接続できない」場合

    • スキャナプログラムをインストールできる場合
      • cabファイルを用いたスキャン
        • メリット
          • 閉域(エアギャップ環境、オフライン環境)のWindowsも検知可能
          • アップデートなどにより構成情報が変わった場合でもスキャナプログラムで構成情報を自動更新可能(画面上にKBをコピーペーストしなくても良い)
        • 検討ポイント
          • cabファイルのサイズに注意(2023/5時点で約800MB)
    • スキャナプログラムがインストールできない場合
      • ペーストスキャン
        • メリット
          • FutureVulsの画面上でKBのリストをコピーペーストで登録してCVEを検知
          • 閉域(エアギャップ環境、オフライン環境)のWindowsも検知可能
          • 管理対象サーバにスキャナプログラムが必要ない
        • 検討ポイント
          • アップデートなどにより構成情報が変わった場合に画面上からKBのリストを更新する必要あり
  • Amazon EC2のInspector連携

    • メリット
      • 連携が簡単
    • 検討ポイント
      • サーバ(インスタンス)にスキャナのインストールが不要
      • Amazon Inspectorの有効化が必要
  • サードパーティー製ソフトウェアのCPEリコメンド

    • Windows UpdateでKBとして管理される製品「以外」のサードパーティー製ソフトウェアの脆弱性を検知するための機能
    • メリット
      • 各アプリケーションに対して適切なCPEがリコメンドされるため、CPEの割り当てを簡単に行える
      • 複数選択で一括してリコメンドされたCPEを割り当てることも可能

コンテナをスキャン

  • コンテナのイメージをスキャン
    • Trivy連携
      • メリット
        • コンテナイメージ内にあるアプリケーションライブラリも検知可能
        • CI/CDに組み込める
    • Amazon ECR外部連携
      • メリット
        • コンテナイメージ内にあるアプリケーションライブラリも検知可能
        • AWSのECRと連携設定するだけで設定が完了する。Trivyのスキャン環境を別途構築する必要がない
    • GCP GCR外部連携
      • メリット
        • 連携が簡単
      • 検討ポイント
        • Trivyのほうが検知精度良い
        • ライブラリの脆弱性検知は他の方法で実現する必要あり
    • 実行中のコンテナをスキャン
      • Vuls(ヘルプ準備中。すぐに必要であれば問い合わせください)

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

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

  • ホストOS上のLockfileをスキャンしたい場合
  • コンテナイメージ内にインストールされた依存ライブラリをスキャンしたい場合
  • Lockfileが閉域網にある場合
    • ペーストスキャンで画面上から登録
      • メリット
        • Lockファイルがあればブラウザ上からコピーペーストで登録可能
      • 検討ポイント
        • アップデートなどによりLockfileが変更された場合は、下記のいずれかの方法で更新する必要あり
          • 画面上からペーストして更新する
          • REST APIで更新する方法
  • GitHubのLockfileやライブラリをスキャンしたい場合
  • GitHub以外のソース管理サービスにある依存ライブラリをスキャンしたい場合

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

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

  • Cisco、Fortinetなどのネットワーク機器
  • OracleやJP1などの商用データベースおよびその他の商用製品
  • ダウンロードしてセットアップしたTomcat
  • ソースコードをコンパイルしたApache

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