Làm cách nào để ngăn lưu trữ mật khẩu WiFi trên phân vùng khôi phục?


13

Tôi luôn tự hỏi làm thế nào máy Mac của tôi có thể kết nối với internet khi phân vùng phục hồi được khởi động và phân vùng hệ thống chính của tôi bị khóa (filevault2).

Một số googling tiết lộ ngày hôm nay (ví dụ ở đây , ở đây và trên cả người hỏi ) rằng mật khẩu WiFi rõ ràng được lưu trữ trong NVRAM và cần phải được đặt lại để xóa mật khẩu. Là một người có ý thức bảo mật, điều này là không thể chấp nhận được đối với tôi. Khi sử dụng Mã hóa toàn bộ đĩa (tức là Filevault2), tôi hy vọng hệ thống sẽ an toàn, cũng chống lại mạng của tôi.

Vậy có cách nào để ngăn OS X làm cho mật khẩu có sẵn trong phân vùng phục hồi không? Tôi không chắc chắn làm thế nào hoặc khi nào nó vào NVRAM ở nơi đầu tiên.

CẬP NHẬT1 : NVRAM chứa các khóa sau: ( 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

Các khóa efi-apple-recoveryefi-boot-devicetrông giống như chúng có thể chứa dữ liệu được mã hóa.


Đi qua một trong những bài đăng gần đây của bạn, bạn có MacBook Pro (giữa năm 2012) phải không? Nếu có, đây là máy Mac cơ sở của Intel và không có PRAM như với máy Mac dựa trên PowerPC. Máy Mac của Intel có NVRAM. Vui lòng cung cấp một liên kết đến bài viết mà bạn đề cập.
dùng3439894

@ user3439894 cảm ơn vì bài học lịch sử :) Cập nhật câu hỏi. Tôi đoán vấn đề này độc lập với Mac và OS X (nhận thấy vấn đề này đầu tiên vào ngày 10.7).
n1000

1
Bạn đã hỏi " Vậy có cách nào để ngăn OS X lưu trữ mật khẩu trên phân vùng phục hồi không? " Và từ các liên kết bạn cung cấp, có vẻ như mật khẩu đang được lưu trữ trong NVRAM chứ không phải phân vùng Recovery HD, hai điều khác nhau. Nếu trong Terminal bạn sử dụng, bạn nvram -pcó thể cho biết từ đầu ra biến firmware nào đang giữ mật khẩu Wi-Fi không? Nếu có, bạn chỉ có thể xóa một biến đó mà không cần thiết lập lại toàn bộ NVRAM. Sử dụng sudo nvram -d variable_nametrong Terminal.
dùng3439894

@ user3439894 Thú vị. Tôi cập nhật câu hỏi.
n1000

Câu trả lời:


17

Tôi đã luôn tự hỏi một điều tương tự: làm thế nào để ngăn OS X lưu trữ cụm mật khẩu WPA (hoặc PSK) trong NVRAM.

Sử dụng 'nvram' tôi không bao giờ có thể tìm thấy biến mà tôi nghĩ đã nắm giữ những thông tin này. Hôm nay, tôi đã thử khởi động vào hình ảnh USB trực tiếp của Linux và chạy Chipsec . Lệnh liệt kê các biến EFI có nhiều kết quả hơn tôi nhận được bằng cách chạy nvram trong OS X. Trong số các biến trong MacBook Pro của tôi (giữa năm 2010) là:

  • mạng hiện hành
  • Mạng lưới được ưu tiên
  • mật khẩu bảo mật

Các vãng mạng dữ liệu biến bao gồm SSID của router nhà của tôi, trong văn bản gốc. Sau đó, nó được đệm với 0 byte cho đến hết, là 32 byte và đại diện cho 64 chữ số hex của Khóa chia sẻ trước (PSK) .

Các ưu đãi-mạng vẻ biến như các nội dung tương tự như hiện nay mạng .

Biến mật khẩu bảo mật giữ chính xác cùng số byte với mật khẩu EFI tôi đặt, vì vậy tôi giả sử đây là mật khẩu Khóa phần sụn. Tôi nghi ngờ nó sử dụng một số loại mặt nạ / mã hóa. Một giả thuyết tôi có là những mật khẩu này được lưu trữ dưới dạng mã quét bàn phím hoặc thứ gì đó, nhưng tôi chưa có đủ thông tin.

Có lẽ bằng cách sử dụng Chipsec hoặc một công cụ EFI khác, bạn có thể loại bỏ các biến EFI này và đặt cờ kiểm soát truy cập / quyền cho chúng để chúng không thể được viết lại. Có lẽ thậm chí chỉ cần loại bỏ chúng sẽ là một cách giải quyết cho bạn (nếu bạn chỉ cần bán lại máy tính xách tay hoặc một cái gì đó). Tôi không biết liệu OS X có viết lại chúng thường xuyên hay chỉ khi bạn thay đổi thông tin đăng nhập WPA.

EDIT : Tôi vừa học được một lệnh lấy mật khẩu wifi từ NVRAM: /usr/libexec/airportd readNVRAM

Ngoài ra, bằng cách đính kèm GUID, nvram thực sự có thể đọc các giá trị này:

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

Vì vậy, có lẽ bạn có thể thổi bay các biến đó và xem nó diễn ra như thế nào.

EDIT 2 : như được đề cập bởi một nhận xét trước đó, phương pháp xóa biến EFI như sau (sudo bắt buộc phải xóa):sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network

Vẫn chưa rõ liệu biến số có trở lại hay không.


Những hiểu biết thú vị. Hãy cập nhật cho chúng tôi nếu bạn tìm hiểu thêm! IMHO một câu trả lời hoàn chỉnh cho câu hỏi này lý tưởng sẽ cung cấp một số hướng dẫn để xóa mật khẩu ... Khi tôi làm /usr/libexec/airportd readNVRAMcó mạng hiện tại được liệt kê nhưng Recovery Networksdanh sách trống.
n1000

Cảm ơn. Tôi đã thêm một chỉnh sửa kèm theo ghi chú về cách xóa biến, nhưng tôi không biết làm thế nào để ngăn nó quay trở lại.
Mike Myers

Bạn không phải chạy bằng root để truy cập nvram? Có vẻ như họ mã hóa mật khẩu. Không nên là đủ từ quan điểm bảo mật?
videoguy

Bạn không cần phải chạy bằng root để đọc nvram, nhưng bạn cần xóa nó.
Mike Myers

1
Về việc họ có mã hóa mật khẩu hay không: thông tin mạng không dây không được lưu dưới dạng mật khẩu / cụm mật khẩu, mà thực sự là PSK, ở dạng nhị phân. Nó có thể trông được mã hóa khi nó được hiển thị, nhưng nó không phải là. Đó là một chuỗi hex được mã hóa. Nó dễ đọc hơn với lệnh sân bay so với khi bạn chạy lệnh nvram. Tôi vừa thử nghiệm với OS X 10.11 và phương thức lệnh nvram vẫn hoạt động. Đối với sân bay, dường như bỏ qua lệnh "readNVRAM" cho dù bạn có root hay không. Tôi không chắc những gì họ đã thay đổi. Trang man của nó vẫn nói lệnh tồn tại, nhưng nó không còn hoạt động?
Mike Myers
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.