Come impedire l'archiviazione della password WiFi sulla partizione di ripristino?


13

Mi sono sempre chiesto come il mio Mac potesse connettersi a Internet quando la partizione di ripristino viene avviata e la mia partizione di sistema principale è bloccata (filevault2).

Alcuni googling hanno rivelato oggi (ad esempio qui , qui e anche su askdifferent ) che la password WiFi è apparentemente memorizzata nella NVRAM e che deve essere ripristinata per rimuovere la password. Come persona attenta alla sicurezza, questo è inaccettabile per me. Quando utilizzo la crittografia completa del disco (ad esempio Filevault2), mi aspetto che il sistema sia sicuro, anche contro la mia rete.

Esiste quindi un modo per impedire a OS X di rendere disponibile la password nella partizione di ripristino? In primo luogo, non sono sicuro di come o quando entrerà in NVRAM.

AGGIORNAMENTO1 : La NVRAM contiene i seguenti tasti: ( 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

Le chiavi efi-apple-recoverye efi-boot-devicesembrano che potrebbero contenere dati crittografati.


Seguendo uno dei tuoi post recenti hai un MacBook Pro (metà 2012) giusto? In caso affermativo, si tratta di un Mac Intel Base e non ha PRAM come nei Mac basati su PowerPC. I Mac basati su Intel hanno NVRAM. Fornisci un collegamento all'articolo che hai citato.
user3439894,

@utente3439894 grazie per la lezione di storia :) Aggiornata la domanda. Immagino che questo problema sia indipendente da Mac e OS X (notato per primo in 10.7).
n.

1
Hai chiesto " Quindi c'è un modo per impedire a OS X di memorizzare la password sulla partizione di ripristino? " E dai collegamenti forniti sembra che la password sia memorizzata nella NVRAM e non nella partizione di Recovery HD, due cose diverse. Se in un Terminale che usi nvram -ppuoi capire dall'uscita quale variabile del firmware contiene la password Wi-Fi? Se sì, puoi cancellare solo quella variabile senza reimpostare l'intera NVRAM. Utilizzare sudo nvram -d variable_namein un terminale.
user3439894,

@ user3439894 Interessante. Ho aggiornato la domanda.
1000,

Risposte:


17

Mi sono sempre chiesto la stessa cosa: come impedire a OS X di archiviare la passphrase (o PSK) WPA in NVRAM.

Usando 'nvram' non sono mai riuscito a trovare la variabile che pensavo contenesse queste credenziali. Oggi ho provato ad avviare un'immagine live USB di Linux e ad eseguire Chipsec . Il suo comando per elencare le variabili EFI ha molti più risultati di quelli che stavo ottenendo eseguendo nvram in OS X. Tra le variabili del mio MacBook Pro (metà 2010) c'erano:

  • corrente di rete
  • -reti preferite
  • security-password

I dati della variabile di rete corrente includono l'SSID del mio router di casa, in chiaro. Quindi viene riempito con 0 byte fino alla fine, ovvero 32 byte, e rappresenta le 64 cifre esadecimali della chiave pre-condivisa (PSK) .

La variabile delle reti preferite ha lo stesso contenuto della rete corrente .

La variabile password di sicurezza contiene esattamente lo stesso numero di byte della password EFI che ho impostato, quindi suppongo che questa sia la password di blocco del firmware. Sospetto che usi una sorta di mascheramento / codifica. Una teoria che ho avuto è che queste password sono memorizzate come codici di scansione della tastiera o qualcosa del genere, ma non ho ancora abbastanza informazioni.

Forse utilizzando Chipsec o un altro strumento EFI, è possibile azzerare queste variabili EFI e impostare un flag di controllo / autorizzazioni di accesso su di esse in modo che non possano essere riscritte. Forse anche solo azzerarli sarà una soluzione alternativa per te (se hai solo bisogno di rivendere il laptop o qualcosa del genere). Non mi è noto se OS X li riscriva regolarmente o solo quando si modificano le credenziali WPA.

EDIT : ho appena appreso di un comando per recuperare le password wifi da NVRAM: /usr/libexec/airportd readNVRAM

Inoltre, collegando il GUID, nvram può effettivamente leggere questi valori:

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

Quindi, forse puoi spazzare via quelle variabili e vedere come va.

EDIT 2 : come menzionato in un commento precedente, il metodo per eliminare una variabile EFI è il seguente (sudo richiesto per cancellare):sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network

Non è ancora chiaro se la variabile tornerà.


Approfondimenti interessanti. Tienici aggiornati se impari di più! IMHO una risposta completa a questa domanda fornirebbe idealmente alcune istruzioni per eliminare la password ... Quando lo faccio /usr/libexec/airportd readNVRAMc'è la rete corrente elencata ma l' Recovery Networkselenco è vuoto.
1000,

Grazie. Ho aggiunto una modifica con una nota su come eliminare la variabile, ma non so come impedirne il ritorno.
Mike Myers,

Non è necessario eseguire come root per accedere a nvram? Sembra che crittografino la password. Non dovrebbe essere abbastanza dal punto di vista della sicurezza?
videoguy,

Non è necessario essere in esecuzione come root per leggere nvram, ma è necessario per eliminarlo.
Mike Myers,

1
Per quanto riguarda se crittografano la password: le credenziali della rete wireless non sono memorizzate come password / passphrase, ma in realtà il PSK, che è in binario. Può apparire crittografato quando viene visualizzato, ma non lo è. È una stringa esadecimale codificata. È più facile da leggere con il comando airportd rispetto a quando si esegue il comando nvram. Ho appena provato con OS X 10.11 e il metodo di comando nvram funziona ancora. Per quanto riguarda airportd, sembra ignorare il comando "readNVRAM" ora che tu sia root o meno. Non sono sicuro di cosa siano cambiati. La sua pagina man dice ancora che il comando esiste, ma non funziona più?
Mike Myers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.