Les 25 erreurs de programmation les plus dangereuses

Comme chaque année, le CWE vient de publier la liste des 25 erreurs de programmation les plus dangereuses pour l’intégrité de vos systèmes ou de vos applications. Si toutes ces vulnérabilités ne s’appliquent pas forcément au développement web, elles sont tout de même intéressantes à étudier, ne serait-ce que pour se former aux bonnes pratiques de développement.

Mauvaises interactions entre les composants

Ces vulnérabilités concernent les manières dont les données sont envoyées et reçues par des composants, modules, programmes, processus, threads ou systèmes.

  1. Mauvais filtrage des données envoyées par les utilisateurs.
  2. Mauvais encodage ou échappement des données en sortie.
  3. Injections SQL.
  4. Cross Site Scripting (ou XSS).
  5. Injection de commandes directement exécutables par le système d’exploitation (system() ou exec()).
  6. CSRF (prononcez sea surf pour avoir l’air cool).
  7. Race conditions.
  8. Divulgation d’informations dans les messages d’erreur (comme le PATH dans lequel est installée votre application web).

Mauvaise gestion des ressources

Ces vulnérabilités concernent la manière dont les applications ne gèrent pas correctement la création, l’utilisation, le transfert et la destruction des ressources systèmes.

  1. Buffer overflow.
  2. Modifications externes de données d’état.
  3. Modification externe des chemins d’accès ou des fichiers en lecture / écriture.
  4. PATH non limité.
  5. Injections de code (eval()).
  6. Téléchargement et exécution de code sans réel contrôle d’intégrité.
  7. Mauvaise libération de ressources (double free()…).
  8. Mauvaise initialisation.
  9. Erreurs de calcul (off by one, division par zéro).

Protections foireuses

Il s’agit de modes de protection souvent mal utilisés, contournés, ou purement ignorés par les développeurs.

  1. Absence d’ACL.
  2. Utilisation d’un algorithme de chiffrement cassé.
  3. Mots de passes codés en dur dans les applications(!).
  4. Mauvaises permissions sur les ressources les plus critiques.
  5. Exécution de programmes avec des permissions trop élevées (le bonheur des CGI en root).
  6. Prise des mesures de sécurité côté client.

Voilà, c’est tout, avec, peut-être, à l’avenir, des articles distincts sur chacune de ces vulnérabilités, si vous êtes suffisamment nombreux à être intéressés.

Publié le 05 février 2009 à 20h37 Publié sous

Mots clés sécurité, vulnérabilités, programmation

Si cet article vous a plu, suivez-moi sur Twitter Suivez-moi sur Twitter

  1. Avatar

    Par Christophe Lauer [MS] le 06 février 2009 à 01h43 :


    Le pire, c’est qu’en parcourant cette liste un peu rapidement, je n’ai pas l’impression que la situation se soit nettement améliorée depuis les dernières années.

    J’ai même l’impression qu’avec l’apparente facilité de bricoler trois bouts de scripts, et le fait que demain n’importe quel quidamme pouvant prétendre être un “développeur ouaibe”, ça risque de devenir de plus en plus critique…

    Parce qu’il n’y a rien qui ressemble plus à un nouveau service “bêta” sérieux et proprement sécurisé qu’un autre service “bêta” qui serait au contraire une vraie passoire.

    Ô Rage, ô Désespoir !

  2. Avatar

    Par Christophe Lauer [MS] le 06 février 2009 à 01h45 :


    Mon ami Sébastien de l’OWASP France à encore du boulot devant lui ! http://www.owasp.org/index.php/Main_Page

  3. Avatar

    Par Philippe le 06 février 2009 à 05h02 :


    “des articles distincts sur chacune de ces vulnérabilités”

    Quelle bonne idée !

  4. Avatar

    Par Benoit le 06 février 2009 à 11h07 :


    C’est vrai qu’il y a beaucoup de développeurs peu attentifs à ces aspects de sécurité, qui se contentent de copier/coller vite fait des bouts de scripts sans comprendre la logique derrière le code…

    J’ai écrit il y a quelques temps des exemples sur le top 5 de ces vulnérabilités. Si ça vous intéresse, http://bcolin.com/index/les-5-points-securite-que-vous-devez-verifier-avant-de-livrer

  5. Avatar

    Par max le 07 février 2009 à 16h48 :


    Je plussoie pour un article par erreur !

  6. Avatar

    Par odenis le 09 février 2009 à 09h17 :


    Bon j’avoue j’en ai déjà commis quelques une ;)

  7. Avatar

    Par devis assurance le 29 décembre 2009 à 12h14 :


    J’ai même l’impression qu’avec l’apparente facilité de bricoler trois bouts de scripts, et le fait que demain n’importe quel quidamme pouvant prétendre être un “développeur ouaibe”, ça risque de devenir de plus en plus critique…

Réagir à Les 25 erreurs de programmation les plus dangereuses

Merci de vous exprimer dans un français correct. Les commentaires déplacés, injurieux et le spam seront supprimés.

Les trackbacks sont fermés pour cause de spam.


Abonnez-vous au flux RSS et suivez les nouveaux articles du site Suivez-moi sur Twitter