복구 파티션에 WiFi 암호를 저장하지 못하게하는 방법은 무엇입니까?


13

복구 파티션이 부팅되고 기본 시스템 파티션이 잠겨있을 때 Mac이 인터넷에 어떻게 연결될 수 있는지 항상 궁금했습니다.

일부 인터넷 검색 결과 오늘 WiFi 비밀번호가 NVRAM에 저장되어 있으며 비밀번호를 제거하기 위해 재설정해야한다는 것이 밝혀졌습니다 (예 : 여기여기묻습니다 ). 보안에 민감한 사람으로서 이것은 받아 들일 수 없습니다. 전체 디스크 암호화 (예 : Filevault2)를 사용하는 경우 네트워크에 대해서도 시스템이 안전하다고 생각합니다.

그렇다면 OS X이 복구 파티션에서 암호를 사용할 수 없도록하는 방법이 있습니까? 언제 어떻게 NVRAM에 들어가는 지 잘 모르겠습니다.

UPDATE1 : NVRAM에는 다음 키가 포함되어 있습니다. ( 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

efi-apple-recoveryefi-boot-device암호화 된 데이터를 포함 할 수있는 것처럼 보입니다.


최근 게시물 중 하나로 MacBook Pro (2012 년 중반)가 있습니까? 그렇다면, 이것은 Intel Base Mac이며 PowerPC 기반 Mac에서와 같이 PRAM이 없습니다. 인텔 기반 Mac에는 NVRAM이 있습니다. 언급 한 기사에 대한 링크를 제공하십시오.
user3439894

역사 수업에 대한 @ user3439894 감사합니다 :) 질문을 업데이트했습니다. 나는이 문제가 Mac 및 OS X와 ​​독립적이라고 생각합니다 (10.7에서 처음 주목했습니다).
n1000

1
" OS X가 복구 파티션에 암호를 저장하지 못하게하는 방법이 있습니까? "라고 물었고 , 제공 한 링크에서 암호가 복구 HD 파티션이 아닌 NVRAM에 저장되고있는 것 같습니다. 터미널에서 사용하는 경우 nvram -pWi-Fi 암호를 보유하고있는 펌웨어 변수를 출력에서 ​​알 수 있습니까? 그렇다면 전체 NVRAM을 재설정하지 않고 해당 변수 하나만 지울 수 있습니다. sudo nvram -d variable_name터미널에서 사용하십시오 .
user3439894

@ user3439894 흥미 롭습니다. 질문을 업데이트했습니다.
n1000

답변:


17

OS X가 WPA 암호 (또는 PSK)를 NVRAM에 저장하지 못하게하는 방법은 항상 똑 같았습니다.

'nvram'을 사용하면 이러한 자격 증명을 보유하고 있다고 생각한 변수를 찾을 수 없었습니다. 오늘 저는 Linux의 USB 라이브 이미지로 부팅하고 Chipsec을 실행 하려고했습니다 . EFI 변수를 나열하는 명령은 OS X에서 nvram을 실행하여 얻는 것보다 훨씬 더 많은 결과를 얻습니다. MacBook Pro (2010 년 중반)의 변수 중 다음과 같습니다.

  • 현재 네트워크
  • 선호 네트워크
  • 보안 암호

현재 네트워크 변수의 데이터는 일반 텍스트로 내 홈 라우터의 SSID를 포함한다. 그런 다음 끝까지 32 바이트 인 0 바이트까지 채워지고 PSK (Pre-Shared Key) 의 64 자리 16 진수를 나타냅니다 .

바람직 - 네트워크는 동일한 내용 같은 변수 보이는 현재 네트워크 .

보안 암호 나는 이것이 펌웨어 잠금 암호 가정 있도록 변수는 EFI 암호 I 세트로 바이트 정확히 같은 수를 보유하고 있습니다. 나는 일종의 마스킹 / 인코딩을 사용하고 있다고 생각합니다. 내가 가진 한 가지 이론은이 암호가 키보드 스캔 코드 또는 다른 것으로 저장되어 있지만 아직 충분한 정보가 없다는 것입니다.

아마도 Chipsec 또는 다른 EFI 도구를 사용하면 이러한 EFI 변수를 제로화하고 다시 작성할 수 없도록 액세스 제어 / 권한 플래그를 설정할 수 있습니다. 아마도 그것들을 제로화하는 것조차도 당신에게 해결책이 될 것입니다 (노트북이나 무언가를 재판매 해야하는 경우). OS X이 정기적으로 다시 작성하는지 또는 WPA 자격 증명을 변경할 때만 알 수 있습니다.

편집 : 방금 NVRAM에서 wifi 암호를 검색하는 명령에 대해 배웠습니다. /usr/libexec/airportd readNVRAM

또한 GUID를 연결하여 nvram은 실제로 다음 값을 읽을 수 있습니다.

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

따라서 이러한 변수를 날려 버릴 수 있습니다.

편집 2 : 이전 주석에서 언급했듯이 EFI 변수를 삭제하는 방법은 다음과 같습니다 (삭제해야하는 경우).sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network

변수가 반환되는지 여부는 아직 확실하지 않습니다.


흥미로운 통찰력. 자세한 내용은 계속 업데이트하십시오! IMHO이 질문에 대한 완전한 대답은 암호를 삭제하는 지침을 이상적으로 제공합니다 ... /usr/libexec/airportd readNVRAM현재 네트워크가 나열되어 있지만 Recovery Networks목록이 비어 있습니다.
n1000

감사. 변수를 삭제하는 방법에 대한 메모와 함께 편집을 추가했지만 변수가 반환되지 않도록하는 방법을 모르겠습니다.
Mike Myers

nvram에 액세스하기 위해 루트로 실행하지 않아도됩니까? 암호를 암호화 한 것 같습니다. 보안 측면에서 충분하지 않습니까?
videoguy

nvram을 읽기 위해 루트로 실행하지 않아도되지만 삭제해야합니다.
Mike Myers

1
암호를 암호화하는지 여부 : 무선 네트워크 자격 증명은 암호 / 암호로 저장되지 않지만 실제로는 2 진 PSK입니다. 표시 될 때 암호화 된 것처럼 보일 수 있지만 그렇지 않습니다. 인코딩 된 16 진 문자열입니다. nvram 명령을 실행할 때보 다 airportd 명령을 사용하는 것이 더 쉽습니다. 방금 OS X 10.11로 테스트했지만 nvram 명령 방법이 여전히 작동합니다. 공항에 관해서는, 루트 여부에 상관없이 "readNVRAM"명령을 무시하는 것 같습니다. 그들이 무엇을 바꿨는지 모르겠다. 매뉴얼 페이지에 여전히 명령이 존재하지만 더 이상 작동하지 않습니까?
Mike Myers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.