Pour gérer vos consentements :

Programmation : 5 erreurs à éviter pour la sécurité des logiciels

Qu’éviter absolument quand on code un logiciel ?

MITRE répond à cette question sous l’angle des « erreurs de programmation les plus dangereuses ». Dangereuses au sens où elles peuvent entraîner de graves failles.

L’organisation américaine à but non lucratif se fondait jusqu’alors sur des témoignages recueillis au sein de la communauté de la sécurité informatique.

Changement de méthodologie cette année : place à l’analyse des « vulnérabilités réelles ». En l’occurrence, celles compilées dans la base de données NVD (National Vulnerability Database) du gouvernement américain.

Sur cette base, MITRE a attribué un score aux erreurs de programmation selon deux critères. D’un côté, le volume de failles qu’elles ont engendré. De l’autre, la sévérité de ces failles.

Scriptage et débordements

La première place revient, avec un score de 75,56, à la classe de vulnérabilités CWE-119. Dites de « débordement de tampon », elles se traduisent par la lecture ou l’écriture dans un emplacement de mémoire au-delà de la limite prévue. Les logiciels codés en C et en C++ y sont particulièrement exposés.

Les vulnérabilités CWE-79 pointent au deuxième rang avec un score de 45,69. On les connaît sous l’acronyme XSS (scriptage intersite). Liées à une mauvaise validation des données avant leur inclusion dans une page HTML, elles permettent d’exécuter du script dans des navigateurs. Tout langage de programmation pris en charge constitue une cible potentielle.

Autre défaut de validation des entrées avec les vulnérabilités CWE-20, qui obtiennent un score de 43,61. Suivent les CWE-200 (divulgation d’informations à un tiers non explicitement autorisé à y accéder) et les CWE-125 (lecture de données hors de la zone mémoire attendue).

Le précédent classement de MITRE remontait à 2011. L’injection SQL (CWE-89 ; exposition d’une base de données à laquelle se connecte une application web)le dominait. Suivaient les injections shell (CWE-78 ; exécution de commandes sur un serveur d’application).
Le XSS figurait déjà dans la liste, en 4e position, derrière un dépassement de capacité (CWE-120) et l’authentification faible pour des fonctionnalités critiques (CWE-306).

Photo d’illustration via VisualHunt

Recent Posts

AWS abandonne WorkDocs, son concurrent de Dropbox

Un temps pressenti pour constituer le socle d'une suite bureautique AWS, Amazon WorkDocs arrivera en…

2 jours ago

Eviden structure une marque de « serveurs IA »

Eviden regroupe cinq familles de serveurs sous la marque BullSequana AI. Et affiche le supercalculateur…

2 jours ago

SSE : l’expérience se simplifie plus que les prix

Le dernier Magic Quadrant du SSE (Secure Service Edge) dénote des tarifications et des modèles…

2 jours ago

IA générative : les lignes directrices de l’ANSSI

Formats de paramètres, méthodes d'apprentissage, mutualisation GPU... Voici quelques-unes des recommandations de l'ANSSI sur l'IA…

3 jours ago

De la marque blanche à l’« exemption souveraine », Broadcom fait des concessions aux fournisseurs cloud

À la grogne des partenaires VMware, Broadcom répond par diverses concessions.

3 jours ago

iPadOS finalement soumis au DMA

iPadOS a une position suffisamment influente pour être soumis au DMA, estime la Commission européenne.

3 jours ago