BetaNewsは2月6日(米国時間)、「Breaking Bitlocker: Watch Microsoft's Windows disk encryption being bypassed in just 43 seconds」において、Microsoft Windowsのドライブ暗号化機能「BitLocker」をわずか43秒で突破したと伝えた。ノートPCの筐体を開けて暗号鍵をTPM(Trusted Platform Module)から窃取するのにかかった時間は43秒であり、うち、窃取にかかる通信の時間は数秒程度とみられる。

Breaking Bitlocker: Watch Microsoft's Windows disk encryption being bypassed in just 43 seconds

○BitLockerとTPM

BitLockerはMicrosoft Windows標準のドライブ暗号化機能で、デバイスの紛失、盗難からデータを保護する目的で使用可能。また、TPMを併用すると、最大限の保護が提供されるとうたわれている。

トラステッドプラットフォームモジュール(TPM)は暗号鍵、乱数の生成、署名の作成および検証、プラットフォームの検証などを提供するハードウェア暗号モジュール。一般的に専用チップやCPUに組み込まれた形で提供されている。

○窃取方法

この問題を指摘したStacksmashing氏は、YouTube「Breaking Bitlocker - Bypassing the Windows Disk Encryption - YouTube」にて実験の様子と解説を公開している。動画では安価なRaspberry PI Picoを読み取り装置として利用しているが、速度が間に合えば他のマイコンでも同様の装置は作成できるとみられる。

窃取方法は比較的単純で、専用チップとしてTPMを搭載したノートPCの電極からCPUとの通信データを直接窃取する手法を使用している。このTPMモジュールはCPUとの通信を平文で行うため、特殊な解読を必要としない。今回標的としたLenovoのノートPCは、アクセスしやすい電極が背面に存在するため動画のように簡単に取り出せる。電極が見当たらない場合でも専用チップに直接プローブを当てることでデータを取り出すことができるため、他のパソコンでも同様の方法で窃取が可能とみられる。

○影響と対策

BitLockerは紛失や盗難からデータを保護する機能だが、この手法により比較的盗まれやすいノートPCのBitLockerが突破される可能性がある。この影響を受けるデバイスは専用チップとしてTPMを搭載したデバイスのみで、CPUに組み込まれた形で提供されるfTPMは電極が露出していないため影響を受けない。

Stacksmashing氏は窃取した鍵(VMK: Volume Master Key)を用いて、Linux環境からBitLockerで暗号化された起動ドライブにアクセスする様子を公開している。しかしながら、この実験では起動ドライブなどパスワードなしで読み込む必要のあるドライブを標的としており、パスワードやPIN、USBキーなど追加の認証を必要とする条件ではこの攻撃の影響を受けないとみられる。

この攻撃を回避する方法として、Stacksmashing氏はTPMスタートアップPINを有効化することを推奨している。この機能を有効化することでWindowsを読み込む前にPINの入力が必要となり、正しいPINを入力しない限り鍵を窃取することは困難になるとされている。