Logiciels libres et sécurité
Transcription
Logiciels libres et sécurité
Logiciels libres et sécurité Frédéric Schütz, PhD [email protected] Groupe romand des Utilisateurs de Linux et Logiciels Libres http://www.linuxgull.ch/ • “Une image négative reste liée à Linux, celle des passionés d'informatique, petits génies qui souvent se confondent avec celle des pirates informatiques. Il est donc très difficile à une banque, qui a besoin d'une image de sécurité, de dire au monde qu'elle emploie Linux.” Henri Ruch “Linux en Suisse”. Linux Loader, 7 mai 2001 • “75% des grandes entreprises suisses utilisent des logiciels Open Source tels que Linux. La pression des coûts, la sécurité et l'indépendance visàvis des fournisseurs sont considérés comme les principaux atouts.” Grégoire Baillod, “Les entreprises suisses adoptent les logiciels libres”. L'Agefi, 27 novembre 2003. • “Red Hat Linux Powers Credit Suisse First Boston's Massive Global Trading Architecture” RedHat, Inc. 8 avril 2002 Définition du logiciel libre Libre ne signifie pas gratuit 4 libertés: – Liberté d'exécuter le programme, pour tous les usages. – Liberté d'étudier le fonctionnement du programme, et de l'adapter – Liberté de redistribuer des copies – Liberté d'améliorer le programme et de publier vos améliorations Accès au code source: nécessaire, mais pas suffisant – peu utile s'il est impossible de modifier, ou de recompiler le logiciel Monde hétérogène: communautés, fondations, entreprises Logiciel libre et sécurité – Liberté d'exécuter le programme, pour tous les usages. – Liberté d'étudier le fonctionnement du programme, et de l'adapter – Liberté de redistribuer des copies – Liberté d'améliorer le programme et de publier vos améliorations Quelles sont les conséquences de ces 4 libertés sur la sécurité d'un système ? Logiciels libres et sécurité: mythes “Comparaison du nombre de problèmes de sécurité” – Quantifier la sécurité est difficile ! – Généralisation incorrecte, même si l'étude est bien faite: “Logiciel (propriétaire) A comparé à Logiciel (libre) B” devient “Les logiciels propriétaires comparés aux logiciels libres” – Les annonces de sécurité ne représentent pas des problèmes concrets ● Debian GNU/Linux inclut au moins 5 serveurs de courrier électronique mais 1 seul est installé sur un système donné Logiciels libres et sécurité: mythes Tous les problèmes de sécurité ne sont pas égaux – gravité ● faille locale ou à distance, déni de service ● faille théorique ou pour laquelle un exploit est connu ● notion relative, dépendant de la personne – temps de réaction jusqu'à la correction – les études ne prennent en compte que les problème qui ont été trouvés et annoncés publiquement Avantages de l'accès au code source Permet un audit indépendant Augmente le nombre potentiel de personnes susceptibles de trouver des bugs Possible de reconfigurer et personnaliser le code sans limites – contrôle complet des logiciels tournant sur la machine – enlever les services, programmes etc inutiles Contrôle sur les mises à jours – installation uniquement si nécessaire – modification minimum – installation quand c'est nécessaire Exemple: Interbase Base de données “InterBase” de Borland Commercialisée pendant 6 ans avec une “backdoor” – mot de passe générique permettant d'accéder à toute base de données Distribuée sous une licence libre à partir de juillet 2001 Découverte et correction du problème dans les mois suivants par des développeurs externes à Borland Meilleure surveillance du code Problème corrigé independemment de l'auteur original Un exemple: audit Cours sur la sécurité donné par Daniel J. Bernstein à l'Université de l'Illinois à Chicago Travaux pratiques: trouver des problèmes de sécurité dans des programmes libres 44 problèmes découverts et annoncés aux auteurs Ressources supplémentaires pour la recherche de bugs Ne signifie pas que l'informatique de votre entreprise va reposer sur des étudiants ! Est-ce que ça suffit ? Il n'y a pas d'informatique sans bug – systèmes de plus en plus complexes – plus de problèmes potentiels La disponibilité du code source ne fait qu'augmenter les possibilités de découvrir les problèmes Avoir le code source n'est pas suffisant – Besoin de personnes qui le lisent ! – Pas le cas pour beaucoup de petits projets – 612 personnes auditent le code source du système d'exploitation libre OpenBSD en permanence Désavantages Les “crackers” peuvent aussi étudier le code source pour trouver et exploiter des bugs – les méthodes des crackers semblent efficaces sans accès aux sources – pas d'exemple de logiciels libres dont une faille a été exploitée activement et sans être remarqué grâce au code source Revers de la médaille de la possibilité de configurer et personaliser son système sans limite – problème si l'administrateur n'est pas compétent – problème général, exacerbé par les possibilités étendues de configuration Logiciel libres et indépendance Un des plus importants arguments en faveur du Logiciel libre Sécurité non pas au niveau “attaque”, mais sur le long terme – protection de l'investissement informatique – garantie de la pérennité des données informatique Indépendance sur: – choix des mises à jour du logiciel (quand, quoi) – durée de vie du logiciel – accès aux données Logiciel libre et pérennité: un exemple RAV AntiVirus, populaire sous Linux/Unix, édité par GeCAD Racheté par une autre entreprise en 2003 Arrêt brutal de leur ligne de produit Contrats en cours honorés, mais les clients doivent prévoir de changer de logiciel. Juin 2005: Sybari Software, exactement la même histoire L'utilisateur est lié par des politiques commerciales sur lesquelles il n'a aucun contrôle Logiciel libre et pérennité: autre exemple Logiciel de sécurité Nessus (recherche de vulnérabilité), libre (licence GPL) Octobre 2005: versions futures ne seront pas distribuées en temps que logiciel libre Les versions libres le restent et peuvent être améliorées Immédiatement, 2 projets ont démarré pour continuer de développer la version libre Investissements pas perdus Dépend bien entendu d'une communauté ou entreprise. Pérennité des données: un exemple Entreprise romande proposant un logiciel complet de comptabilité et de gestion Faillite de l'entreprise, reprise de certains des modules Impossibilité pour le client d'accéder à ses données, en particulier la comptabilité débiteur En 2005: utilise toujours un programme sous DOS, soumis au bug de l'an 2000 Investissement nécessaire pour récupérer les données estimé trop élevé. Pérennité des données Un problème de formats libres plus que de logiciels libres – un programme propriétaire peut utiliser un format libre – mais par définition, un logiciel libre utilise des formats libres. Etat du Massachussets (USA), octobre 2005: – à partir de 2007, l'administration n'utilisera que des formats ouverts pour stocker ces données – formats choisis: PDF et OpenDocument – garantit que le format des documents sera toujours accessible même dans 100 ans Et si je ne veux pas avoir le choix ? “Mon entreprise n'a pas de personnel informatique dédié, et pas les compétences ou les moyens suffisants pour décider par moimême” Choix de ne pas faire de choix Possibilité d'utiliser le même modèle que le logiciel propriétaire: – contrat de support (RedHat, SuSE, Mandriva, ou société locale) – installation automatique de mises à jour – pas de personnalisation particulière Il reste néanmoins possible de changer d'avis plus tard ! Logiciels libres de sécurité NetFilter OpenBSD GPG OpenSSL Snort OpenSSH NMap Nessus ... Conclusions La sécurité est difficile à mesurer quantitativement Accès au code source permet d'augmenter le nombre de personnes qui cherchent les problèmes de sécurité – mais pas de garantie Indépendence sur le long terme – logiciels – garantie de pérennité des données Pas d'obligation d'utiliser le code source soimême