Agence web » Actualités du digital » Comment les vulnérabilités de sécurité sont-elles classées? (CVSS)

Comment les vulnérabilités de sécurité sont-elles classées? (CVSS)

Shutterstock / Hywards

Si vous avez lu des informations sur les bogues de sécurité en ligne, vous avez probablement rencontré des scores attribués à des exploits. Celles-ci sont notées en fonction du système de notation des vulnérabilités communes, utilisé pour classer les exploits dans la base de données Common Vulnerability and Exposures. Nous discuterons de ce qui compose le score.

Qu'est-ce qui affecte le score?

Le score de base total est classé de 0 à 10 et se compose de trois sous-scores: exploitabilité, impact et portée. Un score d'exploitabilité inférieur est pire, tout comme un score d'impact plus élevé. Un exploit qui peut être facilement exploité sur le réseau par n'importe qui et a un impact élevé serait critique, et un exploit qui nécessite un accès physique ou une interaction de l'utilisateur et ne fait pas grand-chose aurait un impact très faible.

L'exploitabilité fait référence à la facilité avec laquelle une vulnérabilité peut être exploitée par un attaquant. Moins il y a de choses requises de l'attaquant, plus il est facile à exploiter. Il y a quatre éléments à cela:

  • Vecteur d'attaque est la relation réseau que l'attaquant doit avoir avec la source pour réussir l'exploit. Le plus simple et le plus grave est Network, ce qui signifie que l'exploit peut être retiré par toute personne ayant un accès public. Adjacent signifie que l'attaquant doit se trouver sur un réseau partagé et local signifie un réseau local. Le physique nécessite une interaction directe et souvent une interaction de l'utilisateur.
  • Complexité d'attaque fait référence à un peu plus que simplement à quel point c'est compliqué. Une complexité d'attaque plus élevée signifie que plus de pièces doivent être aux bons endroits pour exploiter la vulnérabilité. Une faible complexité signifie que l'exploit peut être exploité sur une large gamme de systèmes.
  • Privilèges requis. Aucun signifie qu'il peut être exploité par n'importe qui sur le Web,
    Faible signifie que l'attaquant dispose d'une sorte d'autorisation et Élevé signifie que l'utilisateur doit disposer de privilèges étendus pour l'exploiter.
  • Interaction de l'utilisateur, si la cible doit ou non faire quelque chose pour que l'exploit fonctionne. Cette métrique est binaire, une interaction est requise ou non.

L'impact fait référence à la gravité de l'exploit et à quel point il affecte le système cible. Cela comporte trois éléments:

  • Confidentialité, ou des lectures non autorisées (c'est-à-dire si l'attaque donne ou non accès à des ressources censées être privées). Faible est une exposition de base de certaines informations privées, et Élevé signifie que des données sérieuses (souvent des données client) pourraient être exposées.
  • Intégrité, ou des écritures non autorisées. Low fait référence à la capacité de l'attaquant d'écrire dans des fichiers spécifiques, et High donne à l'attaquant un accès en écriture à tout ce qui se trouve dans la portée de la cible.
  • Disponibilité fait référence à la question de savoir si l'exploit peut entraîner l'arrêt d'une application, y compris, mais sans s'y limiter, les vecteurs d'attaque DDoS. Faible signifie que certaines parties de l'application peuvent être déconnectées, et Élevé signifie que la plupart ou l'intégralité de l'application peut être arrêtée à l'aide de l'exploit. Ceci est différent. La confidentialité et l'intégrité font référence à Les données utilisé par l'application, et la disponibilité fait référence au opération du service lui-même. Il existe des scénarios où cela peut chevaucher Integrity – un exploit donnant aux attaquants un accès en écriture complet au système peut également leur donner la possibilité de supprimer l'application elle-même.

Enfin, Portée. Celui-ci est un peu plus compliqué, mais il se réfère essentiellement à savoir si l'exploit donne ou non accès à des ressources en dehors du contrôle de la cible, généralement en dehors d'un bac à sable ou d'une barrière de sécurité. Le guide CVSS le définit comme «lorsqu'un mécanisme de limite de sécurité séparant des composants est contourné en raison d'une vulnérabilité et cela entraîne un impact sur la sécurité en dehors de la portée de sécurité du composant vulnérable».

Des exemples de ceci incluent une vulnérabilité dans une machine virtuelle autorisant les écritures sur l'hôte, des vulnérabilités dans les microprocesseurs donnant accès à d'autres threads, des attaques de script intersite ou de redirection d'URL qui peuvent donner accès au navigateur d'un utilisateur et un échappement sandbox).

En fin de compte, tout cela se résume à un seul score et à une description du type «Élevé» ou «Critique» décrivant la gravité globale.

Parallèlement au score, vous verrez souvent la chaîne vectorielle, qui semble déroutante au début, mais qui n'est en réalité que des paires clé-valeur abrégées pour chaque composant.

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N

Vous pouvez en fait prendre n'importe quelle chaîne de vecteur et la charger dans la calculatrice après le hashtag pour en avoir une meilleure vue:

https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N

L'autre score principal est le score temporel, qui suit l'évolution de la gravité d'un exploit au fil du temps. Cela inclut la maturité du code (si l'exploit est utilisé dans la pratique), s'il existe ou non des correctifs, et le degré de confiance de l'éditeur quant aux détails de l'exploit.

★★★★★