Pour qu'un virus/trojan/bestiole puisse infecter une machine, (Mac ou PC) il faut les conditions suivantes :
- qu'il arrive sur le poste d'une manière ou d'une autre.
- qu'il puisse s'exécuter.
- (optionnellement) que le système soit assez poreux pour que le virus puisse accéder à des fichiers systèmes afin de s'y maintenir efficacement.
Maintenant voyons ce qu'il en est sur les deux OS qui nous intéressent.
Sur Windows :
- qu'il arrive d'une manière ou d'une autre :
C'est essentiellement le cas en pièce jointe par email, mais aussi grâce à Internet Explorer et ses "extras" à la con, du genre les HBO (Helper Brower Objects), contrôles ActiveX, et autres. Et cela sans meme parler des failles de sécurité (IFRAME, JPG, mauvaise validation des entrées, mauvaise gestion des "zones" - qui est déjà une erreur de conception en soi-, etc).
Par ailleurs, il y a les ports ouverts sur le système (137,139,5000 et autres RPC), dont Windows peut difficilement se passer mais qui sont pourtant très vulnérables. Iil faut donc obligatoirement les filtrer avec un pare-feu. Sans filtrage, n'importe qui peut choper ces services qui permettent d'accèder au disque dur à distance parce qu'ils sont faits pour ça (partages Netbios) ou parce que Windows est truffé de failles de sécurité (failles LASS, RPC, etc... à répétition).
- qu'il puisse s'exécuter :
Qu'on le veuille ou non, le premier risque de sécurité dans ce domaine, c'est l'utilisateur : les 3/4 des virus sont exécutés "à la main" par des débiles qui cliquent dessus pour voir ce qu'on leur a envoyé. Contre ceux-là, on peut rien faire.
Mais sous Windows, l'exécution peut aussi être automatique grâce à Internet Explorer et Outlook (le couple maudit... rien qu'en utilisant Firefox / Thunderbird ou, mieux Firefox/TheBat, on élimine bien des soucis sous Windows). On a ainsi connu les virus qui s'exécutaient à la prévisualisation du mail, sans même l'ouvrir, ceux qui s'exécutaient à sa lecture (sans pièce jointe), etc... Par ailleurs, Internet Explorer dispose d'une bonne demi-douzaine de façon de faire exécuter du code sur le PC, à distance, et on en découvre de nouvelles chaque mois.
Il reste enfin les failles de sécurité dans les services cités plus haut (LASS, RPC, UPnP, etc...) qui permettent non seulement de télécharger un code malicieux sur le PC depuis n'importe où sur Internet, mais aussi de le lancer.
- que le système soit assez poreux pour que le virus puisse accéder à des fichiers systèmes afin de s'y maintenir efficacement.
Windows n'a jamais été conçu pour être un OS sécurisé, c'est même un vice-président de Microsoft qui l'a reconnu (ils ne s'en vantent pas trop de cette déclaration). Bref, sous Windows, même un simple utilisateur sans droit peut ruiner le système. Windows n'est pas du tout un OS étanche et multi-utilisateurs. De la bouche même d'un pote admin système Windows chez une grooosse boîte : "Windows, de toute façon, si on sécurise trop pour que les utilisateurs ne puissent pas foutre le bordel, ben le système ne tourne plus".
Et donc, sous Windows, un virus qui a les mêmes droit que l'utilisateur qui vient de l'exécuter, pourra mettre le même bordel. Et rester durablement sur le système (merci la base de registre, entre autres).
Sur MacOS X :
- qu'il arrive d'une manière ou d'une autre :
Un virus pour Mac pourra lui aussi bien sûr arriver en pièce jointe par email, et l'utilisateur pourra toujours cliquer dessus s'il est assez stupide. De ce côté là, rien ne change.
En revanche, pour ce qui est d'arriver tout seul, il y a beaucoup moins d'opportunités. Safari n'a connu qu'une faille de ce genre, et il ne supporte pas de conneries telles les ActiveX et autre HBO, et il ne traite pas non plus plusieurs "zones" de sécurité comme Internet Explorer (un principe super dangereux à la base parce que trop complexe à gérer).
Du côté des services par défaut, il n'y aucun port ouvert sur l'interface WAN dans une installation par défaut de MacOSX, contrairement à tous les services accessibles (et vulnérables) du côté de Windows.
- qu'il puisse s'exécuter :
Là aussi, si l'utilisateur est assez con pour cliquer dessus, c'est réglé, il sera infecté comme sous Windows.
Pour le reste, Mail n'exécute rien automatiquement et il peut ne rien interpréter et même ne pas télécharger d'images distantes. Par défaut, Safari ouvre certes automatiquement les fichiers considérés comme sûrs, et ça a été la cause justement de la seule attaque majeure contre lui. Mais il suffit de décocher une case dans les préférences et c'est largement réglé (le patch a complètement corrigé le truc désormais, plus besoin de modifier les associations entre protocole et logiciels).
Du côté des services, pareil : rien ne permet d'exécuter du code à distance et automatiquement sur un MacOS X par défaut. Pas de service vulnérable exploitable depuis Internet pour y lancer un code malicieux comme Windows en connait tant. Et ce n'est pas le fait de la nouveauté : les services de MacOS X sont pour la plupart ceux de FreeBSD, qui est bien connu depuis largement plus longtemps que Windows 2000/XP.
- que le système soit assez poreux pour que le virus puisse accéder à des fichiers systèmes afin de s'y maintenir efficacement.
Grâce au sous-système FreeBSD qui l'anime, MacOS X est un vrai Unix. C'est à dire un système conçu d'emblée pour etre multi-utilisateurs. L'étanchéité entre les utilisateurs entre eux et entre les utilisateurs et le système est sans commune mesure avec Windows. Un utilisateur sans droits ne pourra pas faire tomber le système ni le modifier pour y installer du code durablement (donc, un virus lancé par l'utilisateur ne le pourra pas non plus). Attention quand même : par défaut, MacOS X donne les droits d'administrateur au premier utilisateur, il faut donc prendre le temps d'en créer un autre sans droits pour bosser au quotidien.
Bref, fondamentalement, MacOS X est largement plus imperméable aux virus que Windows. Les deux systèmes pourront toujours être infectés, c'est évident, mais structurellement, MacOS X est une base largement plus saine. On le savait déjà puisqu'il s'agit de la même base qu'Unix. Là où Apple a fait très fort, c'est de rendre ce système simple à utiliser pour qui ne connaît rien à Unix (et beau, et pratique, etc... mais c'est là une autre histoire).
Quelques bémol cependant :
Je ne dis pas que MacOS X est inviolable, très loin de là. Ses origines Unix le rendent vulnérables à des attaques vers Unix (modification du noyau pour y installer un rootkit quasi-invisible, exploitation de binaires setuid root mal conçus, dépassement de mémoire tampon à la pelle dans les outils open source, etc...). Bref, ce n'est pas une panacée. J'affirme simplement que *structurellement* il est largement plus à même de se protéger et de maîtriser une infection / intrusion qu'un Windows.
(Windows qui s'il est connecté à Internet dans sa configuration par défaut, juste après l'installation, a une durée de vie de 20mn avant d'être infecté tout seul, sans intervention de l'utilisateur...)
Quelques conseils pour les Mac Maniacs :
Franchement, je ne vois pas l'intérêt d'un antivirus pour Mac. A moins de se savoir idiot et d'être capable de cliquer sur n'importe quoi.
En revanche, il faut absolument activer le pare-feu du système, travailler au quotidien sous un compte non-privilégié, ne pas activer (dans l'onglet "Partage" du panneau des préférences) des services dont on a pas besoin (serveur web, partage Windows, serveur FTP, etc...) et programmer des mises à jour régulières du système. Remarquez, ces conseils sont de toute façon aussi bons pour Windows ! La seule différence, c'est qu'en les respectant sur MacOS, vous êtes quasi-sûrs de n'avoir aucun souci, tandis qu'avec Windows, vous allez quand même vous retrouver avec Internet Explorer plein d'adwares, Outlook qui n'attends que le prochain exploit pour vous exécuter un truc à la gueule, etc...
Dernière note : tout cela est valable pour une installation par défaut de MacOS X. Si vous décidez d'utiliser MacOS X pour les tâches auxquelles ses origines Unix le destinent naturellement (Apache / PHP / MySQL / Postfix, etc...) la sécurité devient bien sûr un tout autre problème, mais il s'agit là alors de la sécurité Unix (bien configurer tcpwrapper et Xinetd, logger correctement avec syslog, bien configurer chaque service pour le contrôle d'accès, etc...), et ça, ben ça s'improvise pas, il faut apprendre. Ne pensez pas qu'on peut jouer au sorcier avec des outils qu'on comprend pas sans avoir à se pencher sur leur sécurisation.
Bref, c'était un long post, mais franchement, après des années à utiliser Windows et Linux professionnellement, la découverte de MacOS X a été un choc pour moi. C'est à mon sens aujourd'hui le meilleur système grand public, capable de satisfaire quasi-tout le monde (utilisateur bureautique, développement web, développement C++, serveur, etc...) et en plus, il est beau et il est très fun. Je ne doute pas que Longhorn rattrape grandement l'écart qu'il y a aujourd'hui entre un XP et OSX, mais pour l'instant, y'a pas photo.
lelolo.