Common Platform Enumeration (CPE) ist ein Industriestandard für eine einheitliche Namenskonvention informationstechnischer Systeme, Plattformen und Softwarepakete. Gemeinsam mit der CVE soll erreicht werden, dass Schwachstellen in Systemen eindeutig und vergleichbar bezeichnet werden. Der CPE-Standard besteht aus einer Syntaxbeschreibung für CPE-Namen, einer CPE-Sprachbeschreibung für XML, einer Algorithmenspezifikation für das Vergleichen von CPE-Namen und einem Verzeichnis aller bislang registrierten Produkte (CPE-Dictionary).
CPE ist Teil von SCAP und wird vom NIST administriert.[1] CPE wurde ursprünglich von der MITRE Corporation vorangebracht. Im Frühjahr 2013 hat MITRE die Übergabe ans NIST angekündigt.[2][3]
Basierend auf der generischen Syntax für URI beinhaltet der CPE-Standard eine formale Beschreibung, wie ein bestimmtes Produkt zu benennen ist. Jeder CPE-Name beginnt mit „cpe:/“, gefolgt von einem Buchstaben zur Unterscheidung, ob es sich um Hardware („h“), ein Betriebssystem („o“) oder eine Anwendung („a“) handelt.
cpe:/{part}:{vendor}:{product}:{version}:{update}:{edition}:{language}
Beispiel:
Vendor: | redhat |
Product: | enterprise_linux |
Version: | 3 |
Update: | ga |
Edition: | desktop |
resultiert in cpe:/o:redhat:enterprise_linux:3:ga:desktop
Seit CPE version 2.3[4] gibt es zusätzlich das Format „formatted string binding“
cpe:2.3:{part}:{vendor}:{product}:{version}:{update}:{edition}:{language}:{sw_edition}:{target_sw}:{target_hw}:{other}
Beispiel:
cpe:2.3:a:apache:commons_io:2.8.0:*:*:*:*:*:*:*