Je me suis toujours demandé comment mon Mac pouvait se connecter à Internet lorsque la partition de récupération était démarrée et que ma partition système principale était verrouillée (filevault2).
Une recherche sur Google a révélé aujourd'hui (par exemple ici , ici et également sur askdifferent ) que le mot de passe WiFi est apparemment stocké dans la NVRAM et qu'il doit être réinitialisé pour supprimer le mot de passe. En tant que personne soucieuse de la sécurité, cela est inacceptable pour moi. Lorsque j'utilise Full Disk Encryption (c'est-à-dire Filevault2), je m'attends à ce que le système soit sûr, également contre mon réseau.
Existe-t-il un moyen d'empêcher OS X de rendre le mot de passe disponible dans la partition de récupération? Je ne sais pas comment ni quand il entre dans la NVRAM en premier lieu.
UPDATE1 : La NVRAM contient les clés suivantes: ( nvram -p
):
BootCampHD
SystemAudioVolume
SystemAudioVolumeDB
aht-results
backlight-level
bluetoothActiveControllerInfo
bluetoothInternalControllerInfo
boot-gamma
efi-apple-recovery
efi-boot-device
efi-boot-device-data
fmm-computer-name
good-samaritan-message
gpu-policy
prev-lang:kbd
Les clés efi-apple-recovery
et efi-boot-device
semblent pouvoir contenir des données chiffrées.
nvram -p
pouvez-vous dire à partir de la sortie quelle variable de micrologiciel contient le mot de passe Wi-Fi? Si oui, vous pouvez effacer uniquement cette variable sans réinitialiser l'intégralité de la NVRAM. Utilisersudo nvram -d variable_name
dans un terminal.Réponses:
Je me suis toujours demandé la même chose: comment empêcher OS X de stocker la phrase secrète WPA (ou PSK) dans NVRAM.
En utilisant 'nvram', je n'ai jamais pu trouver la variable qui, selon moi, détenait ces informations d'identification. Aujourd'hui, j'ai essayé de démarrer sur une image live USB de Linux et d'exécuter Chipsec . Sa commande pour répertorier les variables EFI a beaucoup plus de résultats que ce que j'obtenais en exécutant nvram dans OS X. Parmi les variables de mon MacBook Pro (mi-2010), il y avait:
Les données de la variable réseau actuelle incluent le SSID de mon routeur domestique, en texte clair. Elle est ensuite complétée par 0 octet jusqu'à la fin, soit 32 octets, et représente les 64 chiffres hexadécimaux de la clé pré-partagée (PSK) .
La variable des réseaux préférés ressemble au même contenu que le réseau actuel .
La variable security-password contient exactement le même nombre d'octets que le mot de passe EFI que j'ai défini, donc je suppose que c'est le mot de passe de verrouillage du micrologiciel. Je soupçonne qu'il utilise une sorte de masquage / encodage. Une théorie que j'avais était que ces mots de passe sont stockés sous forme de codes de numérisation du clavier ou quelque chose, mais je n'ai pas encore assez d'informations.
Peut-être qu'en utilisant Chipsec ou un autre outil EFI, vous pouvez mettre à zéro ces variables EFI et définir un indicateur de contrôle d'accès / autorisations sur elles afin qu'elles ne puissent pas être réécrites. Peut-être même que les mettre à zéro sera une solution de contournement pour vous (si vous avez juste besoin de revendre l'ordinateur portable ou quelque chose). Je ne sais pas si OS X les réécrit régulièrement ou juste lorsque vous modifiez vos informations d'identification WPA.
EDIT : Je viens d'apprendre une commande pour récupérer les mots de passe wifi de NVRAM:
/usr/libexec/airportd readNVRAM
De plus, en attachant le GUID, nvram peut réellement lire ces valeurs:
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-networks
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-count
Donc, vous pouvez peut-être faire sauter ces variables et voir comment ça se passe.
EDIT 2 : comme mentionné par un commentaire précédent, la méthode pour supprimer une variable EFI est la suivante (sudo requis pour supprimer):
sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
Il n'est pas encore clair si la variable reviendra.
la source
/usr/libexec/airportd readNVRAM
, le réseau actuel est répertorié mais laRecovery Networks
liste est vide.