Як запобігти збереженню пароля WiFi на розділі відновлення?


13

Мені завжди було цікаво, як мій Mac може підключитися до Інтернету, коли завантажується розділ відновлення, а мій основний системний розділ заблокований (filevault2).

Деякі googling виявили сьогодні (наприклад, тут , тут , а також на askdifferent ), що пароль 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-recoveryі efi-boot-deviceвиглядають так, ніби вони могли містити зашифровані дані.


Переходячи до однієї з останніх публікацій, у вас є MacBook Pro (середина2012 р.)? Якщо так, це Intel Base Mac і не має PRAM, як це було у MacP на базі PowerPC. Mac, які базуються на Intel, мають NVRAM. Надайте посилання на згадану вами статтю.
користувач3439894

@ user3439894 дякую за урок історії :) Оновлено питання. Я думаю, це питання не залежить від Mac та OS X (помітили його спочатку в 10.7).
n1000

1
Ви запитали " Чи є спосіб запобігти збереженню ОС X на паролі відновлення? ", І з наведених вами посилань, схоже, пароль зберігається в NVRAM, а не в розділі Recovery HD, двох різних речах. Якщо в терміналі, який ви використовуєте, чи nvram -pможете ви дізнатися з виводу, яка змінна вбудована програма містить пароль Wi-Fi? Якщо так, ви можете очистити лише цю змінну, не скидаючи всю NVRAM. Використання sudo nvram -d variable_nameв терміналі.
користувач3439894

@ user3439894 Цікаво. Я оновив питання.
n1000

Відповіді:


17

Мене завжди цікавило одне і те ж: як уберегти OS X від зберігання парольної фрази WPA (або PSK) у NVRAM.

Використовуючи 'nvram', я ніколи не зміг знайти змінну, яку, на мою думку, містив ці дані. Сьогодні я спробував завантажитися на живий образ USB з Linux та запустити Chipsec . Його команда для переліку змінних EFI має набагато більше результатів, ніж я отримував, запустивши nvram в ОС X. Серед змінних у моєму MacBook Pro (середина 2010 року) були:

  • поточна мережа
  • переважні мережі
  • безпека-пароль

Дані змінної поточної мережі включають SSID мого домашнього маршрутизатора в простому тексті. Потім вона забита 0 байтами до кінця, що становить 32 байти, і являє собою 64 шістнадцяткових цифр попередньо спільного ключа (PSK) .

У Preferred-мережі змінні скидаються таке ж зміст , як ток-мережу .

Безпеки пароль змінна містить точно таку ж кількість байтів , як EFI пароль I набору, тому я припускаю , що це пароль блокування прошивки. Я підозрюю, що він використовує якесь маскування / кодування. Однією з теорій у мене було те, що ці паролі зберігаються як коди сканування клавіатури чи щось таке, але у мене поки що недостатньо інформації.

Можливо, використовуючи Chipsec або інший інструмент EFI, ви можете зняти з нуля ці змінні EFI і встановити на них прапор контролю / дозволу, щоб вони не могли бути переписані. Можливо, навіть просто обнулення їх буде для вас вирішенням проблеми (якщо вам просто потрібно перепродати ноутбук чи щось таке). Мені невідомо, чи перезаписує їх OS X регулярно або просто під час зміни своїх облікових даних WPA.

EDIT : Я щойно дізнався про команду для отримання паролів Wi-Fi з NVRAM: /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

Тож, можливо, ви можете зняти ці змінні і подивитися, як це відбувається.

EDIT 2 : як згадувалося в попередньому коментарі, метод видалення змінної EFI полягає в наступному (для видалення потрібен sudo):sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network

Поки незрозуміло, чи повернеться змінна.


Цікаві уявлення. Будь ласка, інформуйте нас, якщо ви дізнаєтесь більше! Повна відповідь на це запитання IMHO в ідеалі дасть певну інструкцію щодо видалення пароля ... Коли я /usr/libexec/airportd readNVRAMтам, перелічена поточна мережа, але Recovery Networksсписок порожній.
n1000

Дякую. Я додав редагування з приміткою про те, як видалити змінну, але не знаю, як запобігти її поверненню.
Майк Майєрс

Чи не потрібно вам працювати як root, щоб отримати доступ до nvram? Схоже, вони шифрують пароль. Чи не повинно цього бути достатньо з точки зору безпеки?
videoguy

Для читання nvram вам не потрібно запускати як root, але вам потрібно його видалити.
Майк Майєрс

1
Що стосується того, чи шифрують вони пароль: облікові дані бездротової мережі зберігаються не як пароль / пароль, а власне PSK, який знаходиться у двійковій формі. Він може виглядати зашифрованим під час його відображення, але це не так. Це кодований шістнадцятковий рядок. Простіше читати за допомогою команди airportd, ніж коли ти запускаєш команду nvram. Я щойно тестував OS X 10.11, і метод команди nvram все ще працює. Що стосується airportd, то, здається, зараз ігноруємо команду "readNVRAM", незалежно від того, чи ти root, чи ні. Я не впевнений, що вони змінили. На його довільній сторінці все ще сказано, що команда існує, але вона більше не працює?
Майк Майєрс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.