Wie kann verhindert werden, dass das WLAN-Passwort auf der Wiederherstellungspartition gespeichert wird?

Ich habe mich immer gefragt, wie mein Mac eine Verbindung zum Internet herstellen kann, wenn die Wiederherstellungspartition gestartet wird und meine Hauptsystempartition gesperrt ist (filevault2).

Einige Googeln haben heute (z. B. hier , hier und auch auf askdifferent ) ergeben, dass das WLAN-Passwort anscheinend im NVRAM gespeichert ist und zurückgesetzt werden muss, um das Passwort zu entfernen. Als sicherheitsbewusster Mensch ist das für mich nicht akzeptabel. Bei der Verwendung von Full Disk Encryption (dh Filevault2) erwarte ich, dass das System sicher ist, auch gegenüber meinem Netzwerk.

Gibt es also eine Möglichkeit zu verhindern, dass OS X das Passwort in der Wiederherstellungspartition verfügbar macht? Ich bin mir nicht sicher, wie oder wann es überhaupt in NVRAM gelangt.

UPDATE1 : Das NVRAM enthält die folgenden Schlüssel: ( 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

Die Schlüssel efi-apple-recoveryund efi-boot-devicesehen aus, als könnten sie verschlüsselte Daten enthalten.

Wenn Sie einem Ihrer letzten Beiträge nachgehen, haben Sie ein MacBook Pro (Mitte 2012), richtig? Wenn ja, ist dies ein Intel-Basis-Mac und hat keinen PRAM wie bei PowerPC-basierten Macs. Intel-basierte Macs haben NVRAM. Bitte geben Sie einen Link zu dem von Ihnen erwähnten Artikel an.
@ user3439894 danke für die Geschichtsstunde :) Aktualisierte die Frage. Ich denke, dieses Problem ist unabhängig von Mac und OS X (erstmals in 10.7 bemerkt).
Sie haben gefragt: " Gibt es also eine Möglichkeit, OS X daran zu hindern, das Kennwort auf der Wiederherstellungspartition zu speichern? ", und aus den von Ihnen bereitgestellten Links geht hervor, dass das Kennwort im NVRAM und nicht in der Wiederherstellungs-HD-Partition gespeichert wird, zwei verschiedene Dinge. Wenn Sie in einem Terminal verwenden, nvram -pkönnen Sie anhand der Ausgabe erkennen, welche Firmware-Variable das Wi-Fi-Passwort enthält? Wenn ja, können Sie nur diese eine Variable löschen, ohne das gesamte NVRAM zurückzusetzen. Verwendung sudo nvram -d variable_namein einem Terminal.
@ user3439894 Interessant. Ich habe die Frage aktualisiert.

Antworten (1)

Ich habe mich immer dasselbe gefragt: Wie kann man verhindern, dass OS X die WPA-Passphrase (oder PSK) im NVRAM speichert.

Mit 'nvram' konnte ich nie die Variable finden, von der ich dachte, dass sie diese Anmeldeinformationen enthält. Heute habe ich versucht, von einem USB-Live-Image von Linux zu booten und Chipsec auszuführen . Sein Befehl zum Auflisten von EFI-Variablen hat viel mehr Ergebnisse als ich beim Ausführen von nvram in OS X erhalten habe. Unter den Variablen in meinem MacBook Pro (Mitte 2010) waren:

  • Stromnetz
  • bevorzugte Netzwerke
  • Sicherheitspasswort

Die Daten der aktuellen Netzwerkvariablen enthalten die SSID meines Heimrouters im Klartext. Dann wird es mit 0-Bytes bis zum Ende aufgefüllt, das 32 Bytes beträgt und die 64 Hex-Ziffern des Pre-Shared Key (PSK) darstellt .

Die Variable Preferred -Networks sieht aus wie derselbe Inhalt wie Current-Network .

Die Sicherheitskennwortvariable enthält genau die gleiche Anzahl von Bytes wie das von mir festgelegte EFI-Kennwort, daher gehe ich davon aus, dass dies das Kennwort für die Firmware-Sperre ist. Ich vermute, es verwendet eine Art Maskierung/Codierung. Eine Theorie, die ich hatte, ist, dass diese Passwörter als Tastatur-Scan-Codes oder so gespeichert sind, aber ich habe noch nicht genug Informationen.

Vielleicht können Sie diese EFI-Variablen mit Chipsec oder einem anderen EFI-Tool auf Null setzen und ein Zugriffssteuerungs-/Berechtigungs-Flag für sie setzen, damit sie nicht neu geschrieben werden können. Vielleicht ist es sogar eine Problemumgehung, sie einfach auf Null zu setzen (wenn Sie den Laptop nur weiterverkaufen müssen oder so). Es ist mir nicht bekannt, ob OS X sie regelmäßig neu schreibt oder nur wenn Sie Ihre WPA-Anmeldeinformationen ändern.

BEARBEITEN : Ich habe gerade von einem Befehl zum Abrufen von WLAN-Passwörtern aus dem NVRAM erfahren:/usr/libexec/airportd readNVRAM

Durch Anhängen der GUID kann nvram diese Werte auch tatsächlich lesen:

  • nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
  • nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-networks
  • nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-count

Vielleicht können Sie diese Variablen wegblasen und sehen, wie es läuft.

BEARBEITEN 2 : Wie in einem früheren Kommentar erwähnt, lautet die Methode zum Löschen einer EFI-Variablen wie folgt (sudo zum Löschen erforderlich):sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network

Ob die Variable zurückkehrt, ist noch unklar.

Interessante Einblicke. Bitte halten Sie uns auf dem Laufenden, wenn Sie mehr erfahren! IMHO würde eine vollständige Antwort auf diese Frage idealerweise eine Anweisung zum Löschen des Passworts enthalten ... Wenn ich dies tue /usr/libexec/airportd readNVRAM, wird das aktuelle Netzwerk aufgelistet, aber die Recovery NetworksListe ist leer.
Vielen Dank. Ich habe eine Bearbeitung mit einem Hinweis zum Löschen der Variablen hinzugefügt, aber ich weiß nicht, wie ich verhindern kann, dass sie zurückkehrt.
Müssen Sie nicht als Root ausgeführt werden, um auf nvram zuzugreifen? Es sieht so aus, als würden sie das Passwort verschlüsseln. Sollte es aus Sicherheitssicht nicht reichen?
Sie müssen nicht als root ausgeführt werden, um nvram zu lesen, aber Sie benötigen es zum Löschen.
Ob sie das Passwort verschlüsseln: Die Anmeldeinformationen für das drahtlose Netzwerk werden nicht als Passwort/Passphrase gespeichert, sondern tatsächlich als PSK, das binär ist. Es sieht möglicherweise verschlüsselt aus, wenn es angezeigt wird, ist es aber nicht. Es ist ein verschlüsselter Hex-String. Mit dem Befehl "airportd" ist es einfacher zu lesen als mit dem Befehl "nvram". Ich habe gerade mit OS X 10.11 getestet, und die nvram-Befehlsmethode funktioniert immer noch. Was airportd betrifft, so scheint es den Befehl "readNVRAM" jetzt zu ignorieren, unabhängig davon, ob Sie root sind oder nicht. Ich bin mir nicht sicher, was sie geändert haben. Die Manpage sagt immer noch, dass der Befehl existiert, aber er funktioniert nicht mehr?
Vielen Dank. Hinweis: Die sehr lange Zahl im variablen Schlüsselnamen im angegebenen Löschbefehl ist universell und hat auch auf meinem Computer funktioniert. Ursprünglich dachte ich, ich brauche eine andere Nummer auf meiner Maschine. aber funktioniert. Danke für die Fehlerbehebung.