Logiciels : le top 25 des problèmes de sécurité

MITRE top 25 CWE

MITRE a actualisé son top 25 CWE. L’écriture hors limites et le XSS y apparaissent comme les plus dangereuses catégories de faiblesses logicielles.

L’écriture hors limites, plus dangereuse des faiblesses logicielles ? Oui, si on en croit MITRE. L’organisme soutenu par le département de la Sécurité intérieure des États-Unis a pris l’habitude de publier un top 25. Une forme de complément à son dictionnaire CWE (Common Weakness Enumeration), qui inclut aussi les erreurs de conception hardware. L’édition 2021 vient de sortir. Elle se fonde sur deux années d’historique (2019-2020) dans un autre dictionnaire MITRE : la base de failles CVE (Common Vulnerabilities and Exposures).

Les faiblesses sont classées selon un score qui résulte de deux critères : fréquence et sévérité.

calcul fréquence
La fréquence équivaut au nombre de failles associées à une faiblesse. Le calcul se fait en tenant uniquement compte des CVE qu’on a pu associer à au moins une faiblesse. Il y a par ailleurs une normalisation sur la base des valeurs minimale et maximale constatées. NVD désigne la National Vulnerabilities Database, que le NIST a constituée à partir de CVE.
calcul sévérité
La sévérité se détermine par la moyenne des scores CVSS de toutes les failles associées à une CWE donnée.

La multiplication des scores de fréquence et de sévérité donne le score final.

calcul global

Avec cette méthode, l’écriture hors limites arrive nettement devant (65,93 ; voir l’extrait de tableau ci-dessous). Pour décrire les conséquences de ce type de faiblesse, on utilise le terme générique de « corruption de mémoire ». Au bout, il peut y avoir atteinte à des fichiers, plantage ou exécution de code.

top 5 CWE MITRE
(cliquer sur le tableau pour l’agrandir)

En tête l’an dernier, le XSS passe au deuxième rang. Il y a également permutation entre le troisième et le quatrième (lecture hors limites et validation incorrecte d’entrée).

Des faiblesses toujours plus spécifiques

Les principaux mouvements vers le haut du classement se font hors du top 10.

  • Permissions par défaut incorrectes (CWE-276) : passage de la 41e à la 19e place
  • Absence d’authentification pour une fonction critique (CWE-306) : de la 24e à la 11e
  • Désérialisation de données non fiables (CWE-502) : de la 21e à la 13e
  • Autorisation manquante (CWE-862) : de la 25e à la 18e
  • Injection de commande (CWE-77) : de la 31e à la 25e

Quant aux mouvements vers le bas :

  • Exposition d’informations sensibles (CWE-200) : de la 7e à la 20e
  • Restriction incorrecte des opérations au sein d’une zone mémoire (CWE-119) : de la 5e à la 17e
  • Injection de code (CWE-94) : de la 17e à la 28e
  • Gestion incorrecte des privilèges (CWE-269) : de la 22e à la 29e
  • Assignation incorrecte de permissions pour une ressource critique (CWE-732) : de la 16e à la 32e

La méthode de calcul retenue pour ce top 25 donne un score bas pour les faiblesses rarement découvertes ; peu importent leurs effets potentiels. C’est souhaitable, explique MITRE. Non sans reconnaître l’existence de biais liés essentiellement au contenu des définitions CVE : termes trop génériques, description limitée à l’impact et/ou aux techniques d’attaque…

Illustration principale © Quardia Inc. – Adobe Stock