Confusion autour des signatures des apps Mac

Stéphane Moussie |

Pour vérifier l’intégrité des applications installées, macOS utilise un système de signatures numériques. Pour renforcer la sécurité, macOS n’accepte d’ailleurs par défaut que les apps signées ou provenant du Mac App Store. Problème, le système de signatures n’est pas infaillible, ou en tout cas pas correctement utilisé par tous.

Les chercheurs en sécurité d’Okta se sont rendus compte qu’il était possible de faire passer en douce un logiciel potentiellement malveillant. Schématiquement, certaines applications Mac (les applications dites « universelles ») peuvent contenir plusieurs versions, une pour les processeurs PowerPC, et une pour les processeurs Intel. Or, seule une version doit être signée par Apple. L’autre version peut être toute autre chose que l’application originale, elle profitera quand même de sa signature.

Okta a repéré plusieurs applications tierces répondant à ce cas de figure : VirusTotal, Google Santa, Facebook OSQuery, Little Snitch, et plusieurs utilitaires d’Objective-See, entre autres. Cela ne signifie pas que ces applications embarquent un programme malveillant, mais « juste » qu’une partie de leur code n’est pas signé.

Patrick Wardle, le chercheur en sécurité derrière Objective-See, a expliqué à Ars Technica que si ses apps (inoffensives) embarquaient du code non signé, c’était à cause d’une ambiguïté dans la documentation fournie par Apple. Un Patrick Wardle qui avait déjà mis en lumière en 2015 une vulnérabilité dans le système de signatures.

À la suite de la découverte, Apple a précisé ses consignes pour la signature des apps. Plusieurs applications concernées ont été actualisées pour se mettre en règle, dont Little Snitch, qui tient à rassurer ses utilisateurs sur le caractère bénin de l'anomalie.

avatar Rodri31 | 

Vous sauriez à quoi sert les certificats (où du moins à quoi cela correspond) dans le trousseau d'accès de macOS ? :)

avatar umrk | 

Il y a un problème avec LibreOffice (voir Forum). Le dmg de localisation en français altère bien entendu la signature. Il faut en fait lancer LibreOffice pour la première fois AVANT l'installation du pack linguistique.

Voir toute la discussion ici ;

https://forums.macg.co/threads/impossible-dinstaller-libreoffice-sur-un-macbook.1288773/page-2

avatar r e m y | 

@umrk

Oui, tu fais bien de le signaler pour ceux qui seraient confrontés au problème...

Au passage c'est aussi l'une des faiblesses du système de vérification des signatures par GateKeeper. Une fois l'application autorisée lors de son 1er lancement avec une signature valide, elle peut subir toutes les modifications possibles (comme la localisation pour LibreOffice, mais ça peut être l'ajout d'autres exécutables qui se téléchargeraient à l'insu de l'utilisateur), GateKeeper ne s'en émeut pas.

avatar C1rc3@0rc | 

«Cela ne signifie pas que ces applications embarquent un programme malveillant, mais « juste » qu’une partie de leur code n’est pas signé.»

Ça veut juste dire que le systeme de securité basé sur la signature des applications est totalement inutile et inefficace.

Pour etre efficace le syste de signature doit valider uniquement ce qui a ete signé et rien d'autre. C'est le principe du controle d'integrité basé sur "l'empreinte" du soft (checksum) auquel on rajoute une certification. Ici de toute evidence il n'est pas question de checksum et la certification est une pure foutaise puisque partielle.

Apres est ce une faille de principe ou une backdoor, c'est toute la question entre l’incompétence et le mensonge.

avatar ovea | 

@C1rc3@0rc

Bien dit

avatar warmac33 | 

@ C1rc3@0rc
exact...
En gros ça emmerde tout le monde (les dév, les utilisateurs qui ne peuvent installer ce qu'ils veulent...) et en plus ça n'atteint même son objectif officiel (car on sait tous que l'objectif officieux est surtout pour apple de contrôler nos usages).

avatar Vostorn | 

Disons qu'on est juste certain de savoir de quel développeur vient l'app concernée. Ça ne l'empêche pas d'être malveillante pour autant.

On peut juste espérer que si le développeur est facilement identifiable (et encore, il pourrait mettre de fausses coordonnées), il sera moins enclin à dépasser les limites.

avatar r e m y | 

@Vostorn

Non même pas... il y a dans un passé très récent (moins d'un an), des exemples d'applications malveillantes ayant usurpé la signature d'un développeur identifié pour tromper GateKeeper.

Et puis ce n'est pas tres compliqué d'obtenir ce statut de développeur identifié... il suffit de payer 99$ et c'est bon.
Il suffit pour s'en convaincre de voir le nombre de malwares et adwares qui réapparaissent régulièrement sur le Mac AppStore (sous des identités de développeurs changeantes).
Un exemple parmis d'autres https://itunes.apple.com/us/app/adware-doctor-anti-malware-ad/id1068833647?mt=12
Ce faux anti-malware est régulièrement retiré du store (quand on alerte Apple sur cette application), le certificat du développeur est révoqué, et quelques semaines après il réapparaît sous le même nom, la même apparence mais avec un développeur toujours différent (mais toujours chinois).

avatar umrk | 

Je voudrais quand même défendre un peu Apple. D’abord, aucune solution parfaite existe, il faut toujours garder un équilibre entre le niveau de protection visé et la gêne crée pour l’utilisateur, c’est forcément une question de compromis. Les éventuels trous dans la raquette ne mettent pas en cause l’intérêt de la démarche.

Ensuite, on confond souvent « intégrité » et « authenticité » (et c’est le cas de l’article de MacG). Ces notions sont voisines, mais il est ici utile de les distinguer ... même si GateKeeper procède un peu des deux à la fois.

GateKeeper vise en premier lieu à garantir un certain niveau d’authenticité (l’appli est bien vérifiée, à son premier lancement, en tout cas, comme provenant d’un développeur identifié et connu d'Apple, auquel "on" (et en particulier Apple) peut donc demander des comptes). Le fait que celui-ci puisse également être malveillant, et produire des malwares, est un autre pb (fâcheux, certes, mais qui ne peut être résolu que via l’examen du soft par Apple, et c’est quelque chose qui est supporté par Apple dans son écosystème, car en acceptant le soft d'un développeur dans son écosystème, Apple indique quelque part que l'on peut lui faire confiance. On peut critiquer Apple sur le résultat (la confiance peut être mal placée), mais en tout cas Apple accepte une part de responsabilité à l’issue de ce process, et ce n’est pas rien (contrairement à d’autres, suivez mon regard). La révocation par Apple du certificat du développeur indélicat lui permet de faire la police (mais oui, le même développeur peut recommencer (sous une autre identité) , je ne vois pas bien comment s'en prémunir .......).

Après, l’intégrité, c'est à dire que le soft ne s'est pas retrouvé altéré (suite ou non à intention malveillante) peut être garantie par un test de checksum, mais celui-ci n’est effectué qu’après une transmission de l’info, ou téléchargement + installation du logiciel dans un processeur embarqué par exemple (cas que j’ai vécu dans ma vie professionnelle). Je ne pense pas que l’on puisse procéder en permanence au calcul des checksums de tous les logiciels tournant sur une machine, il y a d’autres méthodes (heureusement ..) pour éviter les intrusions malveillantes ….

CONNEXION UTILISATEUR