Chaotic Eclipse(GitHubでは Nightmare-Eclipse として活動)と名乗る研究者が、今週「YellowKey」と呼ばれるゼロデイ攻撃を公開しました。これは TPM-Only の BitLocker を回避するものです。必要なのは USB メモリといくつかのファイルだけです。この方法により、攻撃者は Windows 回復環境(WinRE)に再起動し、暗号化されたドライブが解除された状態で管理者権限のコマンドプロンプトを開くことができます。WinMagic は、この手法が説明どおり動作することを確認しています。研究者はさらに、TPM+PIN を打ち破る変種が存在すると主張していますが、現時点ではその PoC(概念実証コード)は公開されていません。

この件は現在注目を集めています。それなりに注目される価値はあります。しかし、今受けているような「衝撃」ではありません。

 

既に多く存在するBitlocker攻撃に新たな攻撃手法が1つ加わっただけ

YellowKey は新しい技術ではありますが、新しい問題のカテゴリではありません。起動前認証のない BitLocker は、過去にも多くの方法、多くの経路で攻撃されてきました。LPC や SPI インターフェースに対する TPM バススニッフィング、DRAM の残留性を突くコールドブート攻撃、FireWire や Thunderbolt を利用した DMA 攻撃、そして Microsoft が2022年に修正した WinRE の問題(CVE-2022-41099)などです。YellowKey はそこに新たな扉を一つ追加したに過ぎません。

重要なのは、Bitlockerへの新たな攻撃手法が存在することではありません。誰が攻撃できるかです。これまでは、こうした攻撃には専用のハードウェア、綿密な準備、高度なスキルが必要でした。しかし YellowKey は非常にシンプルです──これは研究者自身も述べています。ハードルは崩壊しました。動機のある非専門家であっても、かつては熟練攻撃者が何時間もかけて行っていたことを、わずか数分で実行できるようになりました。

 

この問題は最初から分かっていた

TPM-Onlyの BitLocker の弱点は、BitLocker が登場した当初から理解されていました。起動時にユーザーが入力するシークレットが存在しない場合、ボリュームのマスターキーはシステムが自動的に取得できる場所に依存することになります。その環境を制御できるものは、同様に鍵にもアクセスできます。WinRE もその一部であり、OS 起動前に動作するすべての要素が該当します。この攻撃対象領域は、個別に封じ込められるほど小さなものではありません。

攻撃者があなたのノートPCを手に入れた場合、データを読み取ることを防ぐ手段はありません。これは挑発的な表現ではありません。これは脅威モデルです。

Microsoft 自身も BitLocker 対策のドキュメントの中で同様のことを述べています。起動前認証は「信頼されたユーザーが追加の認証要素を提供する前に、暗号鍵がシステムメモリに読み込まれるのを防ぐために設計されている」とされています。新しい提言ではありません。しかし、何度も再発見され続けています。なぜなら、何度も無視されてきたからです。

 

沈黙が間違った標準を招くことに

NIST のストレージ暗号化に関する基本指針は SP 800-111「エンドユーザーデバイスのためのストレージ暗号化技術ガイド」です。この中では、フルディスク暗号化を「コンピュータを起動するためのハードドライブ上のすべてのデータ(OSを含む)を暗号化し、FDE 製品への認証成功後にのみデータへのアクセスを許可するもの」と定義しています。また、ユーザーはキーボードといった基本的なデバイス構成要素を使って認証できる必要があるとしています。

ここで重要なのは、NIST にとって認証は「追加機能」ではなく、「定義の一部」であるという点です。

しかしこの文書は2007年11月のものです。その想定する認証モデルは BIOS レベルのキーボード入力です。マルチファクタ認証も、ハードウェアトークンも、FIDO も存在しません。当時存在しなかったためです。約20年が経過した現在でも、この基盤的ガイダンスは更新されていません。

 

SP 800-111 は義務ではなくガイドラインですが、多くのNISTのドキュメントがこれを参照しています。HIPAA、FISMA、OMB Circular A-130、そして CMMC へとつながる CUI エコシステムなどです。その定義は継承され、その中にギャップが存在します。

多くの企業で採用されているTPM-Onlyの BitLocker構成は、この FDE の定義の外側に位置しています。しかし NIST はそれを明言していません。一方で DISA STIG はより明確で、Windows 11 に BitLocker の PIN を要求しています(WN11-00-000031)。

CMMC はこの沈黙を受けて、明確な禁止がないため PBA なし構成を許容しています。

NIST には約20年間、この問題を整理する時間がありました。選択は単純です。TPM-Onlyでは FDE を満たさないと明記するか、起動時認証は任意と定義を変更するかです。どちらも理にかなっています。しかし沈黙はそうではありません。この沈黙が、PBA なし構成を業界標準にしてしまいました。

YellowKey は、この沈黙のコストを可視化しました。攻撃者に高度な技術は必要なくなり、USB メモリだけで良くなったのです。

 

技術的なポイントと PIN の問題

この研究は価値あるものです。WinRE は長年検証されてきましたが、これまでの結果は限定的な条件下での挙動でした。YellowKey はさらに踏み込み、USBだけでアンロック済みボリュームに対する管理者権限シェルを提供し、かつ痕跡も消去します。この点が特筆すべきです。

 

研究者は、TPM+PIN に対応する変種も存在すると主張しています。ただし現時点では、PoC(概念実証コード)はまだ公開されていません。当社としては、その手法が成立する可能性は低いと考えています──少なくとも同じ形では成立しないでしょう。理由は構造的なものです。

 

公開されている YellowKey は、ロック解除が自動的に完了することを前提として機能しています。ユーザーによる認証の関門がなく、人間の操作を強制的に突破させる必要もありません。しかし、実際に PIN による認証が存在する場合、同じ経路で攻撃を成立させるには、PIN 保護そのものを完全にバイパスする必要があります──これはまったく別次元で、より重大な発見になります。あるいは、「TPM+PIN が破られた」と一般化できるほど広範ではなく、より限定的な条件に依存するものになるはずです。

もちろん、私たちの見解が誤っている可能性もあります。PoC が公開されれば、それを確認したいと考えています。

 

もし私たちの見立てが間違っているのだとしたら、考えられる解釈は2つしかありません。

Microsoft が意図的にこの回避手段を組み込んだか、あるいは単純にミスをしたかです。どちらかは事実であり、そしてどちらであっても問題です。

20年にわたり TPM を基盤とする BitLocker に付随して語られてきた「トラステッド・コンピューティング」という前提は、PIN のバイパスが成立した時点で、いずれにせよ成り立たなくなります。

 

もし私たちの見立てが正しければ、構図はすでに構造的な議論が示している通りです。

リスクを抱えているのは TPM-Only の構成です。一方で、ユーザーが保持するシークレットを含む構成は、防御を維持します。Microsoft にとっても、こちらの方が望ましい結論となります。

そして問題の本質は変わりません。

起動前認証(PBA)がないこと、それ自体が問題なのです。

 

研究者に対する2つの質問:

 

WinREの結果の完成度は、その周辺にも同様の領域があることを示している。この攻撃におけるWinREと同じ挙動を示すものは、pre-OS環境に他にも存在するのか?

 

PIN変種について――PIN保護が完全に破られているのか?それともキャッシュやリカバリーフロー、特定構成に依存しているのか?この違いは、いま運用中の端末群を守る側にとって決定的に重要だ。

 

ベンダーに対する信頼ではなく数学的原理に基づく暗号技術

WinMagic の SecureDoc の設計原則はこうです:

開発者自身であっても、ユーザーの認証なしにデータを読み取れない、これは暗号技術によって保証されます。企業の約束ではありません。我々はバックドアも、ユーザーのシークレットを迂回する回復経路も実装していません。

「認証なしではデータへのアクセスは不可」という性質は、ベンダーへの信頼ではなく数学的な原理によって成立します。

 

これこそが、YellowKeyが突きつけている問いへの答えです。ユーザーの秘密情報なしにボリュームキーを解放できる経路が存在する時点で、ベンダーはユーザーのデータを読み取ることができてしまいます。私たちは、お客様のデータを読むことはできません。私たちは、自分たちに対するいかなる攻撃であっても、私たち自身に――あるいは誰に対しても――そのような能力を与えないように製品を設計しています。これこそが本来あるべき標準です。

(なお、利便性を優先して顧客が意図的に選択するオートブート構成は例外です。これらは明示的な設定によるものです。)

 

 

今も昔も変わらない現実的な結論

攻撃は新しい。しかし、防御は新しくない。

起動前認証――すなわち、ドライブが解除される前にユーザーが保持する秘密情報を要求する仕組み――は、YellowKey が突破している“窓”を閉じる。狭めるのではなく、完全に閉じるのだ。WinRE に出番はない。今後 Eclipse がどんな手法を公開しようとも同じだ。鍵は、キーボードの前にいる人間が認証するまでは、決してメモリに現れない。

 

攻撃者があなたのノートPCを手に入れる」から「攻撃者があなたのデータを手に入れる」までの経路は、あなたより先に暗号鍵に触れるすべてのコンポーネントを通ります。TPM-Only モードでは、その経路は広く、よく知られており、そして今や容易に悪用可能です。個々の攻撃手法を一つずつパッチで塞いでいくやり方は、そもそも戦略ではありません。終わりのないランニングに過ぎません。

 

もしあなたの BitLocker 環境が TPM-Only モードで運用されており、端末が社外に持ち出されるのであれば、今こそがその状態から脱却するべきタイミングです。

 

こうした注目は、どんな暗号化製品にもいずれ必ず訪れるものです。私たちの製品も例外ではありません。むしろ、誰にも見向きもされない製品でいるよりは、正面から向き合う方を選びます。

この議論を引き起こした取り組みこそが、本当に価値のあるものなのです。

 

 

 

あるべき形で実現された起動前認証

 

SecureDocはパスワード、スマートカード、USBトークン、CAC/PIV、TPM、そして PBConnex によるネットワーク検証型の起動前認証をサポートしています。

単一の製品、単一のポリシー、そして起動時も変わらない同一のセキュリティ特性を実現します。

 

Thi Nguyen-Huu

President and CEO of WinMagic