Standards pour la gestion des vulnérabilités
Date : 05 Avril 2007
CVE est aujourd'hui un standard incontournable pour le
nommage des vulnérabilités. Mais il faut savoir qu'il existe aussi toute une
série d'autres initiatives moins connues (et plus récentes) dans ce domaine. Nous
vous les présentons dans cet article.
Il est à noter que toutes ces initiatives sont américaines
(USA), et qu'elles sont fortement soutenues par l'US DHS (le "Departement
of Homeland Security", créé suite aux attentats de septembre 2001). Le
gouvernement américain a par ailleurs créé une base de connaissance (NVD : National Vulnerability Database :
http://nvd.nist.gov) hébergée par le NIST qui
systématise l'emploi de certains de ces standards (CVE, CVSS et OVAL).
CVE (Common Vulnerability
Enumeration)
http://cve.mitre.org
CVE est la plus ancienne des initiatives du domaine (1999)
et elle est aujourd'hui un élément incontournable dans le domaine de la gestion
des vulnérabilités. Le principe de CVE est d'associer un numéro unique (de la
forme "CVE-2007-xxxx") à chaque nouvelle vulnérabilité quelque soit
la référence donné par les éditeurs/constructeurs..
CME (Common Malware Enumeration)
http://cme.mitre.org
CME reproduit le principe de CVE pour les "malwares". Il attribue un numéro unique (de la forme "CME-xxx") à chaque nouveau virus, ver, cheval de Troie, etc…
CME est opérationnel depuis septembre 2005. Actuellement
CME n'est pas exhaustif, il n'attribue des numéros qu'aux "malwares"
les plus importants, ce qui limite un peu son usage.
CVSS (Common Vulnerability Scoring
System)
http://www.first.org/cvss
CVSS est un système de notation qui permet d'associer une note (comprise entre 0 à 10) pour la dangerosité d'une vulnérabilité. Typiquement cette note CVSS peut être associée à chaque référence CVE ou à chaque référence CME.
CVSS a été lancé en février 2005, et plusieurs articles Cert-IST ont été consacrés à son fonctionnement : février 2005 et mai 2005.
Depuis son lancement, CVSS a été largement adopté par la
communauté (Oracle, Cisco, …), et est devenu un standard incontournable depuis
que NVD associe systématiquement un score CVSS à toutes les vulnérabilités CVE.
L'initiative CVSS est hébergée par le FIRST (http://www.first.org/cvss/).
OVAL (Open Vulnerability &
Assessment Language)
http://oval.mitre.org/
OVAL est un langage qui permet de décrire la vérification qu'il faut effectuer sur une plate-forme pour savoir si cette plate-forme est correctement configurée. OVAL est assez versatile et permet par exemple de décrire comment vérifier si une plate-forme a appliqué le correctif de sécurité pour une vulnérabilité donnée, ou si elle a été paramétrée conformément aux règles de bonnes configurations. Voici des exemples concrets de l'utilisation d'OVAL pour les vulnérabilités.
- Exemple Solaris :
http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:1840 - Exemple Windows :
http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:8
OVAL est assez ancien (créé fin 2002). Il reste pour
l'instant d'une utilisation assez limitée, probablement parce que son
utilisation systématique pour chaque vulnérabilité CVE représenterait un
travail de formalisation trop important. Actuellement, dans
CWE (Common Weakness Enumeration)
http://cwe.mitre.org/
CWE a pour objectif de donner un numéro à tous les types de faille
que l'on peut trouver dans un logiciel. Le catalogue CWE actuel est un arbre
(avec des catégories et des sous catégories) qui contient environ 500 éléments
(qui sont des feuilles ou des nœuds de l'arbre). On y trouve des types de
faiblesses tels que : "buffer overflow", "format strings",
"contrôle insuffisant des données", "fuite d'information", etc.
L'initiative CWE est très récente (le site web existe depuis
septembre 2006), et le catalogue des faiblesses est actuellement
considéré comme étant en état "préliminaire" ("draft"
version 5).
CPE (Common Platform Enumeration)
http://cpe.mitre.org
CPE a pour objectif de mettre au point un système de nommage
permettant de désigner de façon non ambiguë des composants informatiques, tels
que : une machine, un système d'exploitation, ou un paquetage logiciel.
Par exemple, le nom CPE suivant désigne un serveur
"Apache version 2.0.52" fonctionnant sur une plate-forme "RedHat
Linux Application Server 3" :
CPE vise à faciliter l'interfaçage entre les outils qui
manipulent des désignations de machines (systèmes d'inventaires, systèmes de
gestion des failles, etc…).
CPE est une initiative très récente (les spécifications 1.0
de CPE sont disponible depuis janvier 2007).
Autres standards :
Il existe encore d'autres standards et outils connexes à ceux présentés ci-dessus, mais qui ne s'appliquent pas directement à la gestion des vulnérabilités :
- CCE (Common Configuration Enumeration : http://cce.mitre.org)
- XCCDF (Extensible Configuration Checklist Description Format : http://checklists.nist.gov/xccdf.html )
- SCAP (Security Content Automation Program : http://nvd.nist.gov/scap/scap.cfm)
Ces standards concernent la bonne configuration des équipements, et en particulier leur conformité par rapport à des référentiels tels que les guides de sécurisation NSA. Il s'adresse donc à un domaine complémentaire de la gestion des vulnérabilités : au-delà du fait que ma machine ne soit pas vulnérable, est-elle bien configurée ?
Le Cert-IST est très attentif à l'évolution de ce domaine qui est en rapport direct avec notre activité. Les standards CVE, CME et CVSS ont déjà été adoptés. Nous suivons l'évolution des autres initiatives afin d'évaluer l'intérêt de les intégrer à nos processus de traitement.