Vous êtes sur le site public du Cert-IST
Présentation du langage OVAL (Open Vulnerability Assesment Language)

Date :23 Juin 2005

Publication: Article

Objectif

OVAL (Open Vulnerability Assessment Language) est un langage développé par la société MITRE (http://www.mitre.org - société gérant le référencement "CVE" des vulnérabilités). Il permet de décrire les tests à effectuer sur une machine pour vérifier si elle est affectée par une faille de sécurité donnée. Au-delà du langage lui-même, l'idée de MITRE est de compléter CVE en associant à chaque vulnérabilité connue le test OVAL correspondant.

Principe de fonctionnement

Le choix fait par MITRE pour vérifier la présence d'une faille, est de faire un test non intrusif, se basant sur les caractéristiques du système (version du système d'exploitation et des applications installées) et de sa configuration (clés de registre, attributs du système de fichiers et fichiers de configuration). Typiquement, un tel test pourrait ressembler à :

SI le système d'exploitation est Windows 2000

ET que la clef de registre XXX existe

ALORS la vulnérabilité "CVE YYYY" est présente

En fait, OVAL a choisi d'utiliser le langage SQL (Structured Query Language), plutôt que le langage procédural donné en exemple ci-dessus. Un test OVAL est donc une requête SQL, comme par exemple :

SELECT 'Windows 2000 Installed' FROM Win2K_RegistryKeys

WHERE RegistryKey = 'HKLM\SOFT\Microsoft\Windows NT\CurrentVersion'

AND EntryName = 'CurrentVersion'

AND EntryValue = '5.0'

Ces requêtes sont par ailleurs basées sur la norme CVE (Common Vulnerabilities and Exposures) : pour chaque vulnérabilité CVE, il existera à terme une ou plusieurs requêtes OVAL testant la présence de la vulnérabilité sur un système. Une base de données OVAL (regroupant les tests pour chaque vulnérabilité CVE) est en cours de construction, et MITRE espère que des outils "compatible OVAL" verront le jour prochainement pour vérifier la vulnérabilité des plates-formes. Actuellement, MITRE propose un premier outil de ce type (le "MITRE's OVAL query interpreter") pour démontrer la faisabilité de tels outils.

Plates-formes supportées

Les plates-formes supportées par le projet OVAL sont : Windows NT, Windows 2000 et Solaris 7 et 8. Un "schéma" pour Linux RedHat est également en cours de définition.

Exemple : requête OVAL n°12 pour Windows 2000

La liste des requêtes disponibles pour Windows 2000 est disponible à l'adresse suivante :

http://oval.mitre.org/oval/review/queries/win2000.html

Cette page Web donne un très bon aperçu de ce qu'est réellement une requête OVAL.

Par exemple la requête n°12  correspond à la vulnérabilité CVE-2002-0026 pour laquelle le Cert-IST a émis l'avis CERT-IST/AV-2002.052. Il s'agit d'une vulnérabilité dans Internet Explorer 5 et 6 permettant à un attaquant distant d'exécuter des scripts sur le poste de l'utilisateur.

Cette requête OVAL détermine si la version de Internet Explorer est une version vulnérable, si la librairie concernée est vulnérable, et si les correctifs pour cette vulnérabilité ont été appliqués sur le système ou non.

Conclusion

OVAL semble être une approche intéressante pour déterminer la présence de vulnérabilités sur un système, venant compléter la norme CVE. Si ce langage connaît le même succès que CVE, il pourra être intéressant de suivre son développement.

Références