各種アプリケーションの脆弱性を調べるCPEサンプル集
「いい加減ちゃんと使い方を覚えないと」と思ったので、メモを残しておきます。
目次
サンプル
ASP.NET framework
cpe:2.3:a:microsoft:.net_framework:1.1:sp1:*:*:*:*:*:* cpe:2.3:a:microsoft:.net_framework:4.0:*:*:*:*:*:*
Apache Tomcat
cpe:2.3:a:apache:tomcat:7.0.93
Apache Http Server
cpe:2.3:a:apache:http_server:2.4.17:*:*:*:*:*:*:*
PHP
cpe:2.3:a:php:php:7.0.0:*:*:*:*:*:*:*
Microsoft Internet Information Services (IIS)
cpe:2.3:a:microsoft:internet_information_server:6.0:*:*:*:*:*:*:*
jQuery
cpe:2.3:a:jquery:jquery:2.3.2:*:*:*:*:*:*:*
jQuery UI
cpe:2.3:a:jquery:jquery_ui:1.12.1:*:*:*:*:*:*:*
CPEを使ってNVDで脆弱性を検索する
https://nvd.nist.gov/vuln/search/results?form_type=Advanced&cves=on&cpe_version={CPE}
そもそもCPEって?
IPAの公開している文面を抜粋して転載します。
- 共通プラットフォーム一覧CPE(Common Platform Enumeration)は、情報システムを構成する、ハードウェア、ソフトウェアなどを識別するための共通の名称基準を目指しています。
- CPEでは、ハードウェア、オペレーティングシステム、アプリケーションなどのプラットフォームを識別するための、構造化された名称体系を規定しています。
CPE名の基本構成
cpe:/{種別}:{ベンダ名}:{製品名}:{バージョン}:{アップデート}:{エディション}:{言語}
- ポイント1:大文字と小文字の区別はありません。
- ポイント2:基本構成のそれぞれの箇所が空白の場合、「全て」を意味します。例えばバージョンが空白の場合、全てのバージョンを意味します。
種別
h=ハードウェア,o=OS,a=アプリケーション
ベンダ名
- ベンダ名は、ドメイン名を利用して作成します。
製品名
- 複数の単語で構成されている製品名の場合、スペースをアンダースコア(_)に置き換えた名前を記述します。
- CPE名が不明瞭にならない場合、略称を採用します。たとえば、「Internet Explorer」の「ie」や「Java Runtime Environment」の「jre」等です。
アップデート
- Red Hat Enterprise Linux 4.0 Update 4の場合は次のようになります。
cpe:/o:redhat:enterprise_linux:4:update4