Connexion
Abonnez-vous

OS X : la protection GateKeeper peut être aisément contournée

Ce n'est pas un antivirus, mais quand même

OS X : la protection GateKeeper peut être aisément contournée

Le 01 octobre 2015 à 07h00

Alors même qu’Apple vient de lancer la nouvelle mouture majeure de son OS X, El Capitan, un chercheur en sécurité indique avoir trouvé une manière très simple de contourner la protection GateKeeper. Cette dernière a été intégrée il y a plusieurs années pour repérer à l’exécution certains malwares courants.

GateKeeper est une fonctionnalité ajoutée par Apple dans OS X à partir de la version Lion. Son mécanisme d’action est assez simple : il vérifie la signature électronique d’un binaire pour en valider ou pas l’exécution. Par défaut, seuls les logiciels issus du Mac App Store ou récupérés chez des éditeurs disposant d’un certificat reconnu peuvent être lancés. Dans les réglages de sécurité d’OS X, on peut désactiver complètement GateKeeper, ou le rendre encore plus strict pour ne laisser passer que les applications du Store.

GateKeeper n’est cependant pas un antivirus, même si Apple a ajouté à plusieurs reprises des éléments de reconnaissance des principales menaces. Ce mécanisme de sécurité est pourtant simple à contourner, si simple en fait que la méthode est surprenante. La technique, détaillée par Ars Technica, s’appuie sur les travaux du chercheur Patrick Wardle et met en scène deux binaires, A et B. GateKeeper ne vérifiant que le binaire qui correspond à l’action de l’utilisateur (le double clic) il devient alors simple d’appeler le binaire B.

Faire passer un premier binaire reconnu, puis tracter un second

Pour faire exécuter un ou plusieurs malwares, il suffit en fait que le binaire A soit équipé d’un certificat déjà reconnu par GateKeeper. Le pirate n’a qu’à préparer une image disque (fichier DMG) contenant les deux binaires pour que le premier passe la barrière puis, une fois cette dernière franchie, y « tracte » le second. Ce dernier peut contenir tout le code malveillant nécessaire, GateKeeper n’aura plus son mot à dire.

La technique est simple, mais redoutable. Il devient par exemple aisé de préparer une version vérolée d’un installeur d’application connue. C’est potentiellement une technique utilisée dans le cas récent des environnements Xcode frelatés qui ont été téléchargés par des développeurs chinois. L’utilisateur double-clique, lance l’installation, voit éventuellement une fenêtre réclamant les droits administrateur et valide, pensant que le logiciel est authentique.

Ce qui ne veut pas dire évidemment qu’il faut tout à coup se méfier de tous les téléchargements. Comme toujours, la prudence reste de mise sur les sources, mais il n’y a pas de raison de craindre le moindre danger si on a l’habitude d’utiliser des applications provenant du Store ou de site officiel d’une entreprise connue comme Google, Microsoft, Dropbox et ainsi de suite.

Un correctif est en préparation

Pour Patrick Wardle, cette technique de contournement n’est pas étonnante et réside dans la manière dont GateKeeper a été conçu, non dans une faille à proprement parler. Son rôle n’est après tout que de vérifier la signature électronique de l’exécutable lancé par l’utilisateur. Il a d’ailleurs indiqué à Ars Technica qu’il avait averti Apple il y a un peu plus de deux mois et que la société travaillait sur un correctif, ce qu’elle a confirmé à nos confrères. Le chercheur ne sait cependant pas si les ingénieurs pourront régler la cause même du problème, ou devront se contenter de limiter les dégâts.

Patrick Wardle présentera dans tous les cas les résultats de ses travaux aujourd'hui lors de la Virus Bulletin Conference qui se tiendra à Prague. Car une constatation s’impose pour lui : « Si je peux le trouver, vous pouvez être sûrs que des groupes de pirates ou supportés par des États ont trouvé des faiblesses similaires ».

Commentaires (21)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

Je trouve ça plutôt intéressant comme façon de procéder.

 



 Le chercheur reste en plus modeste et pragmatique, s’il y a pensé, d’autres aussi.

 

Erreur de conception de la part de la pomme ?

votre avatar

Par contre il faut toujours faire signer le binaire A, non ?

 C’est possible ça ? Apple accepte de signer en sachant que le binaire A sert à aller installer un malware ?

votre avatar

Ton binaire A est une voiture avec boule d’attelage. Le malware c’est la caravane que tu accroches derrière.

votre avatar

You should not pass… Oups.

votre avatar

Les mauvaises langues diront que ce n’est pas un “bug/faille” mais une fonctionnalité <img data-src=" />

votre avatar







Obidoub a écrit :



Par contre il faut toujours faire signer le binaire A, non ?

 C’est possible ça ? Apple accepte de signer en sachant que le binaire A sert à aller installer un malware ?





Je ne sais si c’est possible, mais si le binaire A (signé) fait appel à certaines ressources, il suffit de remplacer la ressource en question par une une vérolée.



Par exemple le binaire A demande à lancer un binaire C, mais en remplaçant ce dernier le par le B (vérolé), ton binaire A lancera en toute bonne foi le malware, et sans changer son certificat. Non ?


votre avatar

En continuant l’image, si je ne me trompe pas (je ne connais pas le mécanisme de vérification des binaires); cela voudrait dire que la voiture a été contrôlée, et que la boule d’attelage sans remorque n’a pas été vue

(mais j’ose imaginer qu’il doit être facile pour un code de cacher la boule d’attelage lorsqu’il n’y a pas la caravane,

sans caravane, il suffit de le faire fonctionner comme le vérificateur l’attends).


votre avatar







Obidoub a écrit :



Par contre il faut toujours faire signer le binaire A, non ?

&nbsp;C’est possible ça ? Apple accepte de signer en sachant que le binaire A sert à aller installer un malware ?





Il me semble qu’Apple ne signe pas tout, en gros sur OS X il n’est pas forcement nécessaire de passer par l’Apple Store, du coup GateKeeper vérifie juste l’identifiant du dev et le dev signe lui même son soft avec son identifiant.


votre avatar







linkin623 a écrit :



Je ne sais si c’est possible, mais si le binaire A (signé) fait appel à certaines ressources, il suffit de remplacer la ressource en question par une une vérolée.



Par exemple le binaire A demande à lancer un binaire C, mais en remplaçant ce dernier le par le B (vérolé), ton binaire A lancera en toute bonne foi le malware, et sans changer son certificat. Non ?





Non, les binaires sont contrôlés via l’identifiant du dev, un peu comme un checksum, le dev doit le fournir dans l’appli et GateKeeper se charge de vérifier cela.


votre avatar

ca ressemble presque à la méthode du disk swap de la première playstation <img data-src=" />

votre avatar

C’est un peu comme la méthode de “piratage” de Windows qui permet de lancer “cmd.exe” avec les droits administrateur depuis l’écran de login en copiant/renommant l’exécutable pour le faire passer pour l’utilitaire d’accessibilité <img data-src=" />

votre avatar

Considère plutôt un utilitaire avec boule d’attelage systématique même si pas utilisée. On voit la boule d’attelage mais c’est normal c’est une fonctionnalité qui peut être utile.

votre avatar

Vieille technique utilisée sur Windows depuis la nuit des temps. Prendre un executable signé (de préférence Microsoft ^^ ) et mettre dans le même dossier une fausse DLL utilisé par l’executable. Et boum le code malveillant se retrouve avec les droits admin.

D’ailleurs pour avoir l’élévation automatique, Windows oblige d’être lancé dans %windows%.

votre avatar

Et Apple distribue des certificats sans vérifier que l’app ne télécharge pas du code malveillant ? oO Étonnant.

votre avatar

Faut lire la news et les commentaires en fait…

votre avatar

Situation similaire sur Android si je me souviens bien. La possibilité de télécharger du code externe depuis une application signée.

&nbsp;Dans le cas du GateKeeper je vois pas bien comment bloquer tout ça sans blocage draconien…

votre avatar

De toute façon il n’y a pas de virus/malware sur Mac <img data-src=" />



&nbsp;Pareil sur Linux <img data-src=" />

votre avatar

De si bon matin? (oui je suis aux US, j’ai 7h de moins ^^)

votre avatar

Le souci va être réglé sous peu : encore une preuve de plus qu’Apple se soucie vraiment de notre sécurité, comme étant sa priorité number one of the world.

votre avatar

Oui oui :p

Et je suis à l’heure UTC+0 donc ca ne nous fait que 5h de différence <img data-src=" />

votre avatar







BweBwe a écrit :



Situation similaire sur Android si je me souviens bien. La possibilité de télécharger du code externe depuis une application signée.

 Dans le cas du GateKeeper je vois pas bien comment bloquer tout ça sans blocage draconien…







Il me semble que sous Android c’était surtout qu’on pouvait modifier l’éxécutable après installation sans altérer la signature.



Il y a eu un article ici mais je ne le retrouve pas


OS X : la protection GateKeeper peut être aisément contournée

  • Faire passer un premier binaire reconnu, puis tracter un second

  • Un correctif est en préparation

Fermer