Eu sempre me perguntei como meu Mac poderia se conectar à Internet quando a partição de recuperação é inicializada e a minha partição principal do sistema está bloqueada (filevault2).
Alguns pesquisadores revelaram hoje (por exemplo , aqui , aqui e também em askdiferente ) que a senha do WiFi aparentemente está armazenada na NVRAM e que precisa ser redefinida para remover a senha. Como uma pessoa consciente de segurança, isso é inaceitável para mim. Ao usar a Criptografia de disco completo (ou seja, Filevault2), espero que o sistema seja seguro, também contra a minha rede.
Existe uma maneira de impedir que o OS X disponibilize a senha na partição de recuperação? Não tenho certeza de como ou quando ele entra na NVRAM.
UPDATE1 : A NVRAM contém as seguintes chaves: ( 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
As chaves efi-apple-recovery
e efi-boot-device
parecem que podem conter dados criptografados.
fonte
nvram -p
pode dizer pela saída qual variável de firmware está mantendo a senha de Wi-Fi? Se sim, você pode limpar apenas essa variável sem redefinir toda a NVRAM. Usesudo nvram -d variable_name
em um terminal.Respostas:
Eu sempre me perguntei a mesma coisa: como impedir o OS X de armazenar a senha WPA (ou PSK) na NVRAM.
Usando o 'nvram', nunca consegui encontrar a variável que achava que possuía essas credenciais. Hoje, tentei inicializar com uma imagem ao vivo USB do Linux e executar o Chipsec . Seu comando para listar variáveis EFI tem muito mais resultados do que eu estava executando com o nvram no OS X. Entre as variáveis no meu MacBook Pro (meados de 2010) estavam:
Os dados da variável de rede atual incluem o SSID do meu roteador doméstico, em texto sem formatação. Em seguida, é preenchido com 0 bytes até o final, que é de 32 bytes, e representa os 64 dígitos hexadecimais da chave pré-compartilhada (PSK) .
A variável de redes preferenciais se parece com o mesmo conteúdo da rede atual .
A variável security-password contém exatamente o mesmo número de bytes que a senha EFI que eu defini, portanto, presumo que essa seja a senha do Firmware Lock. Eu suspeito que ele usa algum tipo de mascaramento / codificação. Uma teoria que eu tinha é que essas senhas são armazenadas como códigos de verificação do teclado ou algo assim, mas ainda não tenho informações suficientes.
Talvez usando o Chipsec ou outra ferramenta EFI, você pode zerar essas variáveis EFI e definir um sinalizador de controle / permissões de acesso para que não possam ser reescritas. Talvez até zerá-los seja uma solução alternativa para você (se você precisar revender o laptop ou algo assim). Não se sabe se o OS X os reescreve regularmente ou apenas quando você altera suas credenciais WPA.
EDIT : Acabei de saber de um comando para recuperar senhas wifi da NVRAM:
/usr/libexec/airportd readNVRAM
Além disso, anexando o GUID, o nvram pode realmente ler estes valores:
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-networks
nvram 36C28AB5-6566-4C50-9EBD-CBB920F83843:preferred-count
Então, talvez você possa afastar essas variáveis e ver como elas vão.
EDIT 2 : conforme mencionado em um comentário anterior, o método para excluir uma variável EFI é o seguinte (é necessário sudo para excluir):
sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network
Ainda não está claro se a variável retornará.
fonte
/usr/libexec/airportd readNVRAM
há a rede atual listada, mas aRecovery Networks
lista está vazia.