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 2015-12-08 02:04:31, par Victor Vincent, Expert éminent sénior
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
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 ?
Voir aussi
-
imikadoRédacteurComme 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 clientsle 08/12/2015 à 16:00 -
pschiitMembre actifJe 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...le 08/12/2015 à 9:48
-
Luckyluke34Membre éméritele 08/12/2015 à 9:55
-
tomlevRédacteur/ModérateurEn 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...)le 08/12/2015 à 13:46 -
Paul TOTHExpert éminent sénioril 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.le 09/12/2015 à 12:49
-
tomlevRédacteur/ModérateurOui enfin des apps en ASP classique ou ColdFusion, il doit pas en rester des masses
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.
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.
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...le 08/12/2015 à 9:58 -
melka oneMembre expérimentéApparemment il n’y a rien a dire sur JavaScriptle 08/12/2015 à 12:24
-
MetalmanMembre expertOk... 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.le 08/12/2015 à 12:33 -
stailerMembre chevronné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
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?
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.le 10/12/2015 à 10:26 -
CyrilangeMembre avertiCe n'est pas le langage qui a une faille mais le développeur.le 09/12/2015 à 21:40