Quel langage de programmation pour le Web est-il plus sécurisé ?
Selon une étude, les langages populaires ont presque le même degré de sécurité

Le , par Hinault Romaric, Responsable .NET
Peu sont les développeurs qui lors du choix d’un langage de programmation pour un projet accordent une place importante à la sécurité. Le choix est très souvent basé sur les performances ou encore la familiarité des développeurs avec le langage.

À la différence des classements sur la popularité des langages ou encore les performances de ceux-ci, le cabinet de sécurité WhiteHat Security vient de publier le classement des langages de programmation utilisés sur le Web, en se basant sur la sécurité de ceux-ci.

« Décider quel langage de programmation utilisé est souvent fondée sur des considérations telles que la familiarité de l’équipe de développement avec le langage, la génération plus rapide de code ou simplement le résultat à atteindre », a déclaré Jeremiah Grossman, fondateur et PDG de WhiteHat Security.

L’établissement de ce rapport a été motivé par le manque d’informations suffisantes sur la sécurité, que les équipes peuvent exploiter dans le processus de sélection d’un langage pour leur projet. Le rapport a été établi en mesurant la sécurité des langages de programmation et des framework et en examinant non seulement les bibliothèques sensibles, mais aussi le temps mis pour corriger une faille.

La liste a été établie suite à l’analyse de plus de 30 000 sites suivis par WhiteHat Security, pour mesurer la façon dont les langages de programmation et les Framework fonctionnent dans le domaine de la sécurité.

Les langages les plus utilisés par ces sites sont .NET (28 %), Java (25 %), ASP (16 %), PHP (11%), ColdFusion (6%) et Perl (3%). La complexité et la popularité de .NET, Java et ASP signifient que les surfaces d’attaques pour chaque langage est plus grand, selon WhiteHat Security, qui affirme que 31% de vulnérabilité ont été observées en .NET, 28% étaient en Java et 15% en ASP.

Dans l’ensemble, WhiteHat Security conclut qu’il n’y avait pas une grande différence dans le nombre de vulnérabilités trouvées parmi les sites utilisant ces différents langages. .NET avait une moyenne de 11, 36 vulnérabilités, suivi par Java avec 11,32, ensuite ASP (10,98), Perl (7) et ColdFusion (6).

Le rapport note également qu’avec le temps, la sécurité des applications Web ne s’améliore pas, alors qu’un meilleur travail est effectué dans la correction des bogues. Ce qui montre que les développeurs accordent peu d’importance à la sécurité par rapport aux fonctionnalités et aux performances.

La vulnérabilité la plus répandue est le « cross-site scripting » (XSS), suivie des vulnérabilités d’injection SQL, les fuites d’informations et l’usurpation du contenu des réponses HTTP. Le rapport permet de constater que les failles de type XSS sont résolues en moyenne en 52 jours pour PHP, 53 jours pour Perl, 76 jours pour JSP, 72 jours pour ColdFusion et 87 jours pour .NET.

Source : Rapport de WhiteHat Security

Et vous ?

Prenez-vous le paramètre sécurité en compte lors du choix d’un langage de programmation pour un projet ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Sodium Sodium - Membre éprouvé https://www.developpez.com
le 16/04/2014 à 16:15
Le plus gros risque de sécurité est l'erreur humaine.
Plus on maîtrise une technologie, moins on fera des erreurs de débutant et plus on produira un code sûr.
Baser son choix de développement là dessus me paraît donc parfaitement logique.
Avatar de benjani13 benjani13 - Membre expérimenté https://www.developpez.com
le 16/04/2014 à 16:18
L'article ne se contredit il pas?

Quel langage de programmation pour le Web est-il plus sécurisé ?

Le rapport note également qu’avec le temps, la sécurité des applications Web ne s’améliore pas, alors qu’un meilleur travail est effectué dans la correction des bogues. Ce qui montre que les développeurs accordent peu d’importance à la sécurité par rapport aux fonctionnalités et aux performances. .

Cette deuxième phrase montre bien que le langage lui même n'influence en rien sur la sécurité. C'est bien d'abord les développeurs qu'il faut former aux aspects sécurité.
Après le langage lui même peut entrer en jeu (0day du langage) mais c'est minoritaire je pense.
Avatar de grunk grunk - Modérateur https://www.developpez.com
le 16/04/2014 à 16:24
La vulnérabilité la plus répandue est le « cross-site scripting » (XSS), suivie des vulnérabilités d’injection SQL, les fuites d’informations et l’usurpation du contenu des réponses HTTP

Autant de vulnérabilité qui n'ont rien à voir avec le langage.
C'est le dévelppeur qui laisse une faille XSS ou une injection SQL , c'est pas le langage.

Si on parle sécurité des langages je m'attends plutôt à des choses du genre "X utilise tel version de open SSL" "Y ne gère pas les dépassement de mémoire".

Là on peut au mieux conclure que les développeurs .NET font plus d'erreurs que les autres ...
Avatar de naf87 naf87 - Membre éclairé https://www.developpez.com
le 16/04/2014 à 16:27
D'apres les deux points suivants:
Dans l’ensemble, WhiteHat Security conclut qu’il n’y avait pas une grande différence dans le nombre de vulnérabilités trouvées parmi les sites utilisant ces différents langages.

et
Le rapport note également qu’avec le temps, la sécurité des applications Web ne s’améliore pas, alors qu’un meilleur travail est effectué dans la correction des bogues.

La question ne devrait pas etre :
Prenez-vous le paramètre sécurité en compte lors du choix d’un langage de programmation pour un projet ?

Mais plutôt : Mettez-vous en œuvre les politiques de sécurité proposées par les éditeurs? Car, en termes de sécurité, les différents langages sont pratiquement au même niveau. Donc, ce qu’il reste à faire c’est choisir un langage et s’assurer que les best pratices de sécurité sont respectées.
Avatar de Zefling Zefling - Membre émérite https://www.developpez.com
le 16/04/2014 à 17:00
Le plus grosses failles ne sont pas celle du langage, mais celles laissées par les dévs. Quand on voit que la sécurité, c'est le dernier des soucis de certains boîtes. On m'a même sorti une fois « on corrigera si ça pose problème » parce qu'il n'y avait aucun test sur les données d'entrée.

Le contrôle de données reste souvent le plus gros du boulot sur applis web, temps qu'on préfère faire passer en nouvelles fonctionnalités tout aussi trouées.
Avatar de mypad mypad - Membre régulier https://www.developpez.com
le 16/04/2014 à 17:33
Quel langage de programmation pour le Web est-il plus sécurisé ?

Après la lecture de l'article, je pense que le titre devrait plutôt être : Quel langage de programmation pour le Web est-il le plus utilisé par les développeurs mettant en oeuvre les bonnes pratiques de sécurité ?

Comme le disent les commentaires précédent, le langage en soit n'y est pas pour grand chose.
Une étude plutôt sur les sécurités internes des frameworks populaires de chacun des langages aurait été plus intéressante. (et non les failles laissées/créées par les développeurs utilisant les dits framework).
Avatar de cPassard98 cPassard98 - Nouveau Candidat au Club https://www.developpez.com
le 16/04/2014 à 18:51
Pour moi, les langages utilisés qui sont les plus populaires prouvent de A à Z qu'ils possèdent une sécurité normale.
Après même si le langage joue un peu sur la sécurité d'un site ou d'une app web, le développeur est surtout le plus gros facteur risque de la sécurité d'un développement.
Code mal structuré avec peut-être des failles, des back doors et j'en passe, c'est surtout à cause de nous.

Donc pour ma part j'utilise n'importe quel langage, après la mise à jour la plus récente est la meilleure, puisque les anciens bugs sont en partie réglés ( Je parle pas de Microsoft hein )
Avatar de ymajoros ymajoros - Membre habitué https://www.developpez.com
le 16/04/2014 à 21:43
C'est une question de connaissances et d'expérience de l'équipe de développement. C'est aussi une question de plateforme et de choix technologiques.

Pour donner un exemple, dans une application Java EE 6 ou 7, avec JPA et uniquement des requêtes type-safe CriteriaBuilder, il n'y a pas d'injection sql. Je sais que je n'en ai pas dans mes applications. Je pourrais citer d'autres exemples sur plusieurs aspects technologiques. Cela ne m'empêche tout de même pas de savoir ce qu'est une injection sql et de maîtriser les aspects sécurité, sans quoi je pourrais difficilement exploiter la plateforme à 100 %. Ce n'est donc pas juste le langage : rien ne m'empêche de concaténer des bouts de chaînes et de gérer des des requêtes à la main et d'arriver à faire une injection sql en Java, mais ce n'est pas l'idée de la plateforme. En ne réinventant pas la roue, en évitant les 50 frameworks dont la démo a l'air bien mais qui manquent d'une spécification solide, en utilisant les outils matures et standardisés, j'arrive facilement à une situation où j'ai une application sûre avec un minimum d'effort. Peu de plateformes permettent ça, en passant, il y a un sérieux choix à faire, bien plus que celui du langage.
Avatar de kOrt3x kOrt3x - Modérateur https://www.developpez.com
le 17/04/2014 à 11:48
Pour moi tout les langages sont vulnérables, c'est surtout le développeur qui écrit le code qui les rendent encore plus vulnérables.
Avatar de la.lune la.lune - Membre chevronné https://www.developpez.com
le 17/04/2014 à 21:16
En tout cas quand on développe un site en ASP.Net on est plutôt centrés sur Visual Studio que sur la platforme .NET elle même, ce n'est pas comme si je développe en PHP ou en Java EE. Développer un site en ASP.NET comme en php c'est signer la mort du projet avant même de commencer.

Tellement que tout est servi, même tout ce qui est gestion des utilisateur, la gestion d'authentification on se soucie même pas, tout est sur Visual Studio, quelques paramétrages et on glisse on dépose, du coup bien fait à la Microsoft et on est mieux servi que par soi même. Je ne me soucie même pas de ce qui se passe.

Il n y a pas milles environnement de développement pour .NET comme c'est le cas en java, php et autres.

Du coup je me demande qu’après avoir payé autant d'argent pour toute la platforme et les outils pour quelque chose déjà servi et après on met au même pied d'égalité avec le monde de l'open source et des sites qui sont abondamment destiné à Linux là où même si .NET est supporté par Mono, mais pour que pourcentage de site 2%, 3% et ne me dit pas que Microsot quand il apporte des correctifs au vulnérabilité il distribue tous les patch à Xamarin. Encore on est mieux servi que par soi même.

Ainsi, après tout ça si .NET n'avait pas afficher de bonne résultat, j'aurais dis à quoi bon de payer autant d'argent, vaut mieux faire de l'open source, chaque chose à un prix. Si je peux trouver des outils qui gèrent l'authentification en php, mais faites par qui? lequel est bon? comment bien l'utiliser. Par contre en .NET presque tout est standardisé. Ainsi, pour moi ces résultats n'ont rien n'avoir avec la sécurité du langages mais plutôt la platforme web le mieux servi parce qu'on paye.
Offres d'emploi IT
Ingénieur bureau études cao h/f
Atos - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)
Développeur junior java/TR (H/F)
Atos - Provence Alpes Côte d'Azur - Toulon (83200)
Développeur Java/J2EE confirmé (31) (H/F)
Conserto - Midi Pyrénées - Toulouse (31000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil