Comment l'utilisateur moyen peut-il facilement valider l'intégrité du micrologiciel de son Mac?

9

Comment l'utilisateur moyen peut-il facilement valider l'intégrité du micrologiciel de son Mac?

Avant de voter contre cette question ou de me faire la leçon sur la façon dont je suis paranoïaque et que personne ne devrait jamais avoir besoin de le faire, veuillez lire ci-dessous.

En juillet 2015, CVE-2015-3692 a révélé qu'un firmware EFI d'un Mac pouvait être piraté par un attaquant distant. (Les vecteurs disponibles pour cela se trouvent dans d'autres CVE, mais pourraient hypothétiquement être n'importe quoi, y compris des choses comme de faux installateurs de mises à jour Flash malveillants.)

Cette vulnérabilité a été rendue publique au moins quatre semaines avant qu'Apple ne la corrige le 30 juillet pour OS X 10.8, 10.9 et 10.10 avec EFI Firmware Security Update 2015-001 .

Le même chercheur en sécurité qui a annoncé cette vulnérabilité affirme également avoir assisté à une démonstration lors d'une conférence d'un hack de firmware qui ne peut pas être supprimé ou écrasé.

Par conséquent, une fois que l'EFI d'un Mac a été possédé, si l'attaquant l'a fait correctement, la seule façon de reflasher l'EFI avec un firmware Apple valide serait de câbler un reflasher directement à la puce EFI sur la carte logique elle-même ( n'essayez pas ceci à la maison).

Les articles de presse qui ont signalé cette vulnérabilité l'ont minimisée, disant que la plupart des utilisateurs ne devraient pas s'inquiéter, et tout ce que vous devez faire pour vous protéger est de ne jamais laisser votre Mac passer en mode veille, et de désactiver l'utilisateur root ou de ne jamais authentifier quoi que ce soit que vous ne faites pas confiance à 100%. Les fils de commentaires sur ces articles le résument comme suit: si toutes vos applications proviennent de sources fiables comme l'App Store officiel, et que vous n'exécutez jamais rien qui n'est pas signé par un développeur connu d'Apple, alors vous ne devriez avoir rien à craindre.

Mais en septembre 2015, nous avons découvert l'exploit XCodeGhost , qui est connu pour avoir fait apparaître de nombreuses applications infectées par des logiciels malveillants sur l'iOS App Store officiel - mais qu'en est-il des applications OS X? Dans l'article lié, Malwarebytes a écrit:

Wardle a souligné en mars que Xcode était vulnérable à ce genre de chose, mais effrayant, a également pointé du doigt de nombreuses autres applications OS X. Chacune de ces applications pourrait être vulnérable à des attaques similaires.

Ils ont également écrit: "l'utilisateur moyen ne devrait pas paniquer" - le même mantra que je vois souvent perché sur les forums d'assistance Apple et ailleurs chaque fois qu'un utilisateur publie un fil sur des tonnes de problèmes étranges qu'ils rencontrent. "Reformatez simplement votre disque et effectuez une nouvelle installation du système. Le problème est probablement une modification du système par un tiers", nous dit-on. Lorsque cela ne le résout pas, les gens sont informés qu'il doit s'agir d'un problème matériel, comme un disque dur défaillant, un GPU défaillant ou une mauvaise RAM. J'ai vu des discussions où les gens remplaçaient littéralement tous les composants de leur Mac, et le problème revenait toujours.

Nous savons maintenant qu'il est possible que le micrologiciel EFI des utilisateurs ait été piraté. Ainsi, même si leur carte mère était remplacée, lorsqu'ils réinstalleraient leurs applications, le micrologiciel pourrait à nouveau être reflué par le logiciel malveillant! Et si la carte mère n'était pas remplacée, ils seraient arrosés quoi qu'il arrive.

Cela me ramène à la question principale.

Comment l'utilisateur moyen peut-il facilement valider l'intégrité du micrologiciel de son Mac? Par exemple, comment pouvez-vous vérifier que le micrologiciel de votre Mac n'a jamais été compromis par des logiciels malveillants? Je n'ai trouvé aucune méthode compatible avec El Capitan qui ne nécessite pas de désactiver SIP. Pour les versions antérieures du système d'exploitation, il existe un outil tiers complexe appelé DarwinDumper qui peut vider le contenu de vos EFI dans un fichier texte, mais vous devez toujours disposer du micrologiciel Apple valide pour le comparer - ce n'est pas une méthode que l'utilisateur moyen est capable de faire.

Dire aux gens de ne pas s'inquiéter de quelque chose dont ils pourraient très bien être la victime, et n'avoir aucun moyen de vérifier s'ils le sont, est ce qui permet à ces types d'exploits d'être rentables pour les pirates, qui dépendent de la complaisance et d'un manque de vigilance sur le partie des utilisateurs.

==

EDIT: J'ai trouvé le dernier programme d'installation officiel du micrologiciel Apple sur le site d'assistance d'Apple . Le programme d'installation ne fonctionne pas sur 10.10 ou 10.11, bizarrement. En utilisant Pacifist, j'ai extrait le fichier .scap pour mon Macbook Pro 9,1. J'ai comparé le binaire dans HexFiend avec le biosdump que j'ai extrait en utilisant DarwinDump après avoir redémarré en mode de récupération et exécuté csrutil disablesur le terminal pour désactiver rootless et permettre d'exécuter des kexts non signés. J'ai récupéré cet en-tête du BIOS:

   $IBIOSI$   MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc.  All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
   BIOS ID:      MBP91
   Built by:     root@saumon
   Date:         Mon Jun  8 12:14:35 PDT 2015
   Revision:     svn 39254 (B&I)
   Buildcave ID: 6
   ROM Version:  00D3_B0B

Le BIOS officiel de l'en-tête d'Apple:

   $IBIOSI$   MBP91.88Z.00D3.B0B.1506081214Copyright (c) 2005-2015 Apple Inc.  All rights reserved.ˇˇˆ´5µ}ñÚC¥î°Îé!¢é_i@Ÿ¯¡Apple ROM Version
   BIOS ID:      MBP91
   Built by:     root@saumon
   Date:         Mon Jun  8 12:14:35 PDT 2015
   Revision:     svn 39254 (B&I)
   Buildcave ID: 6
   ROM Version:  00D3_B0B

En dehors de cela, les fichiers sont très différents, mais je suppose que le fichier .scap a une sorte de compression. Au moins, cela me dit que j'avais le dernier firmware installé, celui qui a été publié après l'annonce des hacks. Je suis vraiment bon. Ce serait bien de pouvoir confirmer que je suis bon grâce à une sorte de vérification de la somme de contrôle cependant! Je vous regarde, Apple!

CommaToast
la source
2
Est-ce une question (plutôt bien documentée) ou une demande de fonctionnalité? S'il s'agit d'une question, pouvez-vous la dépouiller un peu pour mettre davantage l'accent sur ce que vous recherchez ("comment un utilisateur final peut-il vérifier l'intégrité du firmware")?
nohillside
Question. La partie que je recherche est en gras et est répétée deux fois et est le titre. Je compte sur les lecteurs pour installer plus de RAM dans leur cerveau ou prendre de la ritaline si les détails de support sont un "problème".
CommaToast
2
Néanmoins, vous pouvez améliorer les choses en transformant votre modification (à la fin de votre question) en une première réponse (avec probablement quelques détails supplémentaires sur la façon dont l'utilisateur occasionnel peut effectuer les étapes nécessaires). Aussi, si vous voulez qu'Apple écoute (et je pense qu'ils devraient) une demande de fonctionnalité est toujours la meilleure façon :-)
nohillside
Je ne veux pas qu'Apple "écoute" ... Je veux qu'ils soient un type d'entreprise différent de ce qu'ils sont, et cela ne se produira jamais à moins qu'ils ne m'engagent comme "garant de la génialité"
CommaToast

Réponses:

2

Pour vérifier le micrologiciel d'un système Intel UEFI, tel qu'un Mactel, démarrez la distribution Intel LUV (Linux UEFI Validation), luv-live, exécutez Intel CHIPSEC. Il vérifiera la plupart des vulnérabilités de firmware connues du public. Vous devez exécuter CHIPSEC lorsque vous obtenez votre boîte, enregistrer la ROM, puis réexécuter CHIPSEC de temps en temps et comparer les ROM pour les modifications. Vous pouvez utiliser UEFItool, CHIPSEC ou UEFI-Firmware-Parser , ou une poignée d'autres outils pour un examen médico-légal de la ROM.

Pour plus d'informations sur le sujet et les outils impliqués, consultez mes diapositives pour une présentation que j'ai faite récemment.

Lee Fisher
la source
En outre, il existe un projet appelé Firmware Vault qui collecte les ROM Apple, qui pourrait également être utile à étudier.
Lee Fisher
2

Le titre de "comment un utilisateur moyen" est un peu une zone de danger, car je ne considère personne qui utilise la moyenne de Terminal - sans porter de jugement, juste que le public ici est bien au-dessus de la moyenne pour même savoir qu'il devrait valider le firmware . Espérons que je ne sois pas trop prétentieux avec ce bref résumé de ce que je pense que l'utilisateur Mac moyen devrait faire:

Le programme d'installation de macOS met à jour le micrologiciel lorsque vous installez / réinstallez le système d'exploitation, il vous suffit donc de démarrer pour récupérer et de réinstaller la version actuelle de macOS, vous ne perdrez aucun programme, paramètre, données et aurez la possibilité de vous assurer que votre micrologiciel est à jour. Même si vous avez installé le système d'exploitation il y a plusieurs mois - si un micrologiciel plus récent existe lorsque le programme d'installation vérifie tout en se préparant à installer, vous obtiendrez cette mise à jour dans le cadre de l'exercice.


Si vous n'êtes pas en mesure ou désireux de simplement exécuter une installation, il devient beaucoup plus difficile de signaler / valider que vous êtes vraiment à jour. Je suppose que cela dépend de la raison pour laquelle vous pensez que vous n'avez pas reçu les mises à jour dans le cadre du processus de mise à niveau / mise à jour normal. Puisqu'il n'y a pas de vérification générale sur tout le firmware, je dirais que l'utilisateur moyen ne peut pas valider le firmware et même les utilisateurs exceptionnels ont du mal à effectuer le niveau d'analyse requis. Les utilisateurs moyens ont du mal à faire la différence entre l' authentification et l'autorisation . Les utilisateurs experts trouvent fastidieux de vérifier les sommes de contrôle et les chaînes cryptographiques de confiance et de la nature humaine si nous ne faisons pas bien ces activités, même dans des environnements bien conçus, bien motivés et bien pris en charge.

J'ouvrirais un ticket d'assistance avec Apple pour chaque instance où je voulais vérifier le firmware et participer à la liste de diffusion officielle des notifications de sécurité Apple afin que vous soyez au courant lorsque les choses changent.

Je suis désolé si ce n'est pas la réponse que vous vouliez, mais j'ai également senti que c'était ma petite entrée dans une réponse à tous ceux qui voient votre question et se demandent comment commencer l'apprentissage. Comme de plus en plus d'utilisateurs demandent de l'aide à Apple, des articles de la base de connaissances seront éventuellement rédigés. À un moment donné, un financement serait ajouté et le problème serait conçu pour correspondre aux niveaux de formation des utilisateurs. Nous n'en sommes qu'aux premiers jours d'où je vois les choses.

bmike
la source
0

Tout comme une mise à jour, macOS 10.13 High Sierra vérifiera automatiquement l'intégrité du firmware d'un Mac une fois par semaine. Si un problème avec le firmware est détecté, votre Mac vous proposera d'envoyer un rapport à Apple. Un article de The Eclectic Light Company dit ceci à propos des rapports;

Si vous utilisez un vrai Mac, plutôt qu'un 'Hackintosh', Kovah vous demande d'accepter d'envoyer le rapport. Cela permettra à eficheck d'envoyer les données binaires à partir du firmware EFI, en préservant votre confidentialité en excluant les données stockées dans la NVRAM. Apple sera alors en mesure d'analyser les données pour déterminer si elles ont été modifiées par des logiciels malveillants ou toute autre chose.

AppleInsider le dit également;

Le rapport envoyé à Apple exclut les données stockées dans la NVRAM. Apple examinera ensuite les données transmises pour évaluer s'il y a eu une attaque de malware

Cliquez ici pour en savoir plus sur cette nouvelle fonctionnalité: macOS High Sierra effectue automatiquement une vérification de sécurité sur le micrologiciel EFI chaque semaine

Jake3231
la source
0

Juste une mise à jour de cette question car un nouveau programme est disponible.

Ça s'appelle eficheck. Il se trouve dans le répertoire / usr / libexec / firmwarecheckers / eficheck alias probablement pas sur votre chemin, donc c'est un peu plus complexe que d'autres mais il y a une page de manuel pour cela qui documente son utilisation.

Il est important de considérer que tout ce qui est suffisamment sophistiqué pour pénétrer dans votre EFI pourra probablement échapper à la détection dans une certaine mesure. C'est en grande partie la raison pour laquelle les vérifications antivirus sont inutiles, bien que les personnes qui régurgitent "les vérifications antivirus sont des ordures" n'ont aucune idée de pourquoi et répètent la conclusion que quelqu'un plus intelligent qu'eux a tirée, à savoir que les sociétés d'antivirus ont tendance à ne pas savoir avoir la capacité pour analyser correctement les logiciels malveillants spécifiques à Mac afin qu'ils n'ajoutent pas la valeur de hachage unique d'un fichier à leur base de données afin que votre ordinateur puisse calculer les hachages de ses propres fichiers, puis ceux contre une base de données de hachages de malwares connus. Presque toutes les analyses antivirus ne font rien de plus et ne recherchent aucun comportement malveillant.

À la fin de la journée, bien que l'EFI d'Apple soit l'UEFI d'Intel, vous faites donc confiance à Apple pour faire quelque chose correctement qui est vraiment complexe et technique. Apple ne peut même pas comprendre leur propre PKI et avez-vous déjà vu le manuel du développeur pour un processeur Intel? C'est des milliers de pages de grec ancien. Je veux dire, allez, vous ne pensiez pas qu'Apple était jolie et intelligente, non?

La liste de diffusion de sécurité est une simple notification lorsque des mises à jour sont publiées et rien de plus. Vous seriez dans la boucle pour les nouveaux correctifs aux problèmes identifiés par CVE identifiés depuis longtemps et facilement exploités affectant le dernier système d'exploitation et les plus anciens aka ceux utilisés. Il n'y a rien pour empêcher de futurs exploits dans les mises à jour ... du moins qu'ils mentionneront jamais en raison de leur politique de ne pas parler de telles choses. Les seuls éléments de sécurité abordés seront de dire qu'un problème très spécifique a été corrigé par la mise à jour.

S'ils identifiaient une «attaque de logiciel malveillant» (elle n'est pas restée après?), Cela violerait leur propre politique s'ils la confirmaient et rendaient compte à l'utilisateur, tout en constituant une mauvaise décision commerciale puisque bon nombre de leurs clients ne croient toujours pas aux logiciels malveillants. Notez qu'il ne dit rien sur la façon de contacter l'utilisateur ou de résoudre le problème. Je pourrais voir les gros titres maintenant .. Toute la mauvaise presse ces derniers temps a vraiment meurtri leur ego et semble approcher d'un point de basculement.

David Smith
la source