Zawsze zastanawiałem się, jak mój komputer Mac może połączyć się z Internetem, gdy partycja odzyskiwania jest uruchamiana, a moja główna partycja systemowa jest zablokowana (filevault2).
Niektórzy google ujawnili dzisiaj (np. Tutaj , tutaj , a także na żądanie ), że hasło WiFi jest najwyraźniej przechowywane w pamięci NVRAM i że należy je zresetować, aby je usunąć. Jako osoba dbająca o bezpieczeństwo jest to dla mnie nie do przyjęcia. Podczas korzystania z pełnego szyfrowania dysku (tj. Filevault2) oczekuję, że system będzie bezpieczny, także przed moją siecią.
Czy istnieje sposób, aby uniemożliwić OS X udostępnienie hasła na partycji odzyskiwania? Nie jestem pewien, jak i kiedy w ogóle dostaje się do NVRAM.
AKTUALIZACJA 1 : NVRAM zawiera następujące klucze: ( 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
Klucze efi-apple-recovery
i efi-boot-device
wyglądają, jakby mogły zawierać zaszyfrowane dane.
źródło
nvram -p
czy na podstawie danych wyjściowych wiesz, która zmienna oprogramowania układowego przechowuje hasło Wi-Fi? Jeśli tak, możesz wyczyścić tylko jedną zmienną bez resetowania całej pamięci NVRAM. Użyjsudo nvram -d variable_name
w terminalu.Odpowiedzi:
Zawsze zastanawiałem się nad tym samym: jak powstrzymać OS X przed przechowywaniem hasła WPA (lub PSK) w NVRAM.
Używając „nvram” nigdy nie mogłem znaleźć zmiennej, która moim zdaniem zawierała te poświadczenia. Dzisiaj próbowałem uruchomić system Linux na żywo z obrazu Linux i uruchomić Chipsec . Polecenie, aby wyświetlić zmienne EFI, ma o wiele więcej wyników niż uzyskiwałem, uruchamiając nvram w OS X. Wśród zmiennych w moim MacBooku Pro (połowa 2010 r.) Były:
Dane zmiennej bieżącej sieci obejmują SSID mojego domowego routera w postaci zwykłego tekstu. Następnie jest uzupełniany 0 bajtami do końca, który wynosi 32 bajty i reprezentuje 64 cyfry szesnastkowe klucza współdzielonego (PSK) .
Te korzystne sieciami zmienne wygląda jak same treści jak bieżącym-network .
Zabezpieczeniami hasło zmienna posiada dokładnie taką samą liczbę bajtów jako hasło EFI ustawić, więc zakładam, że jest to hasło blokady oprogramowania. Podejrzewam, że używa pewnego rodzaju maskowania / kodowania. Jedną z moich teorii jest to, że hasła są przechowywane jako kody skanowania klawiatury lub coś takiego, ale nie mam jeszcze wystarczających informacji.
Być może za pomocą Chipsec lub innego narzędzia EFI możesz wyzerować te zmienne EFI i ustawić na nich flagę kontroli dostępu / uprawnień, aby nie można było ich przepisać. Być może nawet samo ich wyzerowanie będzie dla Ciebie obejściem (jeśli potrzebujesz odsprzedać laptopa lub coś takiego). Nie wiadomo mi, czy system OS X przepisuje je regularnie, czy tylko po zmianie danych uwierzytelniających WPA.
EDYCJA : Właśnie dowiedziałem się o poleceniu pobierania haseł Wi-Fi z NVRAM:
/usr/libexec/airportd readNVRAM
Ponadto, dołączając GUID, nvram może faktycznie odczytać te wartości:
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-networks
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-count
Może więc zdmuchniesz te zmienne i zobaczysz, jak to działa.
EDYCJA 2 : jak wspomniano we wcześniejszym komentarzu, metoda usuwania zmiennej EFI jest następująca (sudo jest wymagane do usunięcia):
sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
Na razie nie jest jasne, czy zmienna powróci.
źródło
/usr/libexec/airportd readNVRAM
naRecovery Networks
liście jest obecna sieć, ale lista jest pusta.