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

42PARTAGES

2  1 
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 ?

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

Avatar de 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 ...
5  1 
Avatar de benjani13
Membre extrêmement actif 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.
1  0 
Avatar de 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.
1  0 
Avatar de Zefling
Membre expert 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.
1  0 
Avatar de Katyucha
Expert confirmé https://www.developpez.com
Le 25/04/2014 à 11:38
Cobol ....

Troll inside

Comme dit par les collègues, la plus grosse faille, c'est le développeur. Et la meilleure solution, c'est aussi le développeur.
1  0 
Avatar de Immobilis
Expert éminent https://www.developpez.com
Le 09/05/2014 à 13:48
Est-ce que les langages qui permettent un typage implicite (à l'affectation) ne sont pas moins sécurisés?
1  0 
Avatar de Sodium
Membre extrêmement actif 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.
3  3 
Avatar de 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).
0  0 
Avatar de 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 )
0  0 
Avatar de 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.
0  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web