Les développeurs Java et .NET sujets à des vulnérabilités plus fréquentes

Les développeurs Java et .NET sujets à des vulnérabilités plus fréquentes

Nœud source: 1901108

Plus des trois quarts des applications écrites en Java et .NET présentent au moins une vulnérabilité du Top 10 OWASP, une liste de faiblesses logicielles que les développeurs utilisent généralement comme référence pour la sécurité des applications.

C'est selon la société de test de logiciels Veracode, qui a découvert dans une analyse de près de 760,000 XNUMX applications qu'environ une application sur cinq utilisant ces deux écosystèmes de programmation présentait au moins une vulnérabilité de gravité élevée ou critique.

Dans l'ensemble, l'application moyenne avait 27 % de chances d'avoir au moins une vulnérabilité introduite chaque mois, avec des applications mal écrites et des applications rarement analysées susceptibles d'être plus défectueuses, tandis que les applications avec un historique plus long de processus de sécurité et écrites par des personnes bien formées les développeurs sont moins susceptibles d'introduire de nouvelles failles, selon les données.

L'analyse souligne l'importance d'intégrer la sécurité dans le pipeline de développement, déclare Tim Jarrett, vice-président de la gestion stratégique des produits chez Veracode.

"Les données montrent systématiquement que si vous intégrez une habitude de sécurité dans votre processus, vous obtenez un meilleur résultat, à la fois en termes de correction des défauts globaux, et... vous ralentissez également le flot de choses qui arrivent, et cela fait une grande différence, " il dit.

Pendant ce temps, les éditeurs de logiciels et les équipes de développement continuent de lutter pour éliminer les défauts et les vulnérabilités du code d'application. Alors que les développeurs et les projets open source sont corriger les failles logicielles plus rapidement, la demi-vie de la vulnérabilité moyenne continue d'être mesurée en mois, et non en jours ou en semaines, selon le rapport "State of Software Security" de Veracode, publié le 11 janvier. 

Par exemple, les applications Java et .NET, qui représentaient 71 % du nombre total d'applications analysées par l'étude, ont vu la moitié des failles affecter encore les applications après 243 jours et 158 jours, respectivement.

Demi-vie des vulnérabilités par langage de programmation

Source : rapport « State of Software Security » de Veracode

Le gonflement et l'âge des applications ont tous deux eu un impact négatif significatif sur leur sécurité. L'application moyenne a accumulé environ 40 % de code en plus et est plus susceptible de présenter des vulnérabilités. Environ 54 % des applications vieilles de deux ans présentent des défauts, tandis que 69 % des applications vieilles de cinq ans présentent des défauts, l'analyse a trouvé.

La sécurité surprenante de JavaScript

Étonnamment, les applications écrites en JavaScript ou utilisant l'un des frameworks JavaScript avaient tendance à mieux réussir dans les analyses de vulnérabilité. Alors qu'environ 80 % des applications Java et .NET présentaient une vulnérabilité, seulement 56 % des applications JavaScript en avaient une. Et tandis qu'environ 20 % des applications Java et .NET présentaient une vulnérabilité de gravité élevée, moins de 10 % des applications JavaScript en avaient une.

Les frameworks JavaScript sont plus récents, ont plus de sécurité et bénéficient des avantages d'un écosystème open source, dont Java n'a bénéficié que relativement récemment, déclare Jarret.

"JavaScript est un langage plus récent, donc les applications qui y sont écrites [sont] plus récentes, et il existe une corrélation que nous avons établie dans des rapports précédents entre l'âge de l'application et le temps de correction des défauts", dit-il. "Une grande partie de l'outillage pour JavaScript [est] mature et c'est un langage bien pris en charge."

De plus, lorsqu'une vulnérabilité dans une application Java est un problème de première partie - laissant le développeur résoudre les problèmes - dans JavaScript et le framework Node.js, les vulnérabilités sont souvent un problème tiers, car la vulnérabilité s'est produite dans un composant dont dépend le logiciel.

"La façon dont vous résolvez un problème de sécurité dans une application Java est encore en grande partie [où] vous apportez une modification à un fichier de classe et vous le compilez", dit-il. "Où dans une application JavaScript, c'est plus un problème de gestion de packages. Et c'est une chose différente à apprendre pour un développeur, ce qui peut être plus facile.

Les nouveaux langages de programmation languissent

Les données du rapport mettent également en évidence la différence entre les langages de programmation que les développeurs apprennent et les langages réellement utilisés dans la majorité des entreprises. Les principaux langages et écosystèmes - Java, .NET et JavaScript - vus par Veracode ne sont pas le choix des développeurs en matière de technologie de programmation.

Alors que les frameworks basés sur JavaScript et JS - tels que Node.js, React.js et Angular - dominent les listes de technologies préférées des développeurs, Java est l'un des langages de programmation les moins appréciés, avec 54 % des répondants redoutant le langage, par rapport à avec 46% qui ont adoré, selon Stack Overflow's Sondage des développeurs 2022

Pourtant Java domine la part des applications scannées par les clients Veracode (44%) contre 14% pour JavaScript. 

De plus, le langage de programmation le plus apprécié, Rust, n'apparaît même pas dans les données de Veracode, tandis que le n°6 des développeurs, Python, ne représente que moins de 4 % des applications scannées.

Une partie de la raison de la déconnexion est que les applications établies sont écrites dans des langages de programmation établis, explique Jarrett de Veracode.

"Vous avez l'univers complet de tout le code qui existe, puis vous avez le genre de mousse sur la crête de la vague de nouveaux développements qui se produit, et c'est là que vous voyez les gens ramasser Go and Rust and Dart et Flutter », dit-il.

En raison des bases de code agrégées des applications écrites dans ces langages, cette situation ne changera probablement pas.

"Les anciennes applications ne meurent jamais, malheureusement, il y a donc beaucoup de masse critique dans les entreprises avec ces grandes bases de code Java et .NET", dit-il.

Horodatage:

Plus de Lecture sombre