WiFiパスワードが回復パーティションに保存されないようにする方法は?


13

リカバリパーティションが起動し、メインシステムパーティションがロックされている場合(filevault2)、Macがどのようにインターネットに接続できるのかといつも思っていました。

一部のグーグルは、WiFiパスワードが明らかにNVRAMに保存されており、パスワードを削除するにはリセットする必要があることを明らかにしました(たとえば、herehere、およびaskdifferent)。セキュリティを重視する人として、これは私には受け入れられません。フルディスク暗号化(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(mid2012)を持っているあなたの最近の投稿のいずれかで行きますか?はいの場合、これはIntelベースのMacであり、PowerPCベースのMacのようにPRAMがありません。IntelベースのMacにはNVRAMがあります。あなたが言及した記事へのリンクを提供してください。
user3439894

@ user3439894歴史のレッスンをありがとう:)質問を更新しました。この問題はMacとOS Xに依存しないと思います(10.7で最初に気付きました)。
n1000

1
それでは、OS Xがリカバリパーティションにパスワードを保存しないようにする方法はありますか?」と尋ねたところ、パスワードは、Recovery HDパーティションではなくNVRAMに保存されているようです。使用しているターミナルで、nvram -pどのファームウェア変数がWi-Fiパスワードを保持しているかを出力から確認できますか?はいの場合、NVRAM全体をリセットせずに、その1つの変数のみをクリアできます。sudo nvram -d variable_nameターミナルで使用します。
user3439894

@ user3439894興味深い。質問を更新しました。
n1000

回答:


17

OS XがWPAパスフレーズ(またはPSK)をNVRAMに保存しないようにする方法については、いつも同じことを考えていました。

「nvram」を使用して、これらの資格情報を保持していると思った変数を見つけることができませんでした。今日は、LinuxのUSBライブイメージから起動してChipsecを実行してみました。EFI変数を一覧表示するコマンドは、OS X内でnvramを実行して得られた結果よりもはるかに多くの結果をもたらします。MacBookPro(2010年半ば)の変数には、

  • 現在のネットワーク
  • 優先ネットワーク
  • セキュリティパスワード

現在、ネットワーク変数のデータは平文で、私のホームルータのSSIDを含んでいます。次に、32バイトの最後まで0バイトが埋め込まれ、事前共有キー(PSK)の64桁の16進数を表します。

好適-ネットワークと同一の内容のような変数に見える現在のネットワーク

セキュリティパスワードの私は、これはファームウェアのロックのパスワードであると仮定して、変数には、EFIパスワードIセットとしてバイトのまったく同じ数を保持しています。何らかのマスキング/エンコードを使用していると思われます。私が持っていた理論の1つは、これらのパスワードはキーボードスキャンコードなどとして保存されるというものですが、まだ十分な情報がありません。

おそらく、Chipsecまたは別のEFIツールを使用して、これらのEFI変数をゼロにし、それらに書き換えできないようにアクセス制御/アクセス許可フラグを設定できます。おそらく、それらをゼロにするだけでも回避策になります(ラップトップなどを転売する必要がある場合)。OS Xが定期的に書き換えるのか、WPA資格情報を変更したときに書き換えるのかは私にはわかりません。

編集:私はちょうどNVRAMから無線LANのパスワードを取得するためのコマンドを学びました: /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が必要です):sudo nvram -d 36C28AB5-6566-4C50-9EBD-CBB920F83843:current-network

変数が返されるかどうかはまだ不明です。


興味深い洞察。詳細については、最新情報をお寄せください。私見では、この質問に対する完全な答えは、理想的には、パスワードを削除するには、いくつかの指示を提供するだろう...私が行うと/usr/libexec/airportd readNVRAMそこに記載されている現在のネットワークはあるが、Recovery Networksリストは空です。
n1000

ありがとう。変数を削除する方法に関するメモを付けて編集を追加しましたが、変数が戻るのを防ぐ方法がわかりません。
マイクマイヤーズ

nvramにアクセスするには、rootとして実行する必要はありませんか?パスワードを暗号化しているようです。セキュリティの観点からは十分ではないでしょうか?
videoguy

nvramを読み取るためにrootとして実行する必要はありませんが、削除するには必要です。
マイクマイヤーズ

1
パスワードを暗号化するかどうかに関しては、ワイヤレスネットワークの資格情報はパスワード/パスフレーズとしてではなく、実際にはバイナリのPSKとして保存されます。表示されるとき、暗号化されているように見えるかもしれませんが、そうではありません。エンコードされた16進文字列です。nvramコマンドを実行する場合よりも、airportdコマンドを使用した方が読みやすくなります。OS X 10.11でテストしたばかりですが、nvramコマンドメソッドは引き続き機能します。airportdに関しては、rootであるかどうかに関係なく、「readNVRAM」コマンドは無視されるようです。彼らが何を変えたのか分かりません。そのマニュアルページにはまだコマンドが存在すると書かれていますが、もう機能しませんか?
マイクマイヤーズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.