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

Le Réseau interministériel de l’État, sujet à dépendance

La Cour des comptes appelle à formaliser et à professionnaliser certains aspects du RIE, tout…

9 heures ago

Etalab en position de faiblesse au sein de la Dinum

La Cour des comptes attire l'attention sur le risque d'affaiblissement d'Etalab, privé, ces dernières années,…

11 heures ago

Une Dinum « balbutiante » sur l’open data et les logiciels libres

Missions historiques de la Dinum, l'ouverture des données publiques et la promotion des logiciels libres…

13 heures ago

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

1 jour ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

1 jour ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

2 jours ago