Les logiciels libres sont-ils vraiment sûrs?

Septembre 2002

La bonne réputation des logiciels libres en matière de sécurité semble être mise à rude épreuve depuis le début de l'été. De sérieuses failles sont découvertes dans des logiciels phares. Nous apprenions fin juin qu'un bogue dans Apache permettait à n'importe qui d'exécuter du code sur le serveur Web. Dans les jours suivants, une faille était trouvée dans le logiciel OpenSSH, qui ouvre une vulnérabilité similaire. Enfin en juillet, c'est dans la bibliothèque OpenSSL qui sert à sécuriser, entre autres, les échanges sur le Web, que l'on découvrait de multiples buffer overflows : un type de bogues utilisables de manière malicieuse par les pirates, pour prendre le contrôle à distance de votre ordinateur.

Les atouts du logiciel libre

Bien sûr, certains rétorqueront que ce scénario catastrophe est trompeur, que les logiciels libres ne sont pas moins sûrs que les logiciels propriétaires. Les statistiques sur le long terme le confirment : Apache est bien moins souvent sujet à des failles compromettantes que son concurrent IIS (Internet Information Server) de Microsoft. Les logiciels libres possèdent même quelques avantages intrinsèques pour mériter leur réputation. La disponibilité du code source n'apporte certes pas une garantie magique, mais permet un audit indépendant du logiciel. On peut d'ailleurs signaler que le dernier bogue d'OpenSSL a justement été découvert lors d'un audit conduit sous l'égide du DARPA, une agence gouvernementale américaine. Mais, dans le domaine de la sécurité, la possibilité d'examiner le code source et la parallélisation du déboguage sont les seuls atouts que le logiciel libre possède face au logiciel propriétaire. Et la communauté du logiciel libre ferait fausse route si elle se reposait sur cette petite avance.

On ne dira jamais assez que la sécurité absolue en matière informatique n'existe pas, dès lors qu'un ordinateur relié à Internet est sous tension. Mais pour réduire les risques au maximum, il faut jouer sur tous les tableaux : prévention, information et technologie. Au-delà de l'examen systématique et préventif du code source des logiciels, une information fiable et efficace constitue donc un complément indispensable. Il s'agit de réduire au maximum la fenêtre pendant laquelle des failles de sécurité ont été repérées, alors que les correctifs ne sont pas encore installés. Malheureusement, il semble que dans ce domaine les comportements de certains relèvent d'un égoïsme coupable. L'histoire du bogue découvert dans Apache est, à ce titre, édifiante. Une société spécialisée dans la sécurité, ISS, certainement très pressée de se faire facilement de la publicité à cette occasion, a rendu publics les détails de la vulnérabilité, alors que le projet Apache était déjà saisi de l'affaire et travaillait sur une nouvelle version du logiciel, résolvant notamment cette fameuse faille. Ne pas laisser un délai suffisant à des développeurs pour corriger les problèmes découverts avant leur annonce au grand public est choquant et irresponsable.

Des mises à jour trop tardives

L'éthique exige certes une transparence complète sur les bogues, mais aussi des règles comme celle du CERT. Sinon, on ouvre des boulevards aux pirates en culottes courtes. Rappelons qu'il est aussi de la responsabilité des administrateurs système d'être à l'écoute des canaux d'information dédiés à la sécurité et de réagir très vite en installant les mises à jour nécessaires. Il est alarmant de constater que, fin juin, une semaine après l'alerte, 70 % des serveurs Web utilisant Apache n'avaient pas été mis à jour. Remarquons que, du côté des logiciels propriétaires, le serveur de Microsoft n'était pas mieux loti puisqu'une étude de Netcraft montrait que chaque mois, sur un an, au moins un tiers des serveurs IIS étaient vulnérables. Quels que soient les mérites de tel ou tel logiciel, et quelle que soit la réactivité des développeurs pour corriger ces failles, ces statistiques soulignent à quel point la sécurité ne se réduit pas à l'aspect technologique.

C'est pourtant justement sur le terrain technologique que les choix qui se dessinent du côté du logiciel libre et du logiciel propriétaire - en particulier avec le projet Palladium de Microsoft - semblent radicalement incompatibles. Linux et sa galaxie de logiciels libres poursuivent l'évolution naturelle des principes fondateurs d'Internet. Des temps « anciens » où les logiciels supposaient l'honnêteté de tous sur le réseau, nous passons progressivement à une ère de défiance préalable et généralisée. Et pour survivre dans un environnement défini comme hostile, les logiciels utilisent des techniques de chiffrement. Ainsi Telnet, un logiciel de connexion distante des débuts d'Internet, faisait circuler les mots de passe des utilisateurs en clair. Un de ses successeurs, OpenSSH, dont nous parlions en introduction, utilise au contraire des algorithmes de chiffrement sophistiqués. Un des principes qui améliorent la sécurité consiste donc à introduire la cryptographie à tous les niveaux des systèmes d'information : du transport au stockage en passant par l'authentification des utilisateurs. Cela ne garantit pas l'invulnérabilité, c'est impossible, mais cela reste très efficace.

Palladium, miroir aux alouettes

Du côté de Palladium, si on promet aussi l'utilisation des techniques de chiffrement et de signature électronique, on promeut d'abord le concept d'une autorité centrale certificatrice. Il s'agit d'instaurer une sorte « d'appellation d'origine contrôlée » des logiciels et d'autoriser, sur des ordinateurs spécialement conçus, uniquement l'exécution des composants dûment certifiés. Palladium est présenté comme la solution ultime en matière de sécurité, mais c'est un trompe-l'oeil assez grossier. D'une part Palladium n'est pas nécessaire pour venir à bout des quelques classes de problèmes qu'il prétend éradiquer, par exemple les "buffer overflows". Mais surtout, Palladium n'est pas suffisant pour garantir l'invulnérabilité, puisque de nombreux types d'attaques sont toujours possibles. En particulier les fameux « vers applicatifs » que subissent sans cesse les utilisateurs du logiciel Outlook. Palladium semble vous proposer d'échanger votre liberté contre une tranquille sécurité. On voit mal pourtant le peu d'assurance que gagneront les utilisateurs du point de vue de la sécurité informatique, mais on perçoit parfaitement les libertés sacrifiées. C'est par exemple une atteinte à la liberté d'utiliser un logiciel libre, puisque Palladium interdit à chacun de recompiler un code source puis de l'exécuter.

Pourquoi Microsoft ne dit-il pas clairement qu'il espère marginaliser avec ce projet ses principaux concurrents, en l'occurrence les logiciels libres ? Mais encore, Palladium pourrait accentuer les dérives actuelles qui tendent à transformer votre ordinateur en mouchard. Les libertés individuelles, évidemment plus importantes que la sécurité informatique, sont aussi menacées. La sécurité informatique est une affaire sérieuse, que tout le monde devrait aujourd'hui prendre en compte, non seulement en termes technologiques mais aussi en conjuguant éthique de l'information et politique de prévention. Il est donc dommage de voir certains instrumentaliser ce besoin légitime de sécurité pour promouvoir des architectures menaçantes du point de vue de la libre concurrence ou des libertés individuelles.