Précédent   Forum des professionnels en informatique > Le club des professionnels en informatique > Actualités

Actualités L'actualité des sociétés du secteur informatique

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: Le Top 25 des erreurs de programmation les plus dangereuses, laquelle est la plus virulente ?
Failure to Preserve Web Page Structure ('Cross-site Scripting') 8 11,43%
Failure to Preserve SQL Query Structure (aka 'SQL Injection') 41 58,57%
Cross-Site Request Forgery (CSRF) 6 8,57%
Unrestricted Upload of File with Dangerous Type 12 17,14%
Failure to Preserve OS Command Structure (aka 'OS Command Injection') 17 24,29%
Information Exposure Through an Error Message 7 10,00%
URL Redirection to Untrusted Site ('Open Redirect') 4 5,71%
Race Condition 4 5,71%
Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') 13 18,57%
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') 4 5,71%
Improper Control of Filename for Include/Require Statement in PHP Program ('PHP File Inclusion') 13 18,57%
Buffer Access with Incorrect Length Value 6 8,57%
Improper Check for Unusual or Exceptional Conditions 3 4,29%
Improper Validation of Array Index 3 4,29%
Integer Overflow or Wraparound 4 5,71%
Incorrect Calculation of Buffer Size 4 5,71%
Download of Code Without Integrity Check 13 18,57%
Allocation of Resources Without Limits or Throttling 6 8,57%
Improper Access Control (Authorization) 8 11,43%
Reliance on Untrusted Inputs in a Security Decision 4 5,71%
Missing Encryption of Sensitive Data 10 14,29%
Use of Hard-coded Credentials 9 12,86%
Missing Authentication for Critical Function 12 17,14%
Incorrect Permission Assignment for Critical Resource 7 10,00%
Use of a Broken or Risky Cryptographic Algorithm 5 7,14%
Autre (précisez svp) 3 4,29%
Sondage à choix multiple Votants: 70. Vous ne pouvez pas participer à ce sondage.

Publicité
Réponse Actualité déjà publiée
 
Outils de la discussion
Vieux 16/02/2010, 21h57   #1
Expert Confirmé Sénior
 
Avatar de Katleen Erna
 
Inscription : juillet 2009
Messages : 1 553
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2009
Messages : 1 553
Points : 30 184
Points : 30 184
Par défaut Le Top 25 des erreurs de programmation les plus dangereuses, d'après SANS et MITRE

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)
Katleen Erna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 09h32   #2
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 911
Points : 1 911
Citation:
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.

Citation:
[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

Citation:
[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
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 10h01   #3
Invité régulier
 
Bastien
Inscription : septembre 2008
Messages : 39
Détails du profil
Informations personnelles :
Nom : Bastien

Informations forums :
Inscription : septembre 2008
Messages : 39
Points : 7
Points : 7
Session was already closed.

Lol
bastien.hug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 14h23   #4
Nouveau Membre du Club
 
Inscription : février 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 103
Points : 28
Points : 28
Par défaut Possibilité d'obtenir une formation dans ces domaines

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 .
ricault est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 18h06   #5
Membre Expert
 
Avatar de pmithrandir
 
Pierre Bonneau
Inscription : mai 2004
Messages : 771
Détails du profil
Informations personnelles :
Nom : Pierre Bonneau
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 771
Points : 1 170
Points : 1 170
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
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...
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 18h12   #6
Membre Expert
 
Avatar de Harry
 
Homme
Ingénieur développement logiciels
Inscription : juillet 2002
Messages : 1 180
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2002
Messages : 1 180
Points : 1 083
Points : 1 083
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
__________________

Attention le .NET sur PDA peut causer des chutes de cheveux
Harry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2010, 19h11   #7
Membre du Club
 
Inscription : février 2008
Messages : 37
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2008
Messages : 37
Points : 43
Points : 43
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).
jpouly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 01h16   #8
Membre Expert
 
Avatar de pmithrandir
 
Pierre Bonneau
Inscription : mai 2004
Messages : 771
Détails du profil
Informations personnelles :
Nom : Pierre Bonneau
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 771
Points : 1 170
Points : 1 170
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
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 ?
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 03h50   #9
Membre Expert
 
Inscription : juillet 2006
Messages : 1 396
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 396
Points : 1 330
Points : 1 330
Permet moi d'être inquiet pour tes clients.
deadalnix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 11h36   #10
Membre habitué
 
Inscription : août 2005
Messages : 269
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 269
Points : 147
Points : 147
Hmmm.

Je n'ai jamais rencontré une de ces erreurs depuis des années que je programme!! d'où avez vous sorti tout cela?
kisitomomotene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 11h58   #11
Membre habitué
 
Inscription : décembre 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 123
Points : 147
Points : 147
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.
IDontLikeYou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 12h04   #12
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 911
Points : 1 911
@pmithandir, pour java je ne sais pas, mais pour php tu as des cours de sécurisation disponible dans DVP.

@deadalnix +1


@IDontLikeYou, Je t'aimes bien bisou ; ) Intéressant, tu as quelques mots clefs en tête pour faire des recherches sur le net ?
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 14h08   #13
Invité de passage
 
Inscription : août 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 3
Points : 1
Points : 1
La plupart des applications contiennent des dizaines d'erreur, on estime à
une erreur pour 1500 lignes de code.

Cependant la plupart des erreurs n'ont aucunes conséquences soit parce qu'elles sont masquées par le reste, soit parce qu'elle n'ont lieu qu'une fois tous les 10 ans, soit parce qu'elle ne touche pas la sécurité.

Même un programme ultra vérifié contient des bugs. ( ex l'explosion d'ariane 5).

Connaitre et éviter les erreurs les plus courantes du sondage semble pourtant
très important car la plupart touche la sécurité !!
Patator21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 14h48   #14
Membre Expert
 
damien
Inscription : mars 2005
Messages : 1 680
Détails du profil
Informations personnelles :
Nom : damien
Âge : 27

Informations forums :
Inscription : mars 2005
Messages : 1 680
Points : 1 861
Points : 1 861
Citation:
Envoyé par Patator21 Voir le message
Même un programme ultra vérifié contient des bugs. ( ex l'explosion d'ariane 5).
Ariane 5 c'est surtout une erreur de conception avec le choix d'un mauvais langage.
__________________
dam's
dams78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 16h16   #15
Membre Expert
 
Avatar de pmithrandir
 
Pierre Bonneau
Inscription : mai 2004
Messages : 771
Détails du profil
Informations personnelles :
Nom : Pierre Bonneau
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 771
Points : 1 170
Points : 1 170
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Citation:
Envoyé par deadalnix Voir le message
Permet moi d'être inquiet pour tes clients.
Les sites sur lequels je travaille sont tous des sites fermés type intranet, SAAS.

Et le dernier soucis était la securité en général.

Après, je ne sais pas, mais si ca se trouve je fait déjà en sorte de ne pas faire la plupart des erreurs par habitudes ou parce que le framework ne me le permet pas... Les injections SQL par exemple je crois que ca en fait parti.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 18h23   #16
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 911
Points : 1 911
C'est pour cela qu'on aime bien les fw : D

@dams78 tu peux préciser un peu c'est intéressant.
kaymak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2010, 18h43   #17
Membre Expert
 
Inscription : juillet 2006
Messages : 1 396
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 396
Points : 1 330
Points : 1 330
Citation:
Envoyé par pmithrandir Voir le message
Les sites sur lequels je travaille sont tous des sites fermés type intranet, SAAS.

Et le dernier soucis était la securité en général.
Excuse moi, mais c'est juste crétin. Toute personne renseignée sur la sécurité te confirmera cela : une part importante des attaques viens de l'intérieur.
deadalnix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2010, 17h40   #18
Membre actif
 
Avatar de snipes
 
Inscription : septembre 2004
Messages : 492
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 492
Points : 192
Points : 192
Citation:
Envoyé par deadalnix Voir le message
Excuse moi, mais c'est juste crétin. Toute personne renseignée sur la sécurité te confirmera cela : une part importante des attaques viens de l'intérieur.
+1
snipes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2010, 21h10   #19
Membre Expert
 
Avatar de pmithrandir
 
Pierre Bonneau
Inscription : mai 2004
Messages : 771
Détails du profil
Informations personnelles :
Nom : Pierre Bonneau
Âge : 28

Informations forums :
Inscription : mai 2004
Messages : 771
Points : 1 170
Points : 1 170
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Citation:
Envoyé par deadalnix Voir le message
Excuse moi, mais c'est juste crétin. Toute personne renseignée sur la sécurité te confirmera cela : une part importante des attaques viens de l'intérieur.
Je n'ai jamais affirmer que j'approuvais les décisions de priorité de dev de l'équipe dirigeante :p

Enfin, il n'en demeure pas moins que je trouve que l'on manque d'endroit ou l'on centralise toutes les informations de manières visible pour assurer des bonnes pratiques.

Comment gérer des documents uploadés sur un serveur, le répertoire est il accessible aux utilisateurs ou non, etc... Comment éviter certaines injection de variable dans une page avec l'url...

Les applications PHP que j'ai vu étaient en général basée sur des trucs qui faisait que c'était presque impossible de limiter les accès d'un mec qui connaissait le code. Avec des non sens comme, ajouter debug=1 dans l'url pour passer en mode debug... sans autre forme de procès... Bref, on est loin quand on est a ce niveau la de se poser la question d'un injection SQL...

Surtout que... dans nombre d'applications ou les données ne sont pas critiques pour le client(par critique j'entends importance capitale pour le dev de l'entreprise ou pour des obligations de confidentialité légale) ils ne sont pas du tout prêt a mettre de l'argent dans la sécurité. C'est par définition le truc invisible qui coute cher et qui n'est jamais infaillible. Bref, aucune raison de payer pour cela...
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2010, 22h55   #20
Membre Expert
 
Inscription : juillet 2006
Messages : 1 396
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 396
Points : 1 330
Points : 1 330
La sécurité, ça coute cher ?

Sans doute, mais il est clair, que c'est économique sur le moyen/long terme.

Imagine qu'un salarié mal intentionné supprime tous les données de l'entreprise ? Essaye de chiffre cela, ça va te donner une idée.

La question de la dépense sécuritaire est simple : est-ce que c > p*r ? Ou c est le coût de la mise ne place de la sécurité, p la probabilité que la menace devienne effective et r le coût qu'engendre la réalisation de la menace.

Si l'assertion ci dessus est vraie, alors il faut payer pour la sécurité. Et quand on se rend compte des valeurs de r dans certains cas, on sait pourquoi on paye.

Il existe pas mal d'infos sur les failles classiques type sql injection. Mais la sécurité, ça se pense dans son ensemble (par exemple, c'est bien joli d"utiliser un algo de cryptage super béton avec un clef très longue, mais si le pass est marqué avec un post-it collé sur l'écran . . .).

La sécurité est un domaine dans lequel j'ai des compétences (attention, pas en cryptanalyse, qui est un domaine associé mais différent. je ne appesantis pas la dessus car ce n'est pas le but du topic).

Quand je vois le temps passé à acquérir mes compétences (ça va taper super large, car elles vont de notions psychologiques, à l'algorithmique, l'informatique bas niveau, le réseau, des bases mathématiques solides, etc . . .) et le temps que je passe régulièrement à les mettre à jour, ou bien je suis particulièrement inefficace, ou bien une simple page, ça permet d'éviter les pièges classiques, mais ça ne suffit largement pas.
deadalnix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 04h59.


 
 
 
 
Partenaires

Hébergement Web