CPEスキャン

CPEについて

CPE(Common Platform Enumeration)をFutureVulsに登録することでOSパッケージ以外の脆弱性も検知できます。

CPEについての説明はIPAによるCPE概説をご覧ください。

CPEには、以下の2種類が定義されています。

  • URI形式 (例: cpe:/a:microsoft:internet_explorer:8.0.6001:beta )
  • Formatted String形式 (例: cpe:1.3:a:microsoft:internet_explorer:8.0.6001:beta:*:*:*:*:*:* )

URI形式はバージョン2.2、 FormattedString形式はバージョン2.3と呼ばれています。
表示できる情報量は変わらず、表示形式に差があるのみとなっています。
FutureVulsでは、URI形式、FormattedString形式どちらでも登録可能となっていますが、表示はURI形式に統一しています。

CPEの利用用途

例えば以下のような脆弱性を検知可能です。CPEを使用することでパッケージマネージャ以外のソフトウェアの脆弱性検知が可能です。

  • ネットワーク機器のファームウェア (ex. cpe:/h:cisco:12000_router )
  • Oracle Database, Oracle WebLogicなどの商用ミドルウェア
  • 自分でソースからコンパイルしてインストールしたもの

以下も可能ですがCPEスキャン以外の方法をおすすめします。

CPEスキャンの脆弱性DB

NVDの脆弱性DBを利用します。 パッケージマネージャ管理下のソフトウェアはCPEスキャンではなく、スキャナ経由のスキャンを推奨します。詳細はFAQ/CPEスキャンを参照してください。

CPEを登録する

CPEはソフトウェア一覧から登録できます。

現在、CPEの登録方法は4種類あります。

image.png

プルダウンで選択して登録する

partやvendorなどをプルダウンで選択してCPEを登録します。

候補としてプルダウンに現れるCPEはNVDのデータベースから取得しています。
プルダウンから候補が見つからない場合、手入力での登録も可能です。

image.png

URI形式、またはFormattedString形式で登録する

CPEの形式がわかっている場合は、CPE名称を貼り付けて登録できます。

image.png

OWASP Dependency Checkのxmlから複数登録する

OWASP Dependency Check を利用している場合、出力されたxmlを使用し、検知したライブラリを一括で登録できます。

信頼度が低いCPEはあらためて確認の上で登録してください。

image.png

フリーテキストで複数登録する

登録したいCPEが複数ある場合、フリーテキストで貼り付けて登録できます。 image.png

擬似サーバ

たとえば、ネットワーク機器のファームウェアをCPEスキャンしたい場合は、まず疑似サーバを登録しその疑似サーバに対してCPEを登録するという流れになります。 擬似サーバはサーバ一覧から作成できます。
作成後は、通常のサーバ同様にソフトウェアからCPEを登録します。

image.png

擬似サーバはスキャンサーバと違い、手動でのスキャンが可能です。
CPE登録後画面上からスキャンを実行し脆弱性を確認できます。

image.png

なお、疑似サーバは日次で自動スキャンされます。

CPEスキャンのタイミング

CPEスキャンのタイミングは擬似サーバとそれ以外で異なります。

通常サーバの場合は以下のタイミングで、通常サーバに紐付けたCPEの脆弱性が検知されます。

  • 画面上で手動スキャンを実行する
  • スキャナからのアップロードのタイミング

擬似サーバの場合は以下です。

  • 画面上で手動スキャンを実行する
  • 日次の自動スキャンのタイミング

スキャンした時刻は「グループ設定>スキャン履歴」に記載されています。

CPEを更新する

一度登録したCPEは画面から更新できます。

CPEを更新する事で、通常のパッケージ管理同様にタスクのステータスを管理できます。

image.png

CPE以外の更新は、プルダウンから選択またはCPENameで指定できます。
プルダウンは該当する値がなくても、手動で入力することにより登録できます。

image.png

運用例
  • Drupal 3.8をFutureVulsで管理するために、 cpe:/a:drupal:drupal:3.8 を登録する。
  • 手動スキャンを実行し脆弱性を確認する。
  • 対応が必要な脆弱性に対して、タスクの担当者、対応予定、優先度等を設定する。
  • 実機のdrupalのバージョンを4.0にアップデートする。
  • FutureVulsのCPE (cpe:/a:drupal:drupal:3.8) を選択し、アップデートボタンをクリックし、バージョンを4.0に変更する。
  • 再度手動スキャンを実行し、脆弱性が解消されているかを確認する。

あくまでCPEのバージョン以下をアップデートする作業であるため、Part・Vendor・Productは変更できません。

CPEを削除する

CPEを誤って登録してしまった場合は、CPEを削除できます。

image.png

CPEを削除すると、関連するタスクと脆弱性もすべて削除されます。
(削除したCPE以外にも紐付いているタスク、脆弱性は削除されません)

不明点はFAQを参照してください