Accueil > Protégez Votre Vie Privée > Solutions > Pourquoi l’Open Source est si important

Pourquoi l’Open Source est si important

  • par

Depuis des années, dans l’univers logiciel deux idéaux s’affrontent : celui des logiciels commerciaux, dits propriétaires et celui des logiciels libres ou open source. Bien que ces deux derniers qualificatifs recouvrent des concepts différents, ils sont souvent utilisés de manière interchangeable. Pour faire court, on qualifie de libre un logiciel que vous êtes libre de copier, d’étudier, de modifier, d’améliorer, d’exécuter et de (re)distribuer. Un logiciel open-source repose sur les principes du logiciel libre mais va plus loin encore en devant respecter un grand nombre de conditions concernant la licence et les droits attachés au programme.

A l’inverse, les logiciels propriétaires ou fermés, sont la propriété d’une personne (souvent une entreprise commerciale) qui possède alors des droits d’auteur sur le programme, et dont il consent à des utilisateurs moyennant rémunération, un droit d’utilisation, matérialisé par un contrat de licence qui précise tout ce que le client est autorisé à faire (et ne pas faire) avec.

Pour autant, que les choses soient claires, un logiciel libre n’est pas nécessairement gratuit. La confusion est née de la traduction de l’adjectif anglais “free” qui signifie à la fois “libre” et “gratuit”. Longtemps, du fait de cette association entre logiciel libre et logiciel gratuit, le logiciel libre n’a pu connaître un développement commercial.

Pour donner plus de corps au mouvement du logiciel libre et remédier à cette confusion, celui-ci a progressivement été rebaptisé Open Source, en mettant principalement en avant le partage du code et la collaboration entre les différents acteurs. Le créateur du projet GNU et père du logiciel libre Richard Stallman nous gratifie de sa définition du logiciel libre et de sa différence fondamentale avec l’open source : « l’open source est une méthodologie de développement; le logiciel libre est un mouvement social ».

Mais qu’est ce que l’open source alors ? Qu’est-ce qu’une source fermée ? Pourquoi l’open source est-elle la meilleure solution en matière de développement pour garantir la confidentialité ? Cet article court tente d’y répondre simplement.

Pourquoi nous posons nous ces questions aujourd’hui ?

Il était un jour, une agence de renseignement nationale (un genre de Bureau des Légendes), qui vivait (à peine) cachée dans un grand pays : les États-Unis. On l’appelait la NSA (pour National Security Agency). Toute seule, comme une grande, elle avait fait du monde entier son terrain de jeu. Et le jeu auquel elle jouait, était passionnant parce que seule (ou presque) à y jouer, elle gagnait à tous les coups.

D’autant plus facilement, qu’elle avait elle-même édicter les règles de son jeu. Et celui-ci était très simple : écouter, enregistrer et analyser toutes les formes de communication de tous les citoyens et entreprises de la planète. Oh, il y a bien des fois (des cibles) où c’était plus difficile que d’autres mais globalement, toutes les activités passées sur Internet, tous les appels téléphoniques, les SMS, les documents électroniques échangés, les déplacements etc. étaient surveillés, décortiqués, historisés et analysés. Du Big Data en sorte… mais en vraiment très gros !

Un travail titanesque, semblait-il, mais pas hors de portée pour une organisation au budget technologique quasi illimité, “open bar” en quelque sorte.

Et puis un jour de juin 2013, Edward Snowden, un jeune homme de bonne famille qui travaillait en son sein a été pris de remords et de doutes : “Est-ce que tout ce que l’on fait là est bien normal ? Les êtres humains et citoyens du monde n’ont-ils pas normalement droit à une vie privée ? Et celle-ci n’inclue-t-elle pas leurs communications personnelles ? Cet espionnage ne met-il pas en danger certaines personnes vulnérables dans leur pays ? N’en pouvant plus, il contacte alors deux rédactions, l’une britannique “The Guardian” et l’autre américaine “The Washington Post” et leur balance tout ce qu’il a. Bon d’accord, juste après (dans le mois qui suit), il doit courir très vite se réfugier en Russie, parce que son gouvernement n’est pas trop content de sa blagounette.

Voilà donc, après presque deux décennies d’Internet décomplexé et joyeux, que l’on croyait sécurisé avec “https”, le monde s’est réveillé un mois de juin 2013 avec l’impression de s’être fait abuser. Le monde a compris que quelque part, sans aucun consentement d’aucune sorte, une organisation gouvernementale (un État dans l’État) avait décidé de s’attaquer à tous les systèmes technologiques de la planète et aux normes internationales communes de chiffrement, démontrant par la même occasion qu’aucun logiciel propriétaire ne pouvait plus être considéré comme fiable. Même (et surtout pas) les logiciels spécialement conçus pour la sécurité !

On le sait aujourd’hui, grâce à Snowden, que la NSA a coopté ou contraint des centaines d’entreprises technologiques à intégrer des portes dérobées dans leurs programmes, ou à affaiblir la sécurité afin de lui permettre d’y accéder. Les entreprises américaines et britanniques sont les plus suspectes, mais les rapports indiquent clairement que les entreprises du monde entier ont accédé aux demandes de la NSA et des autorités gouvernementales.

Le problème avec les logiciels propriétaires est que les États peuvent approcher et convaincre les seuls développeurs et propriétaires de jouer “collectif”. Et comme, par définition, leur code source est gardé secret, il est donc facile d’ajouter ou de modifier du code sans que personne ne s’en aperçoive.

Qu’est-ce que l’open source ?

En résumé, un logiciel open source est un logiciel dont le code source a été rendu public par celui qui détient les droits d’auteur. Sous une véritable licence open source, le logiciel est développé en collaboration, et d’autres programmeurs peuvent regarder, modifier ou utiliser le code à leurs propres fins. Ce modèle open source “pur” est souvent appelé FOSS (Free and Open Source Software) où est bien précisé le caractère “libre” du programme.

Parfois vous pouvez trouver une variante de l’open source dite “source disponible”. Celle-ci signifie que vous pouvez inspecter, auditer le code, vérifier qu’il fait bien ce qu’il dit vouloir faire et rien de plus mais aucune autorisation n’est accordée pour modifier ou utiliser autrement le code.

Qu’est-ce qu’une source fermée ?

La plupart des logiciels sont écrits et développés par des sociétés commerciales. Naturellement, ces entreprises sont désireuses de ne pas voir d’autres personnes voler leur travail ou leurs secrets commerciaux, de sorte qu’elles cachent leur code à l’abri des regards indiscrets en utilisant le chiffrement, et toute tentative d’utilisation ou de modification du code sans autorisation entraînera des poursuites judiciaires et son lot de dédommagements financiers.

Le logiciel libre vient s’opposer aux logiciels propriétaires à source fermée qui imposent des limitations de licences aux utilisateurs. L’objectif du libre est d’offrir plus de libertés aux utilisateurs individuels ou aux collectivités quant à l’utilisation des logiciels.

Alors quel est le problème ?

On peut tout à fait comprendre que des entreprises, dont le modèle économique est mercantile, choisissent de mettre à l’abri des regards des concurrents, le fruit de leur dur labeur. Encore une fois, tout cela est parfaitement compréhensible. En revanche, lorsqu’il s’agit de la confidentialité et de la sécurité des données, cela pose un problème majeur.

Avec les révélations de Snowden, les scandales liés aux fuites et à l’utilisation des données privées et l’échelle planétaire de ces évènements, il ne peut plus être simplement question de confiance, entre les citoyens et les créateurs des programmes qui sous-tendent toutes les activités électroniques.

Si personne ne peut voir les détails de ce que fait un programme, comment pouvons-nous savoir qu’il ne fait rien de malveillant ? Fondamentalement, nous ne pouvons pas. Nous ne pouvons plus. Faire uniquement confiance à l’entreprise impliquée dans la création d’un logiciel, avec tout ce que la technologie permet de faire aujourd’hui pour dissimuler du code malveillant, c’est juste une grave erreur. Et comme dit l’adage : “la confiance n’exclut pas le contrôle” non ? Et je dirais même que le contrôle renforce (normalement) la confiance.

Pourquoi l’open source est-il la meilleure solution ?

Si le code est open source, il peut être examiné et audité de manière indépendante par toute personne qualifiée pour le faire, afin de vérifier qu’il n’y a pas de portes dérobées, de vulnérabilités ou autres problèmes de sécurité. L’Open Source n’est pas une solution parfaite, mais c’est le seul moyen de vérifier que le logiciel fait exactement ce qu’il est censé faire.

Même si le code n’a pas été audité, le fait même qu’il soit librement disponible pour être audité indique clairement qu’on peut lui faire confiance, car il est peu probable que les développeurs incluent un code malveillant et le laissent ensuite ouvert à la découverte de quiconque se soucierait de le consulter.

Sans doute pas une solution parfaite

Malheureusement, il y a un nombre limité de personnes ayant à la fois les compétences et le temps pour auditer les logiciels libres (et de le faire généralement gratuitement), ce qui signifie que la grande majorité des programmes open source n’a pas été auditée.

Ce problème est aggravé par le fait que de nombreux programmes open source sont extrêmement complexes, contenant des milliers et des milliers de lignes de code, de sorte que même s’ils ont été audités, il est tout à fait possible que les auditeurs soient passés à côté d’un problème (surtout si un code malveillant a été volontairement dissimulé).

L’open source ne garantit donc pas qu’un programme est “propre”, mais c’est néanmoins la meilleure garantie que nous ayons qu’il puisse l’être. L’alternative est le code source fermé, qui n’offre lui aucune garantie.

Toujours vérifier les programmes open source

L’open source est donc idéal pour la sécurité. C’est vrai. Mais comment pouvez-vous être sûr que le programme open source que vous venez de télécharger n’a pas été trafiqué d’une manière ou d’une autre ?

Cela peut sembler paranoïaque, mais en février 2016, par exemple, le site Web de l’une des versions les plus populaires du système d’exploitation open source Linux, Linux Mint, a été piraté et une version compromise de l’OS a été rendue disponible au téléchargement. Les hackers ont fait un ISO modifié de Linux Mint, avec une porte dérobée, et ont réussi à piraté leur site web pour que les utilisateurs téléchargent cette version infectée.

Les images ISO Linux piratées ont installé le système d’exploitation complet avec “Tsunami” cheval de Troyes avec une porte dérobée IRC (Internet Relay Chat), qui a permis aux attaquants d’accéder au système des utilisateurs via les serveurs IRC. La menace est donc bien réelle.

En l’occurrence, dans ce cas particulier, si les utilisateurs dupés avaient pris la peine de vérifier le hachage MD5 du fichier, ils auraient rapidement identifié la tromperie, mais rares sont celles et ceux qui vont entreprendre de telles vérifications à chaque téléchargement d’un programme open source.

Le mieux en revanche pour les développeurs, est de signer numériquement leur logiciel afin que les utilisateurs puissent vérifier l’origine d’un fichier (les développeurs de Mint ont été laxistes à cet égard, car leur logiciel n’était pas signé numériquement, et même la fonction de hachage MD5 qui a été utilisé est connu pour être cassée)

Malheureusement, là aussi, la vérification des signatures numériques est quelque peu pénible, mais elle est nécessaire si vous vous souciez de la sécurité. Idéalement, tous les logiciels devraient être signés et vérifiés numériquement, mais comme le code open source peut être librement modifié par n’importe qui, il est plus facile à manipuler que le code source fermé. Il est donc particulièrement important de vérifier les programmes open source.

Conclusion

L’Open Source n’est pas une solution parfaite, mais elle fournit actuellement la meilleure et seule garantie possible que les logiciels sont fiables. L’alternative est la source fermée, qui ne fournit aucune garantie, autre qu’une foi aveugle dans l’entreprise technologique. Sur ce point, les entreprises du secteur nous ont (dé)montré, à de multiples occasions, combien elles ne méritaient absolument pas notre confiance, quand il s’agit de notre vie privée et de la confidentialité de nos données.

Encore une fois, la meilleure réponse à ce problème de confiance est d’utiliser des logiciels libres open source développés conjointement par de multiples personnes sans aucun lien entre elles. Un code source, à la disposition de tous pour être examiné et évalué, réduit au minimum les chances que quelqu’un l’ait trafiqué.

L’open source reste la formule logicielle la plus fiable et la plus inviolable du marché. Si vous vous souciez vraiment de la confidentialité et que vous voulez protéger votre vie privée en ligne, alors vous devriez essayer de l’utiliser exclusivement.