28th nov 2007
Pourquoi?.. il y a moins de virus sur les systèmes Libres?
Pour promouvoir nos systèmes d’exploitation Libres, un libriste mettra notamment en avant la quasi-inexistence des virus. A cela un ”windowsien” convaincu, qui ne supporte pas cette affreuse vérité, défendra son bon vieux Windows en argüant que la raison est uniquement qu’il n’y a pas suffisamment d’utilisateurs sous Linux, donc aucune cible intéressante pour les développeurs de virus. En général pour ne pas rentrer dans des explications inintéressantes, cela ne me dérange pas d’être d’accord. Après tout, qu’importe la raison? Les faits à l’heure actuelle sont là: sous Linux, vous n’aurez plus à vous préoccuper de ce qui est presque devenu comme une normalité sous Windows (c’est un peu comme si vous viviez dans un pays où sortir dehors est dangereux pour sa vie et qu’on vous disait que le pays voisin n’a pas de meurtrier uniquement parce qu’ils sont peu nombreux. Qu’importe la raison, ça vaut le coup de déménager, non?).
![]()
Content Providers(s): CDC/ Dr. Erskine. L. Palmer; Dr. M. L. Martin Creation Date: 1981 Photo Credit: Cynthia Goldsmith
Domaine Public
Néanmoins Greg m’a montré l’autre jour ce texte tentant d’expliquer maladroitement que la vraie raison serait la formidable sécurité des systèmes Unix (et ses descendants comme Linux). Il me demandait mon avis sur la pertinence du texte. Finalement ça m’a fait bondir plus que la simplification “il n’y a pas d’utilisateur, donc pas de virus”, car — bien que les deux raisons soient aussi absurdes (du moins données en argument majeur) — je préfère que ce soient mes détracteurs qui se décrédibilisent avec leurs explications poussives que des co-utilisateurs. En effet si on se met à rentrer dans des explications techniques, mais qu’elles sont foireuses, ça risque de faire plus de mal que de bien.
Donc comme après tout, sur ce journal, j’ai le temps (j’espère que vous aussi), j’ai pensé pouvoir proposer mon analyse sous la forme d’une liste non-exhaustive de raisons réelles de l’absence de virus. Par là-même, j’inaugure cette section “Pourquoi?” car on me pose régulièrement certaines questions, donc autant les compiler dans une catégorie du journal.
Moins d’utilisateurs
Il s’agit en effet du premier argument des afficianados de Windows. Et après tout, c’est vrai et c’est un très bon argument, merci. Donc je le reprends. Moins d’utilisateurs implique moins de cibles. Or les développeurs de virus veulent pouvoir toucher un maximum de personnes. Ils préféreront donc s’attaquer au système d’exploitation qui a le monopole: Windows. Bon point pour nous!
La diversité
Et là, l’air de rien le point précédent nous entraîne vers l’un des cœurs du problème: le monopole! Il est bien trop aisé pour quelqu’un de malveillant de s’attaquer au point commun de la majorité: tout le monde utilise le même système, les mêmes logiciels… Sur l’internet moderne, beaucoup sont des clônes logiques. Or l’une des choses que prône justement le Libre est la diversité.
Vous pourriez utiliser un système Libre (GNU/Linux, GNU/Hurd, BSD, et leurs innombrables variantes…) ou propriétaire (Windows, Mac OSX, les innombrables Unix…), un navigateur web Libre (Firefox, Galeon, Konqueror…) ou propriétaire (IE, Opera, Netscape…), un client email Libre (Thunderbird, Kmail, Claws mail, Sylpheed, Evolution…) ou propriétaire (Outlook…), etc., si la véritable compétition saine et coopérative existait dans le monde informatique, les virus auraient un impact quasi nul. En effet le principe technique d’un virus est de s’attaquer à une faille d’un système ou d’un logiciel. A partir de là, ces virus gagnent en efficacité en même temps que la faille est plus répandue, afin qu’ils puissent aisément trouver un ordinateur “voisin et similaire” pour se propager, de faille en faille, d’ordinateur à ordinateur. Néanmoins si l’ordinateur voisin n’a pas le même système/logiciel, le virus se retrouve bloqué! Or que se passe-t-il de nos jours? La plupart des ordinateurs ont une majorité de logiciels en commun (les produits Microsoft en particulier: le système Windows, les logiciels IE, Outlook Express, Live Messenger, MS Office; et les gens se fournissent chez les mêmes fournisseurs de services centralisés: MSN, Google, Yahoo, etc.). En conclusion un virus bien fait trouve toujours de quoi continuer son chemin et infecter un maximum de personnes.
Dans un monde informatique viable, il se retrouverait très vite dans des culs-de-sac, un monde où tout ordinateur peut communiquer avec un autre, en ayant pourtant des produits entièrement différents! C’est la magie de la diversité et l’une des raisons pour laquelle il est important de créer cette diversité, de ne plus accepter de suivre le troupeau et faire comme tout le monde “parce que c’est sûrement mieux si l’autre le fait” et de rétablir la concurrence loyale. Avec les systèmes GNU/Linux et autres systèmes Libres, c’est encore plus magique car même si la masse critique d’utilisateurs était atteinte[1], si tout le monde utilisait Linux, il resterait énormément de diversité. Le système lui-même existe sous d’innombrables formes[2], tout en restant compatible. Et il y a un choix, de qualité, impressionnant pour tout type d’application. Au final les choix dépendent des goûts, plus des monopoles. Les virus quant à eux sont piégés.
Systèmes sécurisés
Il est vrai que les systèmes Unix et Linux sont bien plus sécurisés que les systèmes Windows. Néanmoins il faut mettre un bémol sur l’argumentaire de l’article de Pierre Jarillon: aucun système n’est infaillible et Linux est loin de l’être aussi. En outre un facteur très important dans le monde des logiciels malveillants (dont les virus font partie) est le facteur humain, pas toujours uniquement technique. A savoir que la faille ultime dans énormément de virus ou assimilé (”vers”, “chevaux de troie”, etc.) consiste à profiter d’une non-connaissance de l’informatique (normale chez beaucoup d’utilisateurs). Ainsi vous recevez un mail que vous croyez provenir d’un ami, vous ouvrez une pièce jointe… et c’est le drame. Kevin Mitnick, l’un des “pirates informatiques” les plus connus du monde ne vous dira pas le contraire, lui qui piratait les plus grands organismes en basant une grande partie de ses attaques sur du “social engineering” (exploitation de failles humaines). Il a sorti d’ailleurs quelques ouvrages assez intéressants à lire sur le sujet.
Ceci dit, il est sûr que d’une façon générale, vous avez plus de barrières de sécurité sur un Linux. Par exemple un fichier ne peut être exécuté simplement en fonction de son extension (.exe, .bat, .vbs, etc. sous Windows), mais demande normalement une procédure d’exécution explicite que la plupart des utilisateurs ne comprendraient pas.
En outre la protection système/utilisateur protège le système, mais également le matériel. Et en utilisation normale si chaque membre de la famille a un compte sur l’ordinateur familial, seule la personne infectée peut perdre ses données, mais le cœur du système peut tout à fait rester sain ainsi que les données de toute autre personne qui a son propre espace.
Néanmoins dans un monde où l’informatique personnelle prend de plus en plus de place, les données personnelles deviennent plus importantes que la sécurité des systèmes, donc ces arguments perdent finalement beaucoup de valeurs. C’est pourquoi ce point d’argumentation qui semble primordial ne peut être le point majeur (quoique important à considérer car améliorable). La diversité reste toujours ce point majeur et le meilleur garant de la sécurité de toutes les données.
Rapidité des corrections
Un point qu’expose souvent la fondation Mozilla pour se comparer à Microsoft vis à vis de leurs produits concurrents (les navigateurs Firefox et IE) concerne la rapidité de correction des bugs et autres failles. Or il se trouve que ce point en faveur de Mozilla concerne en réalité tout le logiciel Libre. Dans un tel système communautaire, toute faille qui pourrait se révéler un point d’entrée important et dangereux pour du code malicieux est immédiatement auscultée, triturée et traitée par des centaines de docteurs, des spécialistes de la chirurgie du code sécuritaire, à toute heure du jour et de la nuit, dans tout pays, sans limitation de temps ou d’espace. Nous pourrions appeler les libristes: les Programmeurs sans Frontières. Nous sommes dans un monde connecté où, si les utilisateurs insouciants arrivaient à se rendre compte du modèle communautaire qui s’est créé autour du Logiciel Libre, ils en auraient le vertige. Je conseille à toute personne curieuse la lecture de l’intéressante étude “La cathédrale et le bazaar“, d’Eric Steven Raymond, qui explique ce phénomène, vécu par un informaticien qui a un jour tenté le pas du monde propriétaire vers le monde Libre et n’est depuis jamais revenu en arrière[3]. C’est un texte compréhensible par tous et édifiant. Le fait est donc que toute faille suffisamment importante pour mettre en danger une grande quantité de machines aurait une durée d’existence qui se compte en heures peut-être et une correction stable serait alors disponible dans les jours qui suivent. En fait je pense même, sans exagérer, que plus la faille est dangereuse, plus elle mettra de développeurs sur le pied de guerre, et donc moins la faille aura de chance de servir à un virus efficace.
On peut donc en déduire cette loi particulièrement étonnante dans le monde du Logiciel Libre:
Plus le virus est dangereux et contagieux, moins il fera de dégâts et moins il se répandra. Des victimes (informatiques) graves peuvent être à déplorer mais jamais des hécatombes.
Au final on rejoint même le point sur la diversité encore une fois, puisque les nombreuses corrections font que de nombreuses versions d’un logiciel existe (plus que les logiciels propriétaires qui ont en général une périodicité de “patch” bien plus longue). Et parfois des différences mêmes minimes peuvent invalider une faille. Donc même pour un logiciel présent sur un nombre considérable de machines, rien ne garantit qu’il s’agit de la même version sur toute machine, donc qu’une faille commune existe partout.
Le besoin de reconnaissance
Ce point d’étude d’une catégorie sociale est délicat… déjà parce que je ne suis pas sociologue ou psychologue. Néanmoins un fait évident est que beaucoup de personnes cherchent une forme de reconnaissance, et les développeurs (de virus notamment) n’échappent pas à la règle, contrairement à ce qui est dit dans l’article de Pierre Jarillon. Ils se font connaître sous des pseudos et seulement dans des sphères très limitées, néanmoins qui veut rester constamment anonyme dans son œuvre? Pourquoi? Parce que ce sont des gens potentiellement doués, du moins ingénieux et qu’ils veulent le prouver probablement, même si ce n’est que vis à vis de leurs amis. Or dans le monde propriétaire, ils n’ont pas de code source et quand ils trouvent une faille dans un logiciel, ils pourraient en parler, mais ont rarement de la reconnaissance (je n’ai jamais entendu parler d’un communiqué de presse remerciant des utilisateurs qui ont aidé à débugguer un produit par exemple, et encore moins en les nommant), voire parfois ont des ennuis[4]. Donc quitte à être considéré comme des hors la loi, beaucoup se disent probablement “allons jusqu’au bout et attaquons ceux qui nous attaquent“. Dans le Libre, les mêmes développeurs auraient accès au code des produits, sont autorisés et même encouragés à y chercher des failles et s’ils en trouvent, ils vont être amenés à deux choix:
- profiter de leur découverte pour créer un virus, en espérant que cela touche un maximum de personnes et qu’ils puissent se glorifier auprès de leurs amis si leur virus devient connu; tout cela en connaissant les risques légaux, et en sachant tous les points précédents, à savoir que la faille visée n’est sûrement pas sur toutes les machines et que dès que le virus sera connu, des centaines de développeurs seront en train de corriger la faute et que l’épidémie sera endiguée à peine débutée;
- corriger le bug, avoir son vrai nom qui apparaîtra dans le code et sur le site du logiciel, être reconnu, voire connu si on contribue régulièrement, et s’il s’agit de contributions majeures, qui sait, avoir éventuellement son nom dans des communiqués officiels avec de chauds remerciements.
Je vous laisse donc voir ce que vous choisiriez. Je n’insinue pas que le premier cas est improbable. Pour certains qui ont le goût du risque, cela peut être un pari à prendre. Ils peuvent vouloir prouver être meilleurs que les centaines de développeurs émérites qui vont tenter de les contrer; ou encore que les petits cons dans mon genre ont tort et qu’ils sont capables de créer de véritables raz de marée dans le monde Libre; voire qu’ils sont capables de créer des virus totalement incontrôlables et rapides à se propager et que personne n’arrive à arrêter pendant plusieurs jours, voire semaines. Ceci dit j’ose croire que des personnes arrivant à ce genre de réflexion ne doivent pas être très malins s’ils ne savent prendre la mesure des choses et donc que leurs virus seront de piètre qualité.
On pourrait résumer par “le Libre, c’est cool, on va les aider; le proprio, ils nous décrient, on va leur montrer qu’ils ont de quoi avoir peur”, ou encore “rendons à autrui ce qu’ils nous donnent: de la confiance ou de la peur?”.
En tous les cas, être libriste, ce n’est pas forcément être un grand gentil rêveur, altruiste et généreux. On peut tout à fait être libriste et ne vouloir que de la gloire ou être totalement égoïste. Je pense que beaucoup le sont. C’est donc un mouvement qui permet à ces gens là aussi d’évoluer agréablement tout en bénéficiant à l’ensemble de la communauté. Finalement c’est une logique où tout le monde y gagne et qui sait utiliser le meilleur de chacun, même à partir du pire.
Conclusion
Je pense qu’il existe d’autres raisons. Quoiqu’il en soit, ce n’est pas un sujet simple et sûrement pas résumable en “peu d’utilisateurs” ou “trop bien sécurisé” (même si les deux sont vrais!), deux points intéressants mais loin d’être les raisons majeures selon moi. Des 5 points cités, je pense que les deux majeurs sont le 4/ (réactivité des développeurs) et le 2/ (diversité), puis le 5/, le 3/ et enfin le 1/. Au final tout le contraire des “présupposés”.
Pour conclure je dirais qu’il existe un moyen d’avoir des réponses complémentaires bien plus intéressantes: faire une étude auprès des communautés de développeurs de virus et produits malicieux directement; les interviewer, leur demander pourquoi ils ciblent Windows et non Linux, etc. Après tout ce sont les vrais concernés donc leurs réponses sont les meilleures venues pour avoir la vérité. Si une telle personne passe, je suis partant pour qu’il donne son opinion sur le sujet.
Quoiqu’il en soit, ce serait un sujet de socio plutôt intéressant mais certes difficile à mettre en œuvre car il n’est pas aisé de contacter de telles personnes, encore moins d’être sûrs qu’ils sont qui ils prétendent être. En attendant, cela reste un mystère. Mais par pitié, ce sujet, comme d’autre, est compliqué, donc arrêtons de le simplifier pour avoir à tout prix raison, car ça pourrait se retourner contre nous.
Et après tout qu’importe, je vous l’ai déjà dit: chez nous, vous n’aurez pas à vous préoccuper des virus et autres horreurs que vous vivez chez le monopoliste, alors… qu’attendez-vous pour nous rejoindre?
[1] C’est à dire si le nombre d’utilisateur devient une cible “intéressante”, et donc le point 1/ invalidé.
[2] Enormément de “distributions”, qui correspondent au même système mais avec une approche de gestion différente: Red Hat, Suze, Mandriva, Debian, Ubuntu, Gentoo, Arch, etc.; mais également des “cœurs” — le noyau — différents, etc.
[3] Au point qu’il créera le mouvement Open Source sur les bases du mouvement du Logiciel Libre.
[4] Ce n’est plus de la non-reconnaissance, mais carrêment de l’ingratitude parfois: lire le cas des informaticiens qui ont prouvé que la carte vitale n’était pas sécurisée ou encore de celui qui a prouvé que les cartes bancaires étaient falsifiables. On peut aussi considérer la réaction de Cisco face à cet informaticien qui trouve une faille majeure dans leurs routeurs.
Posted by Jehan under Le Libre, Pourquoi?, Technologies | 12 Comments »
