Il est possible d'exécuter automatiquement un script sur MacOS X à la simple visite d'un site web malicieux. L'attaque est exploitable via le navigateur Safari dans sa configuration par défaut. Bonne nouvelle cependant : il suffit de décocher une simple option pour n'être plus vulnérable. Apple Mail se révèle également vulnérable, et là, il n'y a pas d'option à décocher pour se protéger. Il est en revanche nécessaire de cliquer sur l'image pour exécuter le script malicieux.

au sommaire


    Logo de Safari

    Logo de Safari

    Série noire pour MacOS X : après l'apparition d'un premier parasiteparasite aux allures de ver "façon Windows", puis de la démonstration d'une attaque contre son implémentation Bluetooth (suffisamment anecdotique pour que nous n'en parlions pas), voici que c'est le navigateur du Mac qui est maintenant mis en cause.

    Dans sa configuration par défaut, Safari ouvre automatiquement les fichiers réputés sûrs (images, films...) lorsqu'ils viennent d'être téléchargés. Bien sûr, le système refuse d'ouvrir ainsi les contenus exécutables tels des scripts UnixUnix ou des logiciels. Mais, comme le démontre un universitaire allemand, il est possible de contourner cette limitation...

    Dans le cas des scripts Unix ("Bash", en fait, pour les puristes), le système se sert pour les identifier de la chaîne habituelle placée en début de script et chargée d'indiquer où se trouve l'interpréteur de commande (le fameux #!/bin/bash). Jusque là, tout va bien. Oui mais voilà : si un script ne comporte pas cette ligne magique, il ne sera pas détecté comme tel, mais sera en revanche tout à fait exécuté par le système ! (ce qui est, au passage, un comportement totalement anormal).

    Un preuve de concept qui fonctionne

    Et cette vulnérabilité n'est pas que théorique ! Son découvreur fournit une démonstration tout à fait efficace. Il suffit de cliquer sur un lien menant à la page de démonstration sur son site pour télécharger et exécuter automatiquement un script Unix, sans aucune intervention de l'utilisateur.
    Il est toutefois simple de se protéger contre cette attaque : il suffit de décocher l'option "Ouvrir automatiquement les fichiers fiables" dans les Préférences de Safari. Pour ceux qui nous lisent depuis quelques années, vous reconnaîtrez là un conseil que nous avions déjà promulgué !

    La vulnérabilité n'est en outre pas très compliquée à corriger de la part d'AppleApple : en faisant un clic droit sur la pseudo-image (oui, les Mac ont aussi le clic droit !), il est possible de constater que le fichier s'ouvrira avec le Terminal et non l'applicationapplication de visualisation par défaut (Aperçu, généralement). Cette information là, déjà disponible, donc, pourrait probablement être utilisée pour donner l'alerte.

    Il faudrait cependant, pour cela, qu'Apple se décide à traiter la sécurité de manière sérieuse. Contrairement à MicrosoftMicrosoft, qui y a été contraint et forcé, Apple en est encore à ne pas parler de sécurité et à traiter cette dernière de manière cavalière (manque d'information, très peu de communication au sujet des vulnérabilités, aucun processus formel, etc...).
    Il suffirait pourtant de pas grand chose tant le système repose sur une base solidesolide. Il suffirait, peut-être, d'un baptême du feufeu tel que l'a subi Microsoft.
    Ce qui semble en bonne voie...

    La cas Apple Mail

    Apple Mail peut lui aussi être exploité pour diffuser une image piégée. Il n'y aura pas ici d'exécution automatique à la réceptionréception du courrier, mais il suffira de cliquer sur le fichier .JPG joint pour exécuter le script malicieux sans qu'aucune confirmation ne soit demandée à l'utilisateur.

    Le coupable, ici, est le format MIME propriétaire AppleDouble, dans lequel est encodé le fichier joint. Ce dernier permet d'envoyer un fichier et, avec lui, ses méta-données. Parmi ces dernières, il est possible de spécifier quelle application doit ouvrir le fichier, en dépit de son type apparent (ce sont les mêmes méta-données, mais cette fois stockées dans un dossier invisible de l'archive ZIPZIP, qui rendaient possible l'attaque sous Safari).
    Permettre à un correspondant étranger de spécifier de manière arbitraire quelle application locale devra ouvrir le fichier envoyé est une incroyable erreur de conception. Espérons qu'Apple saura réagir rapidement et placer des garde-fousgarde-fous à cette fonctionnalité, ou la supprimer totalement (ce qui, au passage, évitera aux utilisateurs du Mac d'encombrer les archives qu'ils envoient à leurs correspondants sous Windows de ces ennuyeux dossier _MACOSX !)

    Il semblerait ainsi plus logique, et surtout plus sûr, que MacOS X s'en tienne à l'information stockée dans son système de fichier (type du document en fonction de son code créateur, de ses en-têtes ou de son extension) afin de déterminer l'application nécessaire à son ouverture. En ignorant au passage la méta-donnée placée arbitrairement par le pirate.

    Il semblerait qu'Apple ait sérieusement besoin de se lancer une fois pour toute sur le chemin initiatique de la sécurité...

    Compléments

    (Futura-Sciences)

    Comme indiqué, il s'agit bien d'une démonstration (proof of conceptproof of concept) totalement inoffensive. Avec Safari l'astuce repose sur la manière dont les archives zip sont ouvertes. Le fichier zip contient en effet un fichier qui se présente comme une image JPEGJPEG, mais dont le contenu est le script suivant :

    /bin/ls -al
    echo
    echo
    echo "heise Security: Sie sind verwundbar."
    echo
    echo

    L'archive contient également des métadonnées qui sont stockées dans un dossier __MACOSX, qui forcent l'ouverture du script dans le terminal. Dans le mail de démonstration on voit seulement en pièce jointe "l'image" JPEG contenant le même script associé aux métadonnées invoquant le terminal.