web-dev-qa-db-ja.com

休止状態のWindowsマシンからメモリの内容を抽出できますか?

ハードウェアハックに関する最近の議論では、Windows休止状態を取り巻く攻撃が浮上しました。ディスクに保存されているメモリからデータを取り出すことが実行可能であると私は完全には確信していません。

Windowsが休止状態になると、RAMの内容がディスク上のファイルに(そしておそらく他のものも知りません))配置されてからオフになります。再びオンになると、 mは、保存されたRAMの内容を実際のRAM自体にポップします。

したがって、仮想的な攻撃は、保存されたディスクファイルを盗んで、RAMコンテンツ(パスワードなどの機密データを含む可能性がある)を盗むか、RAM内容、任意のコードが実行されるように命令を追加/編集することによる。

さて、マシンに物理的にアクセスできる攻撃者はほとんど何でもできることを知っていますが、これらの特定の攻撃を考慮すると、これはまったく可能ですか?ディスク全体の暗号化がない場合、Windowsは保存されたRAMが実際に休止状態になるときに暗号化しますか?

また、誰かがこのファイルがどこに保存されるか知っていますか?それで、おそらくLiveCDを使用して、ディスクの内容を実際に見ることができますか?

14
sudhacker

はい、暗号化せずにディスクに保存します。これはC:\hiberfil.sysの隠しファイルであり、休止状態が有効になっているすべてのシステムで常に作成されます。内容はXpressアルゴリズムを使用して圧縮されます。そのドキュメントは MicrosoftからのWord文書 として入手できます。 Matthieu Suicheは、2008年にBlackHatプレゼンテーションとしてそれを包括的に分析しました。これは PDFとして取得 できます。ファイルの内容をダンプできる MoonSols Windows Memory Toolkit というツールもあります。ただし、それで元に戻すことができるかどうかはわかりません。あなた自身でそれを行う方法に取り組む必要があるかもしれません。

データを取得したら、指示などのデータを抽出または変更できます。軽減策に関しては、BitLockerやTrueCryptなどのフルディスク暗号化を使用するのが最善のソリューションです。

16
Polynomial

コンピューターを起動してイメージを再開するだけで、休止状態のイメージのコンテンツにアクセスできます。結局のところ、これは冬眠の要点です。再開にシークレットが必要ない場合、休止状態のイメージは自己完結型であることを意味します。攻撃者が正規のユーザーと区別する方法がないため、攻撃者がハイバネーションイメージにアクセスすることに対する保護はありません。

再開しても、すべてにアクセスできるとは限りません。画面に戻った場合は、プロンプトのロックを解除します。ハイバネーションイメージのコピーを作成すると、複数回起動できます。復元を成功させるには、元のハードウェアをかなり厳密にエミュレートする必要がありますが、仮想マシンで起動することもできます。

もちろん、休止状態のイメージに書き込まれたデータにアクセスする最良の方法は、実行せずに読み取ることです( 多項式の答え には、フォーマットのドキュメントへのポインタがあります)。

休止状態のイメージを暗号化することは原則的に可能ですが、ユーザーインターフェイスの変更が必要です。誰かが再開時に復号化キーを入力する必要があります(通常はパスフレーズを入力するか、スマートカードを挿入するなど)。私の知る限り、Bitlockerを使用しても、Windowsは休止状態ファイルの暗号化をサポートしていません( FAQ はあいまいです この記事 は、そのような機能がないと主張しています) 。 TrueCrypt は、Linuxのハイバネーションおよびディスク暗号化メカニズムと同様に、ハイバネーションファイルの暗号化をサポートしています。

暗号化された休止状態のイメージは、ディスクを盗む攻撃者には役に立たないが、誰かが休止状態のシステムにアクセスしてブートにマルウェアを仕掛けることができる evil maid attack を防御しないことに注意してください。正当なユーザーが次に来てパスフレーズを入力したときにアクティブになる画像。このような攻撃を防ぐには、ブートローダー(再開機能を含む)の整合性を確認する必要があります。これは、システムのコールドブートを攻撃することと同じです。

このような攻撃は可能です。ファイル名は、Windowsパーティションのルートにある「hiberfil.sys」です。場所は変更できます。 Windowsは、休止状態やスワップ(pagefile.sys)ファイルを暗号化しません。この種類のオフライン攻撃を回避するには、(システムドライブ、およびhiberfil.sysとpagefile.sysが格納されているドライブの場所が変更されている場合はそれらを格納するドライブの)完全なディスク暗号化を使用する必要があります。

3
Matrix