研究者は、Microsoft Windowsに組み込まれたフルディスク暗号化であるBitLockerを破るために特別に作られたGPU搭載パスワードクラッキングツールのBitCrackerをさらに開発した進捗状況を概説している。
最近、Nvidia のソフトウェア エンジニアである Elena Agostini 氏とイタリア国立研究評議会 (CNR) の技術ディレクターである Massimo Bernaschi 氏が発表したホワイトペーパー (PDF) では、BitCracker を「辞書攻撃によって BitLocker で暗号化されたメモリ単位の復号化を試みる」ために設計したソリューションとして記述しています。
BitCrackerは2015年12月に初めてリリースされ、その後も継続的に開発されています。
辞書攻撃
BitLocker はMicrosoftによるフルディスク暗号化の実装で、2007年にWindows Vistaへのアップグレードとして最初にリリースされました。 BitLocker は Trusted Platform Modules (TPM) と互換性があり、ディスク上に保存されたデータを暗号化し、デバイスの盗難やソフトウェア ベースの攻撃の場合に不正アクセスを防止します。
BitLocker To Go は USB ドライブなどの外部デバイスに対しても同じように機能します。
この技術はデフォルトで 128 ビットの AES 暗号化を使用しますが、より高いセキュリティ レベルのために 256 ビットに設定することができます。
BitLocker が高レベルの AES 暗号化を利用しているように、BitCracker は辞書攻撃を実行可能にするために高性能のグラフィック処理ユニット (GPU) に依存しています。
BitCrackerのOpenCL実装は、昨年リリースされた人気のあるオープンソースのパスワード ハッキング ツール「John The Ripper」のバージョンBleeding-Jumboと統合されています。
「BitLocker の復号化処理には、非常に多くの SHA-256 ハッシュの実行と、AES も必要なので、その両方について、Nvidia GPU 用に高度に調整した、非常に高速なソリューションを提案します」と、研究者は説明します。 ユーザーは、パスワードを入力してドライブを暗号化または復号化するか、BitLocker によって生成された 48 桁の回復キーを使用してコンテンツにアクセスします。
暗号化の際、各セクター ボリュームは Full-Volume Encryption Key (FVEK) と Volume Master Key (VMK) を使用して個別に暗号化され、後者はボリューム内にも暗号化して保存されます。
たとえば、ユーザー パスワード方式でドライブが暗号化されている場合、ボリュームのメタデータには、ユーザー パスワードで暗号化された VMK と回復パスワードで暗号化された VMK という 2 つの暗号化 VMK が存在します。
復号化の際、BitLocker は VMK、次に FVEK、そしてディスク自体の復号化を開始します。
BitCracker ツールは VMK キーの復号化に焦点を当て、デバイスを復号化できるパスワードを公開します。
GPU パフォーマンスと能力を活用した辞書攻撃が実行されます。 SHA-256規格では、ハッシュ化する前にメッセージを「Wブロック」と呼ばれるものに変換するため、高速化のために、Wワードのいくつかのセットに対して事前計算機能を作り、レインボー・ルックアップ・テーブルを作成することで必要な演算の数を減らしているのです。 しかし、これは他の SHA-256 設定には適用できません。
YOU MIGHT ALSO LIKE オープン ソース ツールは、クラウド コンテナのセキュリティ検知に役立ちます。
MAC 計算と比較を削除することもできました。
BitCracker のパフォーマンスは、別の人気のあるパスワード クラッカー、Hashcat と、パスカル GPU を使用してベンチマークされました。
研究チームは、Hashcat が BitCracker の W ブロック関数や MAC 計算を使用していないため、この比較が完全に公正でないことを認めています。
しかしながら、Hashcat は 1 秒あたり 3,290 百万ハッシュ (MH/s) で、この結果は「同じ GPU で BitCracker が達成した最高のパフォーマンスと同等」だと研究者は述べています。”
BitLocker の複雑な暗号化処理では、一度にテストできるパスワードの数に限界があります。
しかし、研究論文では、単一のハイエンド GPU で、わずか 24 時間で 122 百万以上のパスワードを試みることが理論的に可能であることが示唆されています。
「この結果は、BitCracker が、BitLocker の復号化手順を高速化する特定のショートカットを提供する唯一の製品である一方で、基本的な計算カーネルの生のパフォーマンスの点で、最先端のパスワード クラッカーと競合できることを示しています」と、研究者は説明します。 このツールは現在、8 ~ 27 文字のパスワードしか評価できず、ユーザーは独自の入力辞書を提供しなければなりません。
さらに、BitLocker は、ユーザー パスワードのみに依存するのではなく、企業環境において TPM と共に使用されることが多いため、攻撃対象は企業全体に展開されるのではなく、消費者の設定または特定の組織内の個人のみに限られる場合があります。
Reddit ユーザーおよび GitHub コントリビューターの Rarecoil が指摘するように、このツールは数年前のものであり、辞書と最適化されたルールセットの両方が、今では BitCracker の攻撃範囲を超えて進歩しています。
Agostini と Bernaschi は、マスク モード攻撃の追加や入力辞書にスマート確率を割り当てて処理を高速化するなど、将来的に BitCracker を改善する手法も提案しています。