Skip to main content

5 risques potentiels des logiciels open source

Écrit par
blog hero software supply chain security

29 juin 2021

0 minutes de lecture

Les arguments en faveur des logiciels open source sont convaincants. À tel point qu’ils font désormais partie intégrante du processus de développement d’applications.

L’accès à des bibliothèques, des frameworks et des processus disponibles gratuitement permet aux entreprises modernes d’économiser le temps et le coût nécessaires pour créer une pile applicative entière à partir de zéro, d’accélérer le développement et de stimuler l’innovation.

Contrairement aux logiciels propriétaires, le code open source n’est pas obfusqué. Il est donc facile d’adapter le codebase aux besoins spécifiques de votre entreprise. De plus, tout le monde peut détecter des bugs et recommander des correctifs. Les problèmes sont ainsi souvent repérés plus rapidement, ce qui permet parfois aux logiciels open source d’être plus robustes et plus sécurisés que leurs équivalents propriétaires.

Les risques des logiciels open source

Cependant, certains risques liés aux logiciels open source doivent être pris en compte lors du choix des projets à intégrer à votre stack.

Par exemple, certains déploiements peuvent être difficiles à configurer et à utiliser en raison d’un manque de maturité ou de documentation. Vous pouvez aussi rencontrer des problèmes de compatibilité matérielle dus à un manque de robustesse. Dans certains cas, vous devrez peut-être souscrire à un service d’assistance technique coûteux auprès d’un prestataire tiers.

Cet article examine de plus près cinq domaines de préoccupation majeurs, qui représentent les risques les plus importants liés à l’utilisation de logiciels open source.

  1. Qualité des logiciels

  2. Pérennité à long terme

  3. Licences logicielles

  4. Violation du droit d’auteur

  5. Sécurité des logiciels

1. Qualité des logiciels

Les projets open source sont généralement portés par des communautés, où les logiciels sont développés, testés et améliorés grâce à la collaboration. C’est pourquoi ils sont souvent considérés comme plus fiables que les solutions propriétaires.

Cependant, rien n’est garanti, surtout lorsque les projets sont maintenus par seulement quelques personnes.

En outre, les contributeurs ont des connaissances, des compétences et une expérience variées. Certains ne peuvent pas y consacrer autant de temps que d’autres. Comme pour tout projet disposant de ressources insuffisantes, la qualité finit donc inévitablement par en pâtir.

Pour évaluer un projet open source, vous pouvez examiner des indicateurs tels que la maintenance et la sécurité. L’évaluation de ces paramètres et la comparaison de projets open source similaires vous aideront à prendre des décisions plus éclairées. Avec Snyk Open Source Advisor, trouvez et évaluez facilement le meilleur package open source pour votre projet parmi plus d’un million de packages.

Vue d’ensemble de Snyk Advisor pour le package npm React v17.0.2, avec un score de santé de 95/100, le statut de sécurité, le nombre de téléchargements et des graphiques sur la maintenance.
Vue d’ensemble de l’état du package open source React sur Snyk Advisor

Et contrairement aux logiciels commerciaux, qui sont généralement assortis d’une forme de garantie, très peu de licences open source offrent une telle protection en cas de dysfonctionnement.

2. Pérennité à long terme

De nombreux logiciels open source sont développés par un petit groupe de contributeurs. Bénévoles, ils se retrouvent souvent contraints de maintenir leurs projets tout en conservant un emploi à temps plein.

Cette situation peut conduire à l’épuisement des contributeurs open source et à la stagnation d’un projet, lorsque les contributeurs ne peuvent plus s’investir suffisamment, jusqu’à son arrêt définitif.

Si vous finissez par dépendre de composants open source qui ne sont plus maintenus, vous pourriez devoir corriger vous-même les vulnérabilités et autres défauts du code. Veillez donc à surveiller la fréquence des mises à jour des projets.

3. Licences logicielles

Même si la plupart des logiciels open source sont gratuits, presque tous sont soumis à une forme ou une autre de licence.

Il existe aujourd’hui plus de 100 licences open source approuvées par l’OSI. Une pile applicative ou un environnement de développement complexe peut donc être soumis à une multitude déroutante de contrats de licence open source, dont certains peuvent être très complexes et détaillés.

Infographie comparant cinq types de licences logicielles, du domaine public aux licences propriétaires, selon un degré de restriction croissant.
Les 5 types de licences logicielles

Les licences open source appartiennent généralement à l’une de ces deux grandes catégories : les licences permissives et les licences copyleft.

  • Les licences permissives, comme la licence MIT, vous autorisent généralement à utiliser le code comme bon vous semble. Vous pouvez également l’intégrer à vos propres applications propriétaires et distribuer vos logiciels dérivés, à condition de mentionner le créateur d’origine.

  • Les licences copyleft, comme la GNU General Public License et la Server Side Public License (SSPL), vous autorisent également à modifier le code à votre guise. Toutefois, si vous souhaitez le réutiliser et le distribuer, vous devez rendre le nouveau code source librement accessible. Cela peut poser un problème particulier si vous souhaitez intégrer des composants sous licence copyleft à votre logiciel propriétaire, car vous pourriez devoir rendre votre propre code ouvert afin de respecter la licence logicielle.

Pour éviter les problèmes de licence, vous pouvez établir une liste de composants open source approuvés et tenir un inventaire des logiciels open source utilisés dans vos systèmes. Les politiques open source sont une autre façon de veiller au respect des licences.

Parallèlement, avant de choisir les composants open source à utiliser, vous devez tenir compte des aspects techniques, notamment de l’interaction entre les différentes applications et les différents services. Gardez également à l’esprit que même si vos applications sont destinées à un usage interne, vous pourriez décider de les distribuer un jour.

Attention :

Une grande partie des logiciels disponibles gratuitement sur des plateformes de développement comme GitHub ne sont assortis d’aucune licence.

Cependant, dans de nombreux pays, le code des applications bénéficie automatiquement et par défaut d’une protection exclusive au titre du droit d’auteur. Le fait qu’il soit accessible au public ne vous autorise donc pas à l’utiliser. En d’autres termes, évitez d’utiliser ces logiciels sans en avoir obtenu l’autorisation.

4. Violation du droit d’auteur

De nombreux développeurs open source sont des amateurs. Souvent livrés à eux-mêmes, ils ne comprennent pas toujours (ou ne respectent pas) le concept de propriété intellectuelle protégée.

Cela entraîne un risque de violation du droit d’auteur : un développeur inexpérimenté ou négligent peut laisser du code propriétaire (ou copyleft) s’infiltrer dans un projet. Par conséquent, les licences open source ne couvrent pas les violations du droit d’auteur ni celles d’autres droits de propriété intellectuelle.

Veillez donc à effectuer les vérifications nécessaires avant d’adopter un logiciel open source afin d’éviter d’éventuelles poursuites judiciaires et les demandes de dommages et intérêts qui pourraient en découler.

5. Sécurité des logiciels

Grâce à sa nature collaborative et transparente, l’open source jouit généralement d’une meilleure réputation que les logiciels propriétaires en matière de sécurité des logiciels.

Lorsqu’une faille de sécurité apparaît dans une application commerciale, vous devez attendre la réaction de l’éditeur. Avec les logiciels open source, quelqu’un est souvent en mesure de la corriger immédiatement.

Ce n’est toutefois pas toujours le cas, en particulier pour les petits projets.

De plus, près de la moitié des projets open source ne disposent toujours pas de procédures d’audit de sécurité.

Vous ne devez donc pas vous fier uniquement à l’idée que tous les membres de la communauté open source examinent constamment leurs projets pour y repérer des problèmes de sécurité open source.

Par ailleurs, suivre les dernières mises à jour logicielles, les correctifs et les vulnérabilités non résolues est loin d’être facile.

Vous pouvez, par exemple, vous abonner aux flux de différentes bases de données de vulnérabilités connues, notamment à la base de données des vulnérabilités de Snyk. Mais même les services les plus importants et les plus complets, comme la National Vulnerability Database (NVD), ne répertorient pas tous les problèmes signalés.

Sachez également que ces services suspendent généralement la publication des mises à jour pendant plusieurs semaines, afin de laisser aux développeurs open source le temps d’examiner, de corriger et de tester la vulnérabilité avant sa divulgation publique.

Cette approche est logique, mais elle donne tout de même davantage de temps à tout pirate disposant d’informations privilégiées pour planifier et lancer une attaque. Et même lorsque les utilisateurs sont informés d’une vulnérabilité, certains mettent trop de temps à appliquer le correctif ou, pire encore, ignorent qu’ils utilisent le composant concerné.

State of Open Source Security 2022

A look at software supply chain complexity and risk in collaboration with the Linux Foundation.

Gardez une longueur d’avance

Malgré les avantages largement reconnus des logiciels open source, vous devez tout de même faire vos recherches pour choisir la solution adaptée à votre organisation.

Vous devez également adopter des outils pour gérer vos déploiements et bénéficier d’une visibilité claire sur votre inventaire open source. Vous pourrez ainsi suivre l’ensemble des frameworks et bibliothèques utilisés dans vos applications et respecter les exigences des licences open source.

Recherchez également des solutions qui vous aident à maîtriser la sécurité des applications, en détectant les vulnérabilités open source suffisamment tôt pour empêcher les attaquants de les exploiter.

Une gestion rigoureuse de votre utilisation de l’open source, en portant une attention particulière aux éventuels risques de sécurité et problèmes juridiques, vous permettra de profiter de tous les avantages de ce modèle tout en limitant les risques de problèmes coûteux à l’avenir.

Toutefois, sans outils de sécurité automatisée et de gouvernance, vous devrez effectuer une quantité considérable de travail manuel pour suivre la conformité des licences et les dernières vulnérabilités des packages.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis de capture du drapeau en regardant à la demande notre atelier virtuel d’initiation.