IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le Top 25 des erreurs de programmation les plus dangereuses
D'après SANS et MITRE

Le , par Katleen Erna

0PARTAGES

1  0 
Le Top 25 des erreurs de programmation les plus dangereuses, laquelle est la plus virulente ?
Failure to Preserve SQL Query Structure (aka 'SQL Injection')
58 %
Failure to Preserve OS Command Structure (aka 'OS Command Injection')
25 %
Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
19 %
Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')
19 %
Download of Code Without Integrity Check
19 %
Missing Authentication for Critical Function
18 %
Unrestricted Upload of File with Dangerous Type
18 %
Missing Encryption of Sensitive Data
15 %
Use of Hard-coded Credentials
14 %
Failure to Preserve Web Page Structure ('Cross-site Scripting')
13 %
Improper Access Control (Authorization)
13 %
Incorrect Permission Assignment for Critical Resource
11 %
Information Exposure Through an Error Message
11 %
Allocation of Resources Without Limits or Throttling
10 %
Buffer Access with Incorrect Length Value
10 %
Cross-Site Request Forgery (CSRF)
10 %
Use of a Broken or Risky Cryptographic Algorithm
8 %
Race Condition
7 %
URL Redirection to Untrusted Site ('Open Redirect')
7 %
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
7 %
Reliance on Untrusted Inputs in a Security Decision
7 %
Integer Overflow or Wraparound
7 %
Autre (précisez svp)
7 %
Incorrect Calculation of Buffer Size
7 %
Improper Check for Unusual or Exceptional Conditions
6 %
Improper Validation of Array Index
6 %
Voter 72 votants
Le Top 25 des erreurs de programmation les plus dangereuses, d'après SANS et MITRE

L'institut SANS, spécialisé dans la sécurité informatique des ordinateurs et des réseaux, accompagné de la corporation MITRE qui se définit comme une organisation non lucrative d'utilité nationale, agissant pour l'intérêt des citoyens américains dans la protection des ressources informatiques du pays ; vient de publier son Top 25 des erreurs de programmation les plus dangereuses de l'année.

Cette liste a été établie avec le concours des deux groupes, mais aussi grâce à la collaboration d'experts en sécurité informatique de toutes nationalités, et de diverses firmes.

Ce top répertorie les erreurs de programmation les plus critiques et les plus courantes qui peuvent rendre un programme vulnérable. Elles sont généralement faciles à repèrer et à exploiter.

Voici ce Top 25, les codes associés aux erreurs correspondent à leurs identifiants dans la base de données CWE de la MITRE (qui recence leur virulence, leur nature, leur fonctionnement, etc.) :

Programming Error Category: Insecure Interaction Between Components

[1] CWE-79: Failure to Preserve Web Page Structure ('Cross-site Scripting')
[2] CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection')
[4] CWE-352: Cross-Site Request Forgery (CSRF)
[8] CWE-434: Unrestricted Upload of File with Dangerous Type
[9] CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command Injection')
[17] CWE-209: Information Exposure Through an Error Message
[23] CWE-601: URL Redirection to Untrusted Site ('Open Redirect')
[25] CWE-362: Race Condition

Programming Error Category: Risky Resource Management

[3] CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
[7] CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
[14] CWE-98: Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')
[12] CWE-805: Buffer Access with Incorrect Length Value
[13] CWE-754: Improper Check for Unusual or Exceptional Conditions
[15] CWE-129: Improper Validation of Array Index
[16] CWE-190: Integer Overflow or Wraparound
[18] CWE-131: Incorrect Calculation of Buffer Size
[20] CWE-494: Download of Code Without Integrity Check
[21] CWE-770: Allocation of Resources Without Limits or Throttling

Programming Error Category: Porous Defenses

[5] CWE-285: Improper Access Control (Authorization)
[6] CWE-807: Reliance on Untrusted Inputs in a Security Decision
[10] CWE-311: Missing Encryption of Sensitive Data
[11] CWE-798: Use of Hard-coded Credentials
[19] CWE-306: Missing Authentication for Critical Function
[22] CWE-732: Incorrect Permission Assignment for Critical Resource
[24] CWE-327: Use of a Broken or Risky Cryptographic Algorithm

Certaines de ses erreurs vous sont-elles familières ? Les avez-vous déjà vues ou commises ?

Comment se protèger contre ces dangers ?

Dans ce Top, quelle erreur vous parait la plus fréquente ? Laquelle vous parait la plus critique et dangereuse ?
Source : Le Top 25 publié par SANS (avec détails et explications en anglais)

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de kaymak
Membre émérite https://www.developpez.com
Le 17/02/2010 à 9:32
Certaines de ses erreurs vous sont-elles familières ? Les avez-vous déjà vues ou commises ?
Carrément. Y'à de l'erreur de programmation et de l'inattention dans tout cela, mais tout le monde s'y retrouvera.

[25] CWE-362: Race Condition
Faut y aller pour faire des exploits sur des failles de ce goût là, voir l'exemple
http://cwe.mitre.org/data/definitions/362.html

[14] CWE-98: Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion')
Nécessairement et uniquement le PHP ?

a plus
1  0 
Avatar de bastien.hug
Nouveau membre du Club https://www.developpez.com
Le 17/02/2010 à 10:01
Session was already closed.

Lol
1  0 
Avatar de ricault
Membre du Club https://www.developpez.com
Le 17/02/2010 à 14:23
Bonjour tout le monde,

Je suis développeur Java j2ee, Est 'il possible de suivre des formations en France sur ce type de sujet ? Y a t il en France ou en Europe des organismes qui dispensent ce genre de formation ? Merci pour vos réponses .
1  0 
Avatar de pmithrandir
Expert éminent https://www.developpez.com
Le 17/02/2010 à 18:06
Citation Envoyé par ricault Voir le message
Bonjour tout le monde,

Je suis développeur Java j2ee, Est 'il possible de suivre des formations en France sur ce type de sujet ? Y a t il en France ou en Europe des organismes qui dispensent ce genre de formation ? Merci pour vos réponses .
J'ai un peu la même question en tête. Parce que pour nombre des ces failles, je connais a peine le nom, et encore moins la façon de les éviter. Je pense que tous les sites que je fais sont bourrés de failles, mais je n'en ai strictement aucune idée...
1  0 
Avatar de Harry
Membre expérimenté https://www.developpez.com
Le 17/02/2010 à 18:12
Je trouve personnellement que l'erreur de programmation la plus sérieuse reste tout bêtement les requêtes SQL DELETE avec des oublis au niveau de la clause WHERE. Voir oubli complet du WHERE. C'est radical et ne laisse pas de traces
1  0 
Avatar de jpouly
Membre confirmé https://www.developpez.com
Le 17/02/2010 à 19:11
Le SQL injection (Ah la bonne programmation à la VB6)

Ne pas contrôler les upload (Le serveur est à plat, sais pas pourquoi , m.. un virus)

Donner des infos aux hackers grâce aux exceptions levées par le serveur Web (pages d'erreurs standard, ne pas trapper les exceptions du serveur lui même, ...).

Les dépassements de buffers et compagnies, c'est du classique, normalement maitrisés par n'importe quel développeur ( j'ai rempli la mémoire).
1  0 
Avatar de pmithrandir
Expert éminent https://www.developpez.com
Le 18/02/2010 à 1:16
Citation Envoyé par jpouly Voir le message
Le SQL injection (Ah la bonne programmation à la VB6)

Ne pas contrôler les upload (Le serveur est à plat, sais pas pourquoi , m.. un virus)

Donner des infos aux hackers grâce aux exceptions levées par le serveur Web (pages d'erreurs standard, ne pas trapper les exceptions du serveur lui même, ...).

Les dépassements de buffers et compagnies, c'est du classique, normalement maitrisés par n'importe quel développeur ( j'ai rempli la mémoire).
Par exemple pour moi c'est du chinois.. Je sais a peine ce qu'est un buffer, donc bon...
Je me souviens pas avoir eu besoin d'utiliser ca depuis 4-5 ans ni en java ni en PHP... Et ca ne rappelle rien du tout des techniques pour empêcher les explosion de buffer.

Est ce que ca ne serait pas une bonne idée sur développez de faire(ou de mettre un lien si ca existe déjà) une page avec ce genre d'erreur commune et de donner une explication simple ainsi qu'un exemple de bonne pratique a mettre en oeuvre pour toutes ces failles ?
1  0 
Avatar de deadalnix
Membre émérite https://www.developpez.com
Le 18/02/2010 à 3:50
Permet moi d'être inquiet pour tes clients.
1  0 
Avatar de kisitomomotene
Membre averti https://www.developpez.com
Le 18/02/2010 à 11:36
Hmmm.

Je n'ai jamais rencontré une de ces erreurs depuis des années que je programme!! d'où avez vous sorti tout cela?
1  0 
Avatar de IDontLikeYou
Membre actif https://www.developpez.com
Le 18/02/2010 à 11:58
Citation Envoyé par kaymak Voir le message


Faut y aller pour faire des exploits sur des failles de ce goût là, voir l'exemple
http://cwe.mitre.org/data/definitions/362.html

C'est pas si rare, les race conditions sont à l'origine de pas mal d'exploit dans les jeux en ligne. Après dans les applis orientées business j'imagine qu'effectivement c'est très rare.
1  0