Le firmware des Macs

29 juil 2009, par Thibaut Jarosz, 20 commentaires »

Ces derniers temps, on pouvait voir beaucoup d’articles sur internet parlant du firmware présent dans les Macs. Certains parlaient même d’un problème de sécurité. Qu’en est-il réellement ?

Qu’est-ce que le firmware ?

Le firmware est un logiciel, une sorte de mini système d’exploitation, stocké sur une puce de la carte mère d’un ordinateur. Lorsque l’on démarre un ordinateur, le firmware est le premier élément logiciel a démarrer. Il va en premier tester de manière basique le matériel pour ensuite servir de lien entre le système d’exploitation et le matériel.
Dans l’univers informatique, le firmware le plus connu est celui développé à la base par IBM : le BIOS (Basic Input Output System). Il est utilisé sur la plupart des PC depuis plusieurs dizaines d’années. Cependant, sur nos Mac, il n’y a pas de BIOS. Si vous avez un Mac à processeur PowerPC, vous avez alors de l’Open Firmware, développé par Sun Microsystem. Les Mac à processeur Intel, quant à eux, possèdent un EFI (Extensible Firmware Interface).
L’EFI a été créé par Intel pour remplacer le BIOS qui devient maintenant très limité. Cependant, après 10 ans d’existence, l’EFI est toujours absent et le BIOS est présent. La faute incombe certainement à Microsoft qui n’a, jusqu’à peu, jamais supporté d’autres firmwares que le BIOS dans ses systèmes grand public. A l’heure actuelle, seuls Vista SP1 et Seven supportent l’EFI (mais dans sa version 2 alors que les Mac possède la version 1). De ce fait, comment est-il possible de faire tourner Windows XP ou Vista sur un Mac qui possède de l’EFI alors que celui ci n’est pas supporté ? C’est simple : l’EFI des Mac émule un BIOS. Windows supportant le BIOS, il peut s’installer.

Modifier le comportement de démarrage d’un Mac

Au chargement du firmware, celui ci effectue un POST (Power On Self Test). C’est-à-dire qu’il va tester le matériel pour vérifier qu’il n’y a aucune erreur. Vous aurez ensuite la possibilité de changer le comportement de démarrage du Mac en appuyant sur certaines touches au démarrage. Voici une liste non exhaustive de ces touches et de ce qu’elles provoquent :

  • C : Démarrer sur le CD.
  • N : Démarrer sur le réseau (nécessite un serveur netboot).
  • T : Démarrer en mode Target (le Mac se transforme en disque dur externe).
  • X : Démarrer Mac OS X.
  • Option (Alt) : Lister les volumes sur lesquels on peut démarrer.
  • Shift : Démarrer en Safe Mode (mode sûr qui ne charge que les éléments indispensable).
  • Command + S : Démarrer en mode Single User (mode sans interface graphique où vous avez accès administrateur à tout le système mais par défaut en lecture seule).
  • Command + V : Démarrer en mode Verbose (décrit à l’écran tout ce que le système effectue au démarrage).
  • Command + Option + P + R : Réinitialiser la PRAM (mémoire qui contient les variables utilisées par le firmware comme le volume sonore).
  • Clic de souris, de trackpad, eject ou F12 : Forcer l’éjection d’un CD.

Des problèmes de sécurité dans le firmware ?

Les touches de modification de démarrage peuvent être très dangereuses. Certains parlent même de problème de sécurité alors que ce sont simplement des fonctionnalités très utiles proposées par Apple. Grâce à ces touches, il est par exemple très simple de démarrer sur le disque d’installation de Mac OS X et d’utiliser l’utilitaire permettant de réinitialiser les mots de passe administrateurs, de démarrer le Mac en mode Target et de le brancher à un autre Mac pour accéder au contenu de tout le disque dur…
Le plus dangereux est certainement le mode Single User car il ne nécessite rien d’autre que l’accès au Mac. Dans ce mode, on a un accès total à la machine, mais le disque dur est monté en lecture seule. Cependant, en deux lignes de commandes, il est possible de remonter le disque dur en écriture et supprimer le fichier /var/db/.AppleSetupDone :

1
2
mount -uw /
rm /var/db/.AppleSetupDone

La suppression de ce fichier aura pour effet de faire croire au système qu’il démarre pour la première fois. Il lancera alors l’assistant de création de compte utilisateur et vous pourrez créer un nouveau compte administrateur.

Définir un mot de passe au firmware

Afin de sécuriser le firmware, Apple propose d’établir un mot de passe sur celui ci. Pour cela, vous aurez besoin du disque d’installation de Mac OS X. Dans le dossier Applications/Utilities de ce disque, vous trouverez l’application Firmware Password Utility qui permet de définir, modifier ou retirer le mot de passe du firmware. Cette application peut facilement être lancée depuis le menu Utilities en démarrant le Mac depuis ce disque d’installation. Vous pouvez cependant lancer l’application alors que Mac OS X est déjà démarré. Dans ce cas, un nom d’utilisateur et mot de passe administrateur vous seront demandés.
Attention, l’application se lancera très certainement avec un clavier AZERTY alors que lorsque le mot de passe sera demandé plus tard, le clavier sera en QWERTY. Dans le panneau International des préférences systèmes, vous pourrez passer votre clavier en QWERTY avant de définir ou changer ce mot de passe. Cela évitera bien des problèmes par la suite.

Le fait d’avoir définit un mot de passe à provoqué l’invalidation de la plupart des touches de modification de démarrage. Le mode Verbose, le mode Single User et le Safe Mode seront indisponibles. Le mode Target et le démarrage sur le réseau sont toujours disponibles dans le panneau Disque de démarrage des préférences systèmes. Il sera impossible de réinitialiser la PRAM…
La seule touche de modification toujours disponible est Option qui permet de lister les volumes sur lesquels on peut démarrer. Dans ce cas et uniquement dans ce cas, le mot de passe firmware vous sera demandé avant de lister les volumes. N’importe quelle autre touche appuyée au démarrage aura pour effet de démarrer sur le système par défaut. Le firmware est donc bien sécurisé.

En ayant un accès physique à la machine, il est cependant possible de supprimer ce mot de passe. Pour cela, il faut retirer la RAM, réinitialiser la PRAM quatre fois d’affilée puis remettre la RAM en place. Le mot de passe a alors disparu. À ceux qui seraient prêts à crier au scandale, sachez que les PC équipés d’un BIOS sur lequel on peut définir un mot de passe ont également un problème à ce niveau : en retirant la pile présente sur la carte mère, au bout d’un certain temps (quelques heures généralement), le BIOS est réinitialisé et perd son mot de passe.

N’oubliez jamais qu’avec un accès physique à une machine on peut tout faire.

Mots-clefs :, , , , , , ,

20 commentaires

<< Commentaires précédents Commentaires suivants >>

Répondre