93 % des entreprises et des développeurs exploitent des composants tiers ou open source qui intègrent le code de leurs applications, avec une moyenne de 73 composants par application.
Après la polémique soulevée par notre article sur les risques portés par les développeurs avec les composants open source, faisons le point sur cette pratique commune dans le domaine du développement d’applications.
Notre précédant article - lire « Les développeurs mettent les applications en danger via les composants open source » - portait sur les pratiques sécuritaires à risque des développeurs sur les composants logiciels open source. Les chiffres exposés étaient extraits d’une étude menée par Vanson Bourne pour CA Technologies.
En particulier, sur les 400 développeurs interrogés, seulement 53 % ont indiqué qu’ils tiennent un inventaire à jour de leurs composants ; 52 % qu’ils mettent à jour leurs composants lorsqu’une faille de sécurité et annoncée ; 25 % qu’ils procèdent à des tests de vulnérabilités de leurs composants logiciels lors de nouvelles versions ; et 25 % ont admis que leur organisation ne dispose pas d’un AppSec, un programme de sécurité des applications.
Qui utilise des composants ?
L’usage de composants propriétaires ou open source est une pratique courante pour 93 % des entreprises et de leurs développeurs :
- 63 % utilisent des composants commerciaux (propriétaires) et open source ;
- 18 % n’utilisent que des composants propriétaires ;
- 12 % n’utilisent que des composants open source ;
- 5 % n’en utilisent aucun ;
- 2 % ne savent pas.
Notons que chez les 63 % de développeurs qui exploitent des composants propriétaires et commerciaux, 42 % de ces composants sont open source. Il faut s’attendre à ce que cette proportion augmente.
On peut légitimement s’interroger sur les motivations de ces usages. En se posant d’abord la question de savoir pourquoi certains développeurs ne les utilisent pas…
- Pourquoi n’utilisez-vous pas de composants propriétaires ?- 44 % c’est la politique de l’entreprise ;
- 37 % pour le coût (prix des composants) ;
- 28 % pour la sécurité.
- Pourquoi n’utilisez-vous pas de composants opens source ?
- 49 % pour la sécurité.
Cette réponse suggère un manque de connaissances et de sensibilisation sur la façon dont les composants open source peuvent être sécurisés et comment un partenaire de confiance peut être utile dans ce processus.
Si cela ne tenait qu'à eux, 91% des développeurs confirment qu'ils utiliseraient des composants, ce qui suggère leur préférence pour l'utilisation des composants et du code existant.
Pourquoi utiliser des composants tiers ?
La place des composants tiers dans le développement des logiciels n’a cessé de progresser au fil des années. Aujourd’hui, en moyenne une application intègre 73 composants. Pourquoi ?
- 53 % - C’est une best practice ;
- 51 % - Ils permettent de travailler plus vite ;
- 47 % - Ils offrent des fonctionnalités plus avancées que le développeur ne peut créer lui même ;
- 47 % - C’est dans la politique de l’entreprise ;
- 16 % - C’est dans les habitudes ou les préférences du développeur ;
- 2 % - Ne sait pas.
Les priorités dans le choix des composants
Qu’elles sont les considérations prises en compte en priorité lors de l’adoption de composants tiers, propriétaires ou open source ?
- 62 % - Fonctionnalités
- 48 % - Performance
- 44 % - Coût
- 42 % - Vulnérabilités de sécurité connues
- 40 % - Fiabilité
- 24 % - Adoption et support de la communeauté
- 24 % - Licences
- 15 % - Bugs connus
- 1 % - Ne sait pas
La question de la sécurité
L’arrivée d’une nouvelle build ou version d’un composant devrait offrir la possibilité de vérifier les vulnérabilités. Cependant, ce n'est qu'environ un développeur sur cinq qui dit que son organisation teste et/ou vérifie les vulnérabilités des composants à chaque build (17%) et/ou chaque release (23%). Cette pratique est particulièrement inquiétante lorsque l'on se souvient que les organisations publient du code pour les clients ou la production en moyenne 3 fois par semaine !
- Pourquoi et quand mettre à jour les composants ?
- 52 % - Quand une nouvelle faille de sécurité est annoncée ;
- 42 % - Lors d’une nouvelle fonctionnalité ou d’un patch sur un bug :
- 27 % - C’est contrôlé par la politique corporate ;
- 21 % - Démarche technique suivie par l’équipe ;
- 18 % - Quand j’y pense… ;
- 12 % - A chaque mise à jour ;
- 5 % - Seulement lors d’une release majeure ;
- 0 % - Jamais ;
- 3 % - Ne sait pas.
Le scénario idéal serait que les organisations tiennent un inventaire clair des composants et le vérifient à chaque publication. Mais, il semble que nombre d’entre elles ne parviennent pas à leurs fins et se retrouvent à ne faire ni l'un ni l'autre !
Il n’est pas trop tard !
L’étude conclut en indiquant : « Il n'est pas trop tard pour les organisations, quelles que soient leurs méthodologies actuelles, leur infrastructure ou leurs vulnérabilités existantes. (…) La sécurité est juste une extension et une progression naturelle à réaliser. Si une organisation est prête à accorder la priorité à la sécurisation de son logiciel (...), elle peut se soustraire aux menaces, dépasser la concurrence et endurer le legacy de son secteur ».
Source : étude « The trials and tribulations of component security; are organizations at risk? » menée par Vanson Bourne pour CA Technologies et Veracode
Image d’entête 538532357 @ iStock mangsaab