web-dev-qa-db-ja.com

Bitlockered Windows PCに対するオフラインBruteforce攻撃

現在、保存されているパスワード(フルディスク暗号化キーのセキュリティ保護に使用)に対するオフライン攻撃の観点から、Bitlockerのセキュリティを評価しています。私の想定では、FDEキーの復号化/決定に使用するパスワードは何らかの方法でディスクに保存する必要があります。そうでない場合、FDEキーが正しいかどうかを判断することは不可能です。

私の質問は、たとえば、ラップトップが盗まれ、Bitlockerを使用してOSボリュームのロックを解除するために使用されるパスワードを保護していた場合、オフライン攻撃に対する耐性はどれほどあるかパスワードを回復するため =?このような攻撃から保護するためにどのようなテクニック/アルゴリズムを使用していますか?

ディスクまたはFDEキー上のデータの回復にはあまり興味がないことに注意してください。盗まれたラップトップを所持している熟練した攻撃者に対するオフライン攻撃に対するユーザーのパスワード自体の耐性に基づいて、私はこれに純粋に興味を持っています。

11
MattCotterellNZ

概説する攻撃は、すべてのタイプの暗号化の根本的な問題です:暗号化キー(のソース)としてパスワードを使用する場合、パスワードは、必要な暗号化強度と同じくらいのエントロピーを持つ必要があります。そうでない場合、オフラインに対して脆弱です。総当たり。

つまり、Bitlockerがキー(のソース)として入力したパスワードをそのまま使用した場合、この攻撃に対して脆弱になります。

Bitlockerは、さまざまな方法でこの問題に対処する複数の認証メカニズムを提供します。

  • 推奨されるメカニズム(AFAIK)は、コンピューターの Trusted Platform Module (TPM)を使用することです。 TPM認証では(Bitlockerを使用した透過操作モードと呼ばれます)、TPMチップはBitlockerキーを格納します。 TPMは、特定のパスワード/ PINが提供された場合にのみそのキーを解放し、認証の試行回数を制限するように特別に設計されています。したがって、パスワードはTPMに格納されているためオフラインで攻撃できないため、比較的弱いパスワード/ PINで十分です。
  • 別の解決策は、USBキーモードを使用することです。このモードでは、キーはUSBキーに保存されているか(オプションでパスワードで保護されています)、安全な認証を実行する特別なUSBデバイスが使用されます(TPMチップと同様)。この場合も、キーはUSBデバイスに格納されているため、オフライン攻撃は不可能です。ただし、USBデバイスが単純なストレージデバイスの場合は、オフライン攻撃が可能です(したがって、非常に安全に保存する必要があります)。

USBキーモードとTPMを組み合わせて、セキュリティをさらに強化できます。

TPMチップなしでBitlockerを使用することが可能であることに注意してください(これは明らかにマイクロソフトによって推奨されていません)。これを行うと、パスワードの総当たり攻撃に対して確かに脆弱になるため、十分なエントロピー、つまり少なくとも128ビット、より良い168ビットのパスワードが必要です。


Bitlockerの設計の選択、セキュリティのトレードオフ、およびテクノロジーの広範な議論については、Niels FergusonによるペーパーAES-CBC + Elephant diffuser、A Disk Encryption Algorithm for Windows Vistaを参照してください。 from http://go.Microsoft.com/fwlink/?LinkId=80598

6
sleske

BitLockerは、「ボリュームマスターキー」を使用してドライブを暗号化します。これは、永続的なストレージに直接配置されることはありません。 1つ以上の「キープロテクター」がボリュームメタデータに存在し、それぞれがVMKを取得する方法を提供します。 PIN /パスワードベースのプロテクターの場合、パスワードは非常に遅い鍵導出関数(bcryptのようなものですが、実際にはどの関数または正確なパラメーターが何かはわかりません)を通過します。パラメーターはおそらくハードウェアによって異なりますが、私の作業マシンでは0.5秒以上かかります。

次に、この派生キーが格納されたハッシュと照合され、一致する場合はVMKの復号化に使用されます(つまり、PIN /パスワードプロテクターには、KDFが出力するキーを使用して暗号化されたVMKのバージョンが含まれています)。派生キーのハッシュ。派生キーの正当性をチェックするために使用されます)。

パスワードの総当たりを試みるには、アルゴリズムとそのパラメーター(塩、仕事係数など)を把握する必要があります。利用可能な深刻なコンピューティングリソースがない限り、KDFが遅いため、ブルートフォース検索で何かを見つけるのに非常に長い時間がかかります。

私が知っているBLの最も公的にコードで使用可能な実装は dislocker git repo であり、dislockerはBitLockerのオープンソース(部分)実装です(作成されたヒューズドライバーとして)。 BitLocker用の既成のブルートフォーシングツールについては知りませんが、おそらくdislockerのコードに基づいてビルドできます。ただし、実行にはおそらく時間がかかります!

5
CBHacking

フルディスク暗号化ツールは、今日でも安全と見なされているAESに依存しています。そのため、ほとんどの攻撃は、このようなツールが使用する暗号化メカニズムではなく、オペレーティングシステム自体を狙っています。

マシンが盗まれた場合に直面する可能性のある攻撃は、いくつかの要因によって異なります。まず、それをどのように構成したかについて説明します。オペレーティングシステムを起動する前に認証を必要とする構成では、ハッカーがオペレーティングシステムをすぐに攻撃するのを防ぎます。したがって、最初に、Bitlockerを起動前認証オプションで設定します。

ディスクを暗号化する前に、オペレーティングシステムと同じ権限を持ち、ボリュームマスターキーで暗号化されてボリュームに保存されているフルボリューム暗号化キーを危険にさらす可能性があるルートキットやブートキットが存在しないことを確認してください。暗号化されたボリューム。 UEFIは、システムをルートキットとブートキットの存在から再び保護することを目的としていますが、完全なものではありません。

考慮すべきもう1つのことは、前述のプリブート認証システムに対しても実行可能なブルートフォースサインイン攻撃です。

また、攻撃者は Thunderbolt を使用して他のデバイスをラップトップに接続する可能性があります。 DMA(ダイレクトメモリアクセス))ポートは認証またはアクセス制御を提供せず、デバイスが読み取りアクセスのみを行うコンピューターのメモリの内容を保護するため、これらに基づく攻撃を想像できます。事実( DMA攻撃 と呼ばれます)。Windows8を実行している場合、Windows 8 InstantGo認定デバイスにDMAポートがなく、 DMA攻撃のリスクを排除

したがって、プリブート認証の構成と組み合わせて、USBデバイス(フラッシュドライブなど)を使用してBitLockerスタートアップキーを格納し、それを使用してPIN /パスワードと共に認証することもできます。 PIN /パスワードがブルートフォースであっても、Bitlocker起動キーは安全です(同じ攻撃者がラップトップとUSBデバイスを盗むことができないと想定)

2
user45139