Un virus sur Mac

La communauté est en émoi… Heise.de à trouver un « Virus » pour mac

Il n’y a pas de virus sur Mac et certain s’était fait à l’idée que ce fait était immuable… Franchement, ce n’est parce que MacOSX est a basé d’Unix qu’il est immunisé contre les Virus… Pour preuve, Linux est lui aussi victime d’un vrai virus en ce moment… Par contre, je pense que la non-prolifération des Virus est du a plusieurs facteurs…
Premièrement, MacOSX représente une très faible part de marché… C’est un argument de poids quand on sait que beaucoup de virus ou de troyens servent de nos jours à convertir la machine en relais à Spam. Dans ce cas, le Virus est donc un buisness, et comme les jeux vidéo, les spammeurs préfèrent se concentrer sur l’omniprésent Windows… Mais, cela n’explique pas pourquoi il n’y a pas des programmateurs du dimanche qui essayent de faire des Virus… Je pense <sarcastique> que les utilisateurs de Mac sont des gens beaucoup plus cool que les utilisateurs de PC et qu’ils ne font pas ce qu’ils ne voudraient pas qu’on leur fasse 😉 <sarcastique>…
La part de marché est un phénomène qui peut limiter fortement l’expansion des vers… En effet, les vers cherchent a contaminer d’autre machine en les attaquant… La faible proportion de Mac fait qu’il risque d’avoir bien du mal à trouver des victimes… Le virus pour linux est un peu victime de ce phénomène…
Par contre, je pense que la conception de MacOSX le rend tout de même un peu plus insensible au virus… L’architecture Unix fait par exemple que le Virus a les mêmes droits (limitation) que l’utilisateur qui l’a lancé… Cela veut dire que ne peut modifier que ce que l’utilisateur a le droit de modifier… Par exemple, si un utilisateur lance un Virus, celui-ci ne pourra pas s’installer confortablement au coeur du système… Même si l’utilisateur est administrateur ! En effet, les administrateurs sous MacOSX, sont, contrairement à Windows, de simples utilisateurs qui ont juste le droit de demander à exécuter des taches en tant qu’administrateur, et ce uniquement après une authentification de l’utilisateur (une sorte de sudo graphique)… Bref, si un virus veut obtenir les droits administrateurs, il devra demander à l’utilisateur d’entrer son mot de passe… Gageons que celui-ci trouvera suspect que la photo cochonne qu’il vient de recevoir d’un ami Russe, lui demande son mot de passe administrateur 😉
D’autre part, MacOSX dispose de petit mécanisme pour éviter qu’un utilisateur ne lance une application sans s’en rendre compte (une application déguisée en image par exemple)… Lors du téléchargement d’une application, un message d’avertissement apparaît explicitement pour prévenir du danger…
Le problème, c’est quand le virus arrive aussi à berner ce mécanisme… Et c’est précisément ce qu’a réussi à faire Heise.de… Ils ont trouvé une faille dans le mécanisme de protection 😉

Le principe de l’attaque est simple. MacOSX, contrairement à Windows, n’utilise pas (enfin, peu serait plus juste) sur le système des extensions de nom de fichier pour déterminer avec quel programme il doit ouvrir un fichier. Il utilise à la place des méta-données (données extérieures au fichier, comme un commentaire, les dates, ou même le nom du fichier 😉 ) pour stocker le type du fichier… Grâce a ce type, il peut connaître la ou les applications prenant en charge le fichier. De plus, on peut ordonner au système d’utiliser une application précise pour ouvrir un fichier. Dans ce cas, le chemin de l’application est stocké dans une méta-donnée… Cette manipulation est très simple, il suffit d’afficher les infos d’un fichier, puis de choisir un autre programme dans la section Ouvrir avec.

Jusque-là, c’est plus une super fonctionnalité qu’une faille de sécurité…
Mais, car il y a forcément un mais ;-), quand on crée une archive zip, les méta-données sont aussi copier dans l’archive (le dossier MACOSX que l’on voit dans les archive sous Windows). Ce qui veut dire que je peux vous envoyer un fichier, et vous forcer (si vous n’y prêtez pas attention) à l’ouvrir avec le programme de mon choix… Les archives zip ne sont pas la seule façon de transmettre les méta-données, on peut aussi le faire avec un client email supportant l’encodage type mac double (Apple Mail par exemple), ou encore simplement avec un disque formaté en HFS+ ou un partage réseau AFS…
Heise.de exploite cette faille en déguisant un script shell (une sorte de petit programme) en une image jpeg… Pour cela, ils assignent au fichier une extension .jpg et une icône d’image, mais le programme à utiliser pour ouvrir ce fichier, est forcé sur Terminal.app, ce qui a pour effet d’exécuter le script…
Le problème ici, c’est que personne ne vous a prévenu que ce qui ressemblait à une image était en fait un dangereux programme… L’avertissement prévenant que l’on télécharge un programme s’est lui aussi fait berner par l’extension .jpg que portait le fichier…

J’aimerais déjà signaler que ce n’est pas Safari qui est a l’origine de cette faille… L’ouverture du même fichier téléchargé par Firefox, ou obtenu par n’importe quelle autre méthode, se terminera invariablement de la même façon… Le problème de Safari est dû à l’option d’ouverture automatique des fichiers téléchargés, avec cette option, le simple fait de télécharger le fichier fait qu’il sera exécuté… Ce qui fait qu’une page avec un javascript ou un rafraîchissement automatique peut très bien lancer le téléchargement sans aucune intervention… J’ai toujours désactivé cette option qui est malheureusement activée par défaut… Tout le monde devrait en faire de même… à commencer par Apple lui même !!!

Certains préconisent de déplacer Terminal.app… En effet, le chemin de l’application étant marqué en dure dans les méta-données, déplacer Terminal.app est une bonne parade… pour les scripts qui utilisent Terminal.app… Qui nous dit que d’autres programmes ne peuvent pas être utiliser de la même façon ? Préparez vous à déplacer toutes vos applications… D’autre part, je peux vous dire que si vous commencez comme ça, la prochaine mise à jour système risque de se passer plutôt mal 😉

La solution n’est pas d’essayer de réparer le système qui prévient lors du téléchargement (même si ça ne ferait pas de mal)… Car ce système n’est pas inclus dans tout le système, mais uniquement présent dans Safari… Par contre, comme le dit John Gruber, il faudrait qu’Apple revoie le mécanisme utiliser pour ouvrir un fichier. Les méta-données ne devrait pas être prise en compte si elles sont importées depuis un système étranger (ou si elle ne sont pas directement faite par l’utilisateur…).

Dans tous les cas, il faut arrêter de croire que l’on peut cliquer partout sans conséquence… Un minimum de paranoïa évite déjà pas mal de problème…

Update 3/03/2006 : La mise à jour de sécurité 2006-001 corrige le bug de Safari (et aussi d’iChat). Les scripts shell déguisé sont de nouveau considéré comme des applications. Néanmoins, je conseille tout de même de ne pas cocher la case « ouvrir les fichiers téléchargés automatiquement ».

1 Commentaire

    • viking sur 28 février 2006 à 22:22
    • Répondre

    Ils ont attraper le virus Intel tu veux dire!! on ne vois que ça a la TV!!
    Ils en mettent meme dans les nouveaux mac-mini

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.