ClickCease Open Source : Une sécurité de niveau entreprise avec un code ouvert ? - TuxCare

Rejoignez notre populaire bulletin d'information

Rejoignez 4 500+ professionnels de Linux et de l'Open Source !

2 fois par mois. Pas de spam.

Open Source : Une sécurité de niveau entreprise avec un code ouvert ?

11 mai 2021 - L'équipe de relations publiques de TuxCare

Les organisations s'appuient de plus en plus sur des solutions de code source ouvert, même si elles n'en sont pas conscientes. Mais la sécurité du code source ouvert est-elle gérée de manière fiable ? Les grandes entreprises accordent à juste titre une grande importance à l'utilisation de solutions logicielles fiables et sécurisées. Souvent, les solutions logicielles les plus performantes, voire les plus sûres, sont des logiciels libres et open source.

Même lorsque les organisations paient toujours pour les logiciels, les logiciels sous licence commerciale dépendent souvent de bibliothèques à code source ouvert pour certaines fonctionnalités. Cette bande dessinée XKCD résume bien le fonctionnement de ces dépendances..

Mais la sécurité des logiciels à code source ouvert suscite des inquiétudes légitimes, notamment parce qu'il n'y a souvent aucune partie responsable en dernier ressort de la sécurité d'une solution à code source ouvert.

Il est donc peu surprenant que une enquête de la Fondation Linux de 2020 s'est efforcée d'examiner la sécurité des logiciels libres. Dans cet article, nous examinons certains des résultats de cette enquête. Nous examinerons ces résultats dans le contexte d'une question importante : les solutions open-source peuvent-elles assurer des opérations sécurisées dans l'environnement de l'entreprise ?

 

Contenu :
1. Qu'est-ce qui motive le développement des logiciels libres ?
2. Impératifs commerciaux derrière le développement des logiciels libres
3. Les incitations sont importantes, mais il n'y a peut-être personne à inciter...
4
. L'Open-Source est-il important pour l'entreprise ?
5. Prévalence de l'Open-Source dans l'environnement de l'entreprise
6.La sécurité n'est pas déterminée par le modèle de source
7. Combler les lacunes de la sécurité des logiciels libres
8. Méthodes pratiques pour améliorer la sécurité des logiciels
9. Envisager des correctifs automatiques en temps réel pour renforcer la sécurité des logiciels libres
10. Traiter le code à code source ouvert comme n'importe quel autre code

 

Qu'est-ce qui motive le développement des logiciels libres ?

 

Nous savons ce qui motive le développement de logiciels commerciaux à code source fermé. C'est le profit, pur et simple. En théorie, les fournisseurs de logiciels commerciaux investissent du temps et des efforts pour sécuriser leurs logiciels lors de leur sortie.

En outre, les fournisseurs réagissent généralement rapidement aux problèmes de sécurité informatique constatés après la publication du code. Là encore, la motivation est simple. Un logiciel sécurisé est un logiciel rentable, et aucun fournisseur commercial ne voudrait prendre des libertés avec la sécurité des logiciels, car cela entraînerait rapidement des dommages à sa réputation - et une baisse de ses bénéfices.

Les choses sont un peu plus compliquées lorsqu'il s'agit de logiciels à code source ouvert. Le développement de logiciels à code source ouvert n'est généralement pas motivé par des impératifs commerciaux coordonnés et les soumissions aux dépôts de logiciels à code source ouvert ne donnent généralement pas lieu à un paiement direct pour la soumission.

Les motivations derrière les contributions sont importantes car elles indiquent le niveau de soin apporté à la sécurité des logiciels. Le rapport de la Fondation Linux suggère trois raisons typiques pour lesquelles les développeurs contribuent au code source ouvert :

  • Un développeur a découvert un problème qu'il devait corriger dans une solution open-source dont il dépendait. Ou un développeur avait besoin d'ajouter une fonctionnalité spécifique à la solution open-source qu'il utilise.
  • Dans le cadre d'un exercice d'apprentissage, les développeurs contribuent au code source ouvert pour mettre en pratique leurs compétences et en apprendre davantage sur un projet de source ouverte.
  • Pour certains développeurs, contribuer à des projets à code source ouvert a le simple attrait d'être un travail de programmation stimulant et épanouissant.

La contribution à la sécurité des logiciels à code source ouvert ne figure pas en bonne place sur la liste. En fait, les contributeurs ont suggéré qu'ils trouvaient que travailler sur les problèmes de sécurité du code open-source est une tâche fatigante et ingrate.

 

 

Les impératifs commerciaux derrière le développement des logiciels libres

 

L'enquête de la Fondation Linux a également mis en évidence un autre moteur important du développement des logiciels libres : les exigences commerciales. Selon l'enquête, il est courant que les développeurs qui contribuent au code à source ouverte soient payés pour le faire ; 52% des développeurs ayant répondu à l'enquête ont déclaré qu'ils étaient payés pour contribuer à un projet à source ouverte.

En d'autres termes, environ la moitié des personnes interrogées ont suggéré qu'un employeur de quelque nature que ce soit - soit une institution, soit une entreprise commerciale - payait pour que le travail soit réalisé. Il s'agit d'une proportion importante de répondants, qui reflète le fait que c'est parfois un besoin commercial qui motive les contributions aux logiciels libres.

Il peut s'agir d'une nouvelle fonctionnalité, mais il peut aussi arriver qu'une organisation commerciale ait remarqué une faille dans un code à source ouverte et paie un développeur pour la corriger.

C'est de bon augure pour la sécurité des logiciels libres, mais cela suggère également qu'à moins qu'un opérateur commercial ne trouve une faille et ne soit incité à la corriger, la faille pourrait ne jamais être corrigée - étant donné que les développeurs de logiciels libres ne sont pas très motivés pour travailler sur la sécurité des logiciels libres.

 

 

Les incitations sont importantes, mais il n'y a peut-être personne à inciter...

 

Nous n'avons pas l'intention de porter un jugement hâtif. Il existe des milliards de lignes de code open source, dont une grande partie a été écrite sans aucune rémunération, car de nombreux développeurs analysent, codent et réparent par pur amour du modèle open source.

Néanmoins, il est clair que les incitations, commerciales ou autres. sont utiles pour accélérer la détection et la correction des bugs de sécurité.. Mais même les incitations pourraient ne pas être suffisantes.

Nous savons que certaines failles dans les logiciels libres peuvent être trouvées dans du code très ancien - le bogue récemment découvert dans libcurl par exemple, est vieux de plusieurs décennies. Le problème est que même avec les bonnes incitations à réparer le code, trouver les développeurs pour le faire peut être difficile.

Les projets à code source ouvert mûrissent et passent à l'arrière-plan au fil du temps, même si le code à l'origine du projet est toujours utilisé quotidiennement. Cela crée un problème pour trouver des développeurs, car les développeurs originaux sont passés à d'autres projets - laissant derrière eux un nombre limité de développeurs qui sont encore capables d'évaluer l'exactitude et la valeur du code contribué au projet.

C'est un problème commun à de nombreux projets de haut niveau qui ont du mal à trouver des développeurs ayant les qualifications nécessaires pour apporter leur contribution. c'est aussi un problème lorsqu'il s'agit du noyau Linux.. Cela signifie que certains projets ont se sont appuyés de plus en plus sur des développeurs rémunérés pour faire progresser les aspects clés d'un projet - y compris les questions de sécurité.

 

 

L'Open-Source est-il important pour les entreprises ?

 

Il est clair que la sécurité des logiciels libres est assez nuancée, mais est-ce vraiment important pour les utilisateurs professionnels ? Après tout, les grandes organisations peuvent se permettre de payer pour des logiciels sécurisés.

Là encore, c'est compliqué. Pour commencer, les capacités des logiciels à code source ouvert peuvent dépasser celles des logiciels commerciaux et c'est pourquoi les entreprises peuvent choisir une solution à code source ouvert, même si cette solution est fournie à des conditions commerciales.

Il est également vrai que les logiciels commerciaux contiennent souvent des éléments de logiciels à code source ouvert - dans les bibliothèques, par exemple. Pensez à PuTTy, un outil couramment utilisé qui est souvent inclus dans les solutions commerciales, mais qui a lui-même été victime d'un bug qui a été découvert récemment.

Ou OpenSSL, la solution SSL ouverte qui a fait grand bruit lorsqu'une faille de sécurité a été découverte... une faille de sécurité qui refuse de disparaître..

La prévalence des logiciels libres dans l'environnement de l'entreprise

 

Le fait est que même les entreprises qui s'appuient uniquement sur des logiciels sous licence commerciale sont plus que probablement dépendantes du code source ouvert quelque part.

Il ne s'agit pas d'une simple affirmation. Une étude de Gartner largement citée suggère que 95% des entreprises utilisent des logiciels open-source pour une partie de leurs opérations critiques. Les raisons en sont multiples, mais il s'agit rarement d'un effort d'économie.

Oui, les logiciels libres sont en principe gratuits, mais les solutions de niveau entreprise sont rarement gratuites, car les grandes organisations dépendent généralement de solutions libres dans le cadre d'efforts de développement intensifs - et lient souvent les logiciels libres à des contrats d'assistance coûteux.

La raison pour laquelle les entreprises choisissent parfois explicitement des logiciels libres "gratuits" est que, dans de nombreux cas, le code libre peut fournir les solutions les plus performantes.

Enfin, comme nous l'avons souligné dans la section précédente, le code source ouvert est ancré même dans une solution commerciale à source fermée. En fait, on peut affirmer que le code open-source est suffisamment répandu pour que les organisations puissent supposer que le code open-source est utilisé dans une solution, quelle que soit la source de la solution déployée.

 

La sécurité n'est pas déterminée par le modèle de source

 

Le code source ouvert est public, donc en théorie, plus de personnes peuvent et vont examiner ce code, et il y a donc plus d'opportunités de repérer les failles. La réalité peut cependant être différente, car il faut des années avant que des failles telles que le bogue OpenSSL que nous avons mentionné ci-dessus ne soient découvertes.

Et, comme nous l'avons expliqué, les développeurs de logiciels libres peuvent être peu motivés pour rechercher et trouver des failles dans le code libre.

En même temps, ce n'est pas parce que les logiciels commerciaux à code fermé sont motivés par le profit qu'ils sont plus sûrs que les codes à code ouvert. Il n'y a aucune garantie qu'un fournisseur déploiera des chercheurs en sécurité pour examiner le code à la recherche de failles et il y a toujours un risque que les équipes de projet se précipitent dans le codage pour essayer de terminer un projet avant la date limite. En outre, une fois terminé, le code peut ne jamais être examiné.

Ainsi, si le code source ouvert est en théorie plus ouvert à l'examen et donc plus sûr, rien ne garantit que les bonnes personnes l'examinent. D'un autre côté, rien ne garantit que les fournisseurs de logiciels commerciaux prennent au sérieux leur responsabilité en matière de sécurité.

Par-dessus tout, les développeurs oublient toujours des choses et font toujours des erreurs, qu'ils soient payés ou non et quelle que soit la partie qui paie le développeur.

Combler les lacunes en matière de sécurité des logiciels libres

 

Peu importe que votre organisation considère la sécurité des logiciels libres comme pire ou meilleure que celle des logiciels sous licence commerciale. Le fait est qu'il existe des lacunes dans la sécurité des logiciels à code source ouvert et que la plupart des organisations dépendent de ces logiciels d'une manière ou d'une autre. Par conséquent, la sécurité des logiciels à code source ouvert est importante, point final.

Oui, la sécurité des logiciels relève de la responsabilité de votre organisation, et nous aborderons certaines méthodes éprouvées dans la section suivante. Mais la communauté des logiciels libres et les utilisateurs de logiciels libres doivent faire les premiers pas dans la sécurité des logiciels libres. Le rapport de la Fondation Linux a fait quelques suggestions importantes à cet égard :

  • Le financement devrait être prioritaire afin que les développeurs soient incités à travailler sur la sécurité des logiciels à code source ouvert, y compris dans le cadre d'audits réguliers du code source ouvert le plus critique.
  • La Fondation Linux suggère également que le code source ouvert qui s'est révélé vulnérable à plusieurs reprises soit réécrit depuis le début. Par exemple, en convertissant le code d'un langage peu sûr pour la mémoire (comme C ou C++) en un langage sûr pour la mémoire, comme Python ou JavaScript.
  • En plus du financement, les développeurs devraient être incités par des programmes de badgeage et par le biais du mentorat pour aider à renforcer l'importance de la sécurité logicielle dans la communauté open-source.
  • Enfin, la Fondation Linux a suggéré que les fournisseurs commerciaux fassent de la connaissance de la sécurité des logiciels une condition préalable à l'embauche de développeurs de logiciels libres, tout en assurant une formation continue pour former leurs développeurs afin de fournir une base de soutien au développement de logiciels sécurisés.

À long terme, la seule façon pour que les logiciels à code source ouvert soient plus sûrs qu'ils ne le sont actuellement sera que si toutes les parties se recentrent sur la sécurité, tout en offrant les bonnes incitations aux développeurs qui travaillent sur le code. Les incitations, telles qu'elles existent actuellement, ne sont pas suffisantes.

Méthodes pratiques pour améliorer la sécurité des logiciels

 

La sécurité des logiciels à code source ouvert présente des lacunes, mais il existe un certain nombre d'outils permettant de les combler. Par ailleurs, en définitive, la sécurité des logiciels relève de la responsabilité de votre organisation. Nous vous suggérons les points suivants :

  • Appliquez systématiquement les bonnes pratiques, notamment l'authentification multifactorielle (MFA) et la sécurité renforcée des mots de passe. La gestion des informations d'identification et la gestion rigoureuse des autorisations sont également essentielles.
  • La surveillance et les tests permettront d'identifier les intrus et les failles dans votre profil de sécurité, afin de pouvoir stopper les intrusions avant qu'elles n'entraînent de graves conséquences.
  • Comprenez les outils sur lesquels vous vous appuyez - et essayez également de maîtriser les éléments de base sous-jacents, y compris les bibliothèques et les dépendances, car les risques réels sont souvent hors de vue.

Cependant, l'élément le plus important de la sécurité logicielle est sans doute le correctif. Des correctifs permanents et complets protègent vos solutions contre les vulnérabilités connues et sont tout aussi efficaces que vous utilisiez des logiciels gratuits ou des logiciels sous licence commerciale.

Cela dit, il n'est tout simplement pas facile d'appliquer des correctifs de manière cohérente. Le patching peut prendre énormément de temps et souvent les équipes se contentent de patcher les vulnérabilités les plus prioritaires - laissant de nombreuses autres failles exposées. Le fait que l'application de correctifs nécessite souvent un redémarrage ou une réinitialisation n'aide pas. Dans l'intérêt de la disponibilité, les équipes décident souvent de ne pas appliquer les correctifs dans les délais prévus, mais seulement en cas de vulnérabilité critique.

Envisager des correctifs en direct et automatisés pour renforcer la sécurité des logiciels libres

 

L'application de correctifs est essentielle mais souvent pas aussi efficace qu'elle devrait l'être. L'application en direct et automatisée des correctifs du noyau par TuxCare comblera une grande lacune dans la sécurité des logiciels libres en garantissant que vos serveurs sont systématiquement protégés contre les vulnérabilités - sans l'interruption des services qui en découle.

Les équipes de développement de logiciels libres et les contributions individuelles manquent de motivation et d'incitation pour sécuriser pleinement les logiciels auxquels ils contribuent. Et, comme nous le savons, l'erreur est humaine - des erreurs seront toujours commises.

La Fondation Linux a formulé plusieurs recommandations solides qui sont susceptibles d'améliorer la sécurité des logiciels libres, mais dans un avenir prévisible, les failles continueront d'être inscrites dans le code - pour être ensuite découvertes et corrigées. Les correctifs sont importants.

 

 

Traiter le code source ouvert comme n'importe quel autre code

En conclusion, les utilisateurs en entreprise dépendent presque toujours du code open-source, que ce soit directement ou indirectement via des bibliothèques. Bien que le code open-source ne soit pas intrinsèquement non sécurisé, il existe des considérations de sécurité uniques en ce qui concerne le code open-source.

La sensibilisation est la première étape - et l'application de correctifs en direct peut être une action de soutien utile. En d'autres termes, le code à source ouverte peut être hautement sécurisé - aussi sécurisé que le code à source fermée d'un fournisseur commercial. Tout dépend de la posture de sécurité de votre organisation.

Vous cherchez à automatiser la correction des vulnérabilités sans redémarrage du noyau, temps d'arrêt du système ou fenêtres de maintenance programmées ?

Découvrez le Live Patching avec TuxCare

Devenez rédacteur invité de TuxCare

Commencer

Courrier

Rejoindre

4,500

Professionnels de Linux et de l'Open Source
!

S'abonner à
notre lettre d'information