Le contournement de Gatekeeper d’Apple ouvre la porte aux malwares

GateKeeper est le gardien de Mac OS X qui empêche les applications douteuses et les malwares de s’introduire dans l’écosystème d’Apple. Ce mécanisme de protection a également suscité beaucoup d’intérêt auprès des chercheurs et des hackers avancés qui cherchent à prendre les commandes des appareils Apple.

Lors de sa présentation donnée dans le cadre de la conférence Virus Bulletin qui a débuté hier à Prague, Patrick Wardle, responsable du service d’étude de Synack, a démontré comment il était possible de déjouer Gatekeeper. Il a mis un certain temps pour découvrir cette méthode. Le chercheur a expliqué à Threatpost qu’il avait déjà fait part de sa découverte à Apple et que la société allait publier un correctif en guise de protection temporaire jusqu’à la diffusion d’un correctif complet. Le fait est que la méthode utilisée par Patrick Wardle exploite un défaut de développement dont l’élimination va nécessiter quelques modifications dans l’architecture du système d’exploitation.

Avant d’autoriser l’exécution d’une application sur un appareil Apple, Gatekeeper réalise plusieurs vérifications. Par exemple, Gatekeeper bloque tout code qui n’est pas signé par un certificat de développeur Apple, ainsi que les codes téléchargés depuis des magasins externes. Toutefois, comme l’explique Patrick Wardle, ce gardien ne vérifie pas la capacité de l’application de lancer ou de télécharger d’autres applications ou des bibliothèques dynamiques depuis ce répertoire ou un répertoire relatif.

L’application, après avoir subi cette première vérification statique de Gatekeeper, n’est plus traitée par la suite par ce dernier et est considérée comme une application de confiance. Patrick Wardle s’est penché sur cette faille : l’individu malintentionné peut tromper l’utilisateur et l’amener à télécharger une application signée et infectée depuis une source externe. De plus, il est possible d’organiser une attaque de type « homme du milieu » qui permettrait, par exemple, de télécharger dans le répertoire une bibliothèque malveillante via le canal HTTP et de créer un camp de base sur l’ordinateur attaqué.

Pour préparer son attaque de démonstration, Patrick Wardle a trouvé un code binaire doté d’un certificat Apple et lui a donné la forme d’un fichier DMG (image de disque dans Mac OS X) qui peut être doté d’une icône standard d’application et proposé en téléchargement aux utilisateurs. Lors de l’activation, ce code recherche dans le fichier .dmg le fichier exécutable malveillant et l’exécute.

Comme l’indique le chercheur, « la méthode n’est pas compliquée, mais elle permet de contourner complètement Gatekeeper. Elle permet au hacker d’utiliser ensuite des méthodes plus traditionnelles : téléchargement de trojans, de faux antivirus ou publication d’applications infectées sur Pirate Bay. Ce qui me préoccupe le plus, c’est la possibilité d’accéder au réseau si l’individu malintentionné est assez doué. Un hacker doué peut utiliser un téléchargement dangereux contre des structures gouvernementales dotées de privilèges d’accès élevé, il n’aurait aucun problème à associer un fichier binaire Apple légitime à un malware ou organiser une attaque de type « homme du milieu » et Gatekeeper ne protègerait plus personne. »

Patrick Wardle, qui avait déjà identifié la possibilité d’intercepter Apple dylib, a démontré sa nouvelle méthode d’attaque sur Yosemite et estime qu’elle fonctionnerait sur toutes les versions d’OS X, y compris El Capitan, la version la plus récente. Le chercheur a également testé sa méthode sur la version bêta d’El Capitan et il a réussi à contourner Gatekeeper.

Il ajoute: « Je suis convaincu que Gatekeeper est un outil utile. Apple le présente comme une des technologies clés dans son arsenal de lutte contre les menaces informatiques et qui rend ses produits plus sûrs que ceux des autres éditeurs. Ceci étant dit Gatekeeper ne peut être considéré comme une protection que pour les utilisateurs les plus élémentaires. Il ne peut déjouer que les attaques les plus primitives. Gatekeeper n’est pas vraiment un obstacle de taille pour des hackers avancés. Il ne s’agit pas à vrai dire d’un bogue, mais plutôt d’une limite de Gatekeeper. Je suppose que la correction va nécessiter des modifications importantes dans le code. Un correctif qui introduirait une analyse complémentaire comme dans le cas d’un débordement de tampon ne serait pas utile. »

Pendant qu’Apple développe la solution, les utilisateurs sont encouragés à faire preuve de prudence et à télécharger des applications uniquement depuis des sources de confiance et exclusivement via le canal HTTPS. Le chercheur ne dispose d’aucune information sur l’existence d’attaques similaires dans la nature, mais il souligne une fois de plus que dans son état actuel, Gatekeeper n’est pas en mesure de bloquer les organisateurs d’attaques contre des réseaux gouvernementaux.

Dans le cas de Wardle, il faut noter que les applications n’ont pas l’habitude de rechercher des applications et des bibliothèques dans d’autres répertoires. Ce n’est pas un comportement normal. D’après le chercheur, le problème pourrait être résolu en introduisant une vérification dynamique de la fiabilité de la source lors du lancement du code exécutable ou du chargement d’une bibliothèque.

« Si l’application ou la bibliothèque sont téléchargées depuis Internet, la vérification pourrait confirmer si le téléchargement est conforme aux paramètres de l’utilisateur qui imposent la présence d’une signature et une source spécifique comme l’App Store » explique Patrick Wardle. « C’est tout à fait réalisable et devrait pouvoir arrêter l’attaque. Lorsqu’un code exécutable qui a la confiance d’Apple lance un autre qui n’a pas de signature et qui n’est pas approuvé, le hook dynamique sera tout de suite identifié. Apple dispose déjà d’un cadre pour l’interception pendant l’exécution et différentes analyses. Je pense que celui-ci peut être élargi afin d’inclure ce nouveau contrôle ».

Source: Threatpost

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *