Les entreprises délaissent Java, plombée par ses vulnérabilités
Une étude de Veracode révèle que les failles Java, ainsi que la dégradation de la qualité des développements, commencent à éloigner les entreprises du langage. Ce rapport montre également que la sécurité n’est pas forcément prise en compte systématiquement dans les phases de développement.
De nombreuses entreprises sont actuellement en train de s’éloigner de Java à cause du niveau de vulnérabilité du Java Runtime Environnement (JRE), indique une étude de Veracode (State of Software Security), un éditeur d’outils d’analyse de code statique.
Avec sa solution, Veracode a ainsi passé au crible plus de 22 000 applications soumises par ses clients - la taille de ces applications allant de quelques méga-octets à 1 ou 2 Go de lignes de code. L’examen du code, analysé par l’outil du groupe entre janvier 2011 et juin 2012, a ainsi démontré que 82 % des applications Java ainsi testées ont des problèmes de qualité de code. Contre 78 % d’applications .NET et 28 % d’applications codées en C/C++.
« De nombreuses entreprises sont en train de délaisser Java. Il existe beaucoup de failles zéro day, presque toutes permettant l’exécution de code malicieux », commente Chris Eng, vice-président de la recherche chez Veracode.
La qualité du code pointée du doigt
En mars, Oracle a publié des mises à jour de sécurité afin de combler les failles, très sérieuses du JRE, dont certaines pouvaient permettre à un attaquant d’accéder à un ordinateur sans avoir à s’identifier.
Ces failles Java avaient également été l’objet de nombreux exploits. Selon Eng, comparé à Oracle, la volonté de Microsoft de mettre l’accent sur la qualité du code fait que Redmond, finalement, met le doigt sur davantage de failles avant la distribution du logiciel. De plus, l’éditeur propose également des processus de publication de rustines et de correctifs bien définis. « Oracle soutient disposer d’une brique sécurité dans son cycle de vie des développements, mais elle ne semble pas être aussi mûre que celle de Microsoft. »
Oracle est en revanche obligé de prendre à bras le corps ces problèmes de sécurité car les navigateurs Internet sont en train de blacklister Java, commente-t-il. L’étude note également que la cause principale des failles de sécurité et des pertes de données dans les entreprises réside dans les logiciels qui ne sont pas sécurisés. 70 % des applications ne sont ainsi pas conformes aux politiques de sécurité des entreprises lors de leur première soumission aux tests de sécurité.
Même si les entreprises ont fait des efforts de correction des vulnérabilités dans leurs propres applications, l’accélération des phases de développement, devenue une clé des projets, semble contribuer à l’introduction de nouvelles failles.
Android plus sécurisé
L’étude porte également sur la qualité du code des applications mobiles. De façon étonnante, 26 % des applications Android ont dévoilé des bugs susceptibles d’entraîner des fuites d’informations (email, SMS, coordonnées GPS ou le contenu du carnet de contacts), contre 42 % pour iOS. « Lorsque vous installez Android, il vous demande d’accéder à certaines fonctions du téléphone.
Le développeur de l’application doit demander explicitement des accès alors que sur iOS, un développeur n’a pas à demander ces accès », souligne Eng. D’une façon générale, des problèmes liés au chiffrement ont été repérés sur la majorité des applications, tant Android (64 %) qu’iOS (58 %).
Le rapport Veracode prévient d’ailleurs que la mauvaise utilisation de mécanismes de chiffrements peut faciliter la tâche des attaquants et les aider à compromettre l’application. Les clés de chiffrement sont utilisées pour protéger les données, qu’elles soient stockées ou transférées.
Ainsi, dans certaines applications, les développeurs ont codé en dur une clé directement dans l’application mobile. Une fois ces clés compromises, chaque mécanisme de sécurité s’y adossant est alors rendu inefficace.
La sécurité, le point faible du développement agile ?
Enfin, concernant les méthodologies de programmation, Veracode souligne que la sécurité ne fait pas bon ménage avec les méthodes agiles.
« Nous utilisons nous-mêmes Scrum. Nous voulons également opérer des revues de code dans nos processus - pour chaque itération, nous évaluons les impacts en matière de sécurité », affirme Eng, commentant sa propre expérience dans le développement agile.
Ainsi, ajoute-t-il, chaque faille potentielle de sécurité est alors retournée aux développeurs, de la même façon que les développeurs, dans un processus agile, ont des retours d’utilisateurs en matière d’utilisabilité.