Quelle est la plateforme de développement ou le langage le plus exposé aux vulnérabilités ?
Une étude de Veracode donne des éléments de réponse

Le , par Victor Vincent

41PARTAGES

14  6 
Les résultats d’une étude de Veracode révèlent que les langages de script web PHP et ASP sont plus exposés aux vulnérabilités que les plateformes Java et .NET. La vague de vulnérabilité qui a atteint WordPress et Drupal au cours des deux dernières années, ainsi que les découvertes de vulnérabilités dans des applications permettant d’attaquer ces dernières par injection a visiblement terni l’image de leur langage de script sous-jacent. En effet, environ 86 % des applications écrites en PHP sont exposées aux attaques de type cross-site scripting et 56 % d’entre elles contiennent des bogues les rendant vulnérables aux injections SQL, selon l’étude de Veracode. Cette étude s’est intéressée à PHP, Java, Microsoft Classic ASP, .NET, iOS, Android, C, C++, JavaScript, ColdFusion, Ruby et COBOL. Elle a été effectuée en faisant des scans et de l’analyse des codes source de plus de cinquante mille applications sur le cloud.

L’étude montre également que 64 % des applications écrites en ASP Classic et 62 % de celles écrites en ColdFusion présentent des bogues les rendant vulnérables aux risques d’injection SQL. Contrairement à ces langages, l’étude montre que Java et .NET ont de bien meilleures performances avec respectivement 21 et 29 % seulement des applications présentant des vulnérabilités liées aux injections SQL. Chris Wysopal, PDG de Veracodes, estime que les problèmes de PHP favorisent les injections SQL. Chris explique en effet que certaines de ces vulnérabilités continuent d’exister du fait que les programmeurs utilisent des langages difficiles à programmer et donc qu'il est difficile de sécuriser le code de ces derniers. D’après l’étude, PHP et ASP ne disposent pas de fonctions comme Java et .NET permettant de réduire le risque d’injection SQL, de cross-site scripting et de dépassement de capacité. Verracode a également pointé du doigt les plateformes mobiles Android et iOS qui présentent des faiblesses au niveau de la cryptographie.

source : Veracode

Et vous ?

Qu'en pensez-vous ?

Voir aussi

la rubrique Débats sur le développement

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

Avatar de imikado
Rédacteur https://www.developpez.com
Le 08/12/2015 à 16:00
Comme mes camarades: il n'y a pas de langages plus ou moins sécurisés, mais de bonnes pratiques à appliquer par les développeurs peu importe la technologie.

J'avais écrit un article sur la sécurité en php : http://imikado.developpez.com/tutori...e-mkframework/

Et avec l'experience, je vois qu'on enseigne pas à l'école la sécurisation des applications, c'est une fois en entreprise, et encore quand l'entreprise s'en préoccupe que l'on apprend à se protéger des failles xss, nullbyte, SQLi, DDoS...
Combien d'entreprise paie des sociétés pour faire des audit de sécurité de leurs applications ? même dans le e-commerce
Pour avoir travailler de nombreuses années dans ce secteur, je peux dire que peu importe le nom affiché sur l'enseigne peu ou pas le font

Oui ça coute cher, oui ça prend du temps de faire auditer son infrastructure ou ses applications (en boite noire/blanche)
Mais clairement, quand c'est son coeur de métier c'est un investissement de sécuriser ce qui peut corrompre son image auprès des clients
7  0 
Avatar de pschiit
Membre actif https://www.developpez.com
Le 08/12/2015 à 9:48
Je ne sais pas si c'est parcequ'un site est développé en ASP classic qu'il est plus vulnérable, ou si c'est parceque c'est un vieux site fait à une époque où on se souciait moins de ce genre de problématique...
6  0 
Avatar de Luckyluke34
Membre émérite https://www.developpez.com
Le 08/12/2015 à 9:55
Citation Envoyé par Victor Vincent Voir le message
Quelle est la plateforme de développement ou le langage le plus exposé aux vulnérabilités ?
Tiens, c'est déjà Trolldi ?
6  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 08/12/2015 à 13:46
Citation Envoyé par melka one Voir le message
Apparemment il n’y a rien a dire sur JavaScript
En même temps, tu as souvent manipulé une DB SQL en Javascript ? (oui je sais, c'est possible avec Node.js, mais la plupart des devs JS font plutôt du front-end)

Sinon, pour revenir au débat principal, ce n'est pas vraiment une question de langage, mais plutôt une question de bonnes pratiques. Tous les langages permettent de faire des requêtes paramétrées pour éviter l'injection SQL, et écrire du code vulnérable à l'injection SQL, c'est limite impardonnable de la part d'un développeur professionnel.

Après, c'est aussi lié à la culture de chaque techno ; certaines technos comme Java ou .NET tendent à encourager les bonnes pratiques, alors que PHP par exemple a un peu une culture du "quick and dirty", du fait que ce soit une techno très accessible aux débutants (encore une fois, c'est une remarque générale, je sais bien qu'il est aussi possible de coder proprement en PHP...)
6  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 09/12/2015 à 12:49
Citation Envoyé par tomlev Voir le message

Pour PHP OK, mais ASP ça m'étonnerait qu'il en reste beaucoup. Et de toute façon on parle de proportion de sites vulnérables pour chaque techno, donc le nombre de sites utilisant ces technos ne change rien à l'affaire.
il est tout de même fort probable qu'il y a beaucoup plus de sites PHP réalisés par des débutants que de sites Java ou .Net, ce qui fausse les données.
6  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 08/12/2015 à 9:58
Citation Envoyé par Victor Vincent Voir le message
L’étude montre également que 64 % des applications écrites en ASP Classic et 62 % de celles écrites en ColdFusion présentent des bogues les rendant vulnérables aux risques d’injection SQL.
Oui enfin des apps en ASP classique ou ColdFusion, il doit pas en rester des masses

Citation Envoyé par Victor Vincent Voir le message
D’après l’étude, PHP et ASP ne disposent pas de fonctions comme Java et .NET
PHP (et probablement ASP aussi) dispose bien de telles fonctions, mais comme c'est historiquement un langage de bidouilleurs et de débutants (historiquement, pas exclusivement... fans de PHP, ne montez pas sur vos grands chevaux ), beaucoup de développeurs n'ont pas pris l'habitude de les utiliser.

Citation Envoyé par TiranusKBX Voir le message
pourquoi voit-on plus de faille de programme sous PHP et ASP ? simplement car la proportion de site avec c'est 2 langages est bien plus importante que pour les autres non ?
Pour PHP OK, mais ASP ça m'étonnerait qu'il en reste beaucoup. Et de toute façon on parle de proportion de sites vulnérables pour chaque techno, donc le nombre de sites utilisant ces technos ne change rien à l'affaire.

Citation Envoyé par TiranusKBX Voir le message
Donc pour moi cette étude sert à rien mis à part déformer la réalité apportée par les chiffres pour amener à passer sous java ou .net 2 langages propriétaires
Java n'est pas vraiment propriétaire (du moins il en existe une implémentation open-source: OpenJDK)
Et .NET n'est pas un langage mais une plateforme. Le langage C# est open-source depuis 1 an et demi, et l'implémentation cross-platform de .NET (.NET Core et CoreCLR, actuellement en RC) est également open-source.

Bref, ta théorie de la conspiration pour amener les gens à des langages propriétaires me semble un peu bancale...
6  1 
Avatar de melka one
Membre éprouvé https://www.developpez.com
Le 08/12/2015 à 12:24
Apparemment il n’y a rien a dire sur JavaScript
5  0 
Avatar de Metalman
Membre expert https://www.developpez.com
Le 08/12/2015 à 12:33
Ok... donc ils étudient des "langages", et finalement ne tombent que sur les parties webs.
Uhuh... incroyable : quand on cherche des failles, les parties les plus exposées au public sont les plus sensibles.
Bravo. Jamais je n'aurais deviné ça.

Après, faire confiance à un framework n'est pas plus safe que bien penser ses requêtes SQL et la façon de les émettre.
Quand une faille apparaitra dans le framework : que se passera-t-il ? Il faudra refaire une étude pour inverser le classement ?
C/C++ sont plus fiables, mais en fait non car on tape en mémoire... c'est quoi cette comparaison avec PHP, .Net, etc... ?

Quels sont les critères de comparaison ? Quels codes C ou COBOL ont-ils comparé avec PHP ou Java ?

Bref, c'est malheureux de lire ça.
5  0 
Avatar de stailer
Membre chevronné https://www.developpez.com
Le 10/12/2015 à 10:26
Article souffrant d'un gros gros paradoxe :

Chris explique en effet que certaines de ces vulnérabilités continuent d’exister du fait que les programmeurs utilisent des langages difficiles à programmer et donc qu'il est difficile de sécuriser le code
Il va falloir se décider... Combien de fois on a pu lire - de la part "d'experts" - que PHP était trop facile à programmer ? Et de ce fait quel les mauvais programmeurs (ou débutants) laissaient des failles de sécurité dans leur application...
En C# ou java, rien "de base" ne sécurise l'application.

Comme d'habitude dans les commentaires on peut lire des choses dépassées en 2015 :

Si j'ai bien compris, pour ma securitE je devais me contenter de java et .NET pour tout faire avec. Notament les sites web?
On ne choisi pas un langage parce qu'on va faire un "site" ou un "logiciel". Mais parce que pour les besoins du projet on pense que tel ou tel langage est plus adapté. Ou encore parce qu'on a une équipe plus spécialisée dans le langage X. Ou encore parce que le client a une exigence demandant à ce qu'on utilise le langage X.
Un "site web" est une "application web" comme une autre.

La seule question à se poser est : qui aura une nouvelle piscine cet été grâce à cette étude ?

+1 +1 +1 +1 +1 +1 On est d'accord.
5  0 
Avatar de Cyrilange
Membre averti https://www.developpez.com
Le 09/12/2015 à 21:40
Ce n'est pas le langage qui a une faille mais le développeur.
4  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web