2 ポイント 投稿者 GN⁺ 2025-01-01 | 1件のコメント | WhatsAppで共有
  • 紹介

    • この記事では、Windows 11(バージョン24H2)でBitLocker暗号化を回避する方法を説明する。これは、メモリから完全ボリューム暗号化キー(FVEK)を抽出することで実現される。
  • 背景

    • 攻撃者が物理的にデバイスへアクセスできる場合、コンピュータを突然再起動し、直前に実行されていたWindowsインスタンスのRAMをダンプして機密情報を得られる可能性がある。
    • RAMの内容は電源が遮断されると急速に失われるため、これを防ぐためにRAMを物理的に冷却したり、外部電源を用いたりする方法がある。
    • セキュアブートは、デバイス起動時に実行可能なものを制限するセキュリティ標準だが、回避できる方法が存在する。
  • ステップ1: ブート可能なUSBデバイスの作成

    • 対象システムのRAM容量より大きいUSBストレージデバイスを用意する必要がある。
    • flashimage.sh スクリプトを使ってブート可能なアプリケーションを作成し、利用する。
  • ステップ2: 対象システムの突然の再起動

    • コンピュータの電源が完全に落ちている時間を最小限にすることが目的である。
    • Windowsの読み込み中、ログイン画面が表示される前にシステムを再起動するのが効果的である。
  • ステップ3: USBデバイスからの起動

    • USBデバイスからMemory-Dump-UEFIを直ちに起動し、UEFIシェルに到達する。
    • app.efi を実行してメモリダンプを生成する。
  • ステップ4: ダンプの分析

    • FAT32ファイルシステムの4GBというファイルサイズ制限により、複数のダンプが生成される場合がある。
    • concatDumps プログラムを使用すると、複数のダンプを1つに結合できる。
    • searchMem プログラムを使用すると、ダンプ内で特定のパターンを検索できる。
  • プールタグ

    • プールタグは、Windowsカーネルメモリプールの位置を示す4文字の識別子である。
    • pooltag.txt ファイルには、さまざまなプールタグとその用途が含まれている。
  • FVEKキーの復元

    • dFVE プールタグの下でFVEKキーを見つけることができ、これはBitLockerドライブ暗号化の完全ボリューム暗号化クラッシュダンプフィルタに関連している。
    • None タグの下でもキーを見つけられる。
  • 次のステップ

    • 取得したキーに使用されたアルゴリズムを追加する必要がある。
    • dislocker ツールを使用してドライブのロックを解除できる。
  • 最終ノート

    • BitLockerの実装を理解するには、カーネルレベルのデバッグを行うのが最善である。
    • Microsoftはキーを破棄しようと努めているが、すべてのキーを破棄できているわけではない。

1件のコメント

 
GN⁺ 2025-01-01
Hacker Newsのコメント
  • BitLockerは、TPM(PCR 7+11)とPINを併用する場合に最大の利点を発揮する。PINなしではFVEKを読み出せず、PINの誤入力が多いとTPMは辞書攻撃ロックアウトモードに移行する

    • Linuxで似たような構成を試しており、systemd-cryptsetup/cryptenrollはLUKS専用なので、fscryptで機密ディレクトリを暗号化しようとしている
    • TPMは、基本的なこと以上を実装しようとすると非常に難しい
    • 個人プロジェクトとして進めており、完了したら書く予定
  • BitLockerのセキュリティモデルが理解できない。ほとんどのインストールでは、電源ボタンを押すとWindowsが起動する

    • 暗号化されたハードドライブを搭載したマシンが盗まれた場合、ただ電源を入れればよいのか疑問
    • SPIバスのトラフィックは暗号化されているはずだと想定するが、マシンが簡単に鍵を提供してしまいそうに思える
    • LUKSには、ドライブのロックを解除するためのパスワードプロンプトがある
  • 特定の攻撃は、PC Client Work Group Platform Reset Attack Mitigation仕様によって完全に防御される

    • オペレーティングシステムが正常に終了しなかった場合、ファームウェアがRAMを消去し、次回起動前に停止する
    • Windowsがこれを使っていないのか、テストしたシステムが実装していなかったのか気になる
  • 記事の著者です。質問があればメッセージを送ってほしいとのこと。作業は楽しく、参加に感謝している

  • Windows 11 BitLockerバイパスに関する38C3のトークがある

  • 物理アクセス可能な任意の攻撃者が外部から「突然の再起動」を実行できない「エンタープライズ」マシンがある

    • 広く使われているOEMが、いまだに「突然の再起動」を容易に許しているのは残念
  • BitLockerはコンピュータの電源が切れているときにだけ保護し、起動時パスワードを要求するよう設定すべき

  • Windowsはメモリ暗号化オプションとメモリ圧縮を提案している

    • IntelとAMDはこれをCPUに組み込もうとしており、対象はノートPCではなく複数VMを持つサーバー
  • 対象マシンのメモリダンプを読むエクスプロイトについて、物理アクセスが可能な場合に「インターポーザ」デバイスがデータをコピーまたは改変できるのか気になる

    • Gameboyの「Action Replay」デバイスのようにメモリを改変できるのか疑問
    • RAMとマザーボードの間にデバイスを挿入して、メモリ状態をキャプチャできるのか気になる
    • 電気工学者ではないので提案が非現実的かもしれないが、物理的な空間と帯域幅の制約がありそう
  • BitLockerで暗号化されたディスクを搭載したSurface 5 Proが、起動中に素早くBSODへ移行する

    • この状況で動作するのか気になっており、ディスクから写真を取り出すためのエクスプロイトを待っている