Le rapport 2017 de CA Veracode sur l’état des logiciels vient rappeler que des composants open source vulnérables exposent les organisations à un risque omniprésent.
L'utilisation de composants dans le développement d'applications est une pratique courante qui permet aux développeurs de réutiliser le code fonctionnel, et ainsi d’accélérer la livraison des logiciels. Et jusqu'à 75% du code d'une application typique est constitué de composants open source.
C’est ainsi que l’utilisation de composants vulnérables dans le développement d’applications peut représenter un risque majeur par leur présence dans des volumes importants d’applications. Chef de file de cette situation dangereuse, les applications Java qui à 88%, et au travers de défauts de sécurité connus, sont sensibles aux attaques massives.
Des vulnérabilités critiques dans le code récurent
Selon le « 2017 State of Software Security Report » de Veracode, acquis par CA Technologies, environ 53,3% des applications Java reposent sur une version vulnérable des composants Collections Commons. Or, même si la menace est connue, il y a toujours autant d’applications qui utilisent ces composants vulnérables.
Autre exemple, une vulnérabilité critique dans la bibliothèque Apache Struts 2 a permis l'exécution d'attaques RCE (remote code execution) à distance à l'aide de l'injection de commandes, une vulnérabilité omniprésente dans près de 35 millions de sites rendus vulnérables ! Des cybercriminels ont su exploiter diverses applications sur leurs victimes.
Veracode constate également que les vulnérabilités continuent d’apparaître à des vitesses alarmantes dans des logiciels non testés. 77% des applications affichent au moins une vulnérabilité lors de l'analyse initiale. Fort heureusement, la situation s’améliore doucement dans certains secteurs d’activité, comme la santé, le commerce de détail ou l’hôtellerie. Mais ce sont les organisations gouvernementales qui affichent la plus forte prévalence aux vulnérabilités.
Réagir, vite…
L'utilisation de composants vulnérables fait partie des tendances inquiétantes en matière de sécurité des applications. Mais pour autant les équipes de développement doivent-elles cesser d'utiliser des composants ? La réponse est évidemment négative. Surtout que les composants Open Source et tiers ne sont pas nécessairement moins sécurisés que le code développé en interne.
Par contre, les entreprises doivent prendre cette menace plus au sérieux, utiliser des outils pour surveiller l'utilisation des composants, et disposer d'un inventaire à jour des versions des composants utilisés. Car quand un exploit devient disponible, le temps est essentiel. Selon Veracode, la plupart des attaquants exploitent les vulnérabilités dans les jours suivant leur découverte. Et seulement 22% des failles de très haute gravité ont été corrigées en 30 jours ou moins. Pour les pirates comme les hackers étatiques, ces délais sont pour potentiellement infiltrer un réseau s’entreprise…