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-recovery
und efi-boot-device
sehen aus, als könnten sie verschlüsselte Daten enthalten.
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:
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.
/usr/libexec/airportd readNVRAM
, wird das aktuelle Netzwerk aufgelistet, aber die Recovery Networks
Liste ist leer.
Benutzer3439894
n1000
Benutzer3439894
nvram -p
kö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. Verwendungsudo nvram -d variable_name
in einem Terminal.n1000