Skip to main content
MSRC

コールド ブート攻撃やその他の脅威に対し BitLocker で強化する

2013/2 補足情報追記:

Windows Vista 以降の OS に BitLocker は搭載されていますが、どの OS でも共通な保護策としてご利用いただけます。

Windows 8 では、Windows ハードウェア認定にて、コネクト スタンバイ状態のシステムではファームウェアが物理メモリを外部 DMA アクセス、あるいは承認されていない内部 DMA アクセスから保護することが要件となっています。(これは、System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby 要件の一部です)
これにより、Windows 8 においては、さらに、保護が強化されています。


BitLocker ドライブ暗号 (以下 BitLocker) は、Windows Vista から導入されたディスク ボリューム全体を暗号化する機能です。紛失、または盗難に遭った PC のデータは、第三者が攻撃ツールを実行したり、その PC のハードディスクを別の PC に接続したりすることで、不正にアクセスされる可能性があります。BitLocker は、この問題を解決するもので、TPM や PIN (暗証番号) を併用することで、データに不正にアクセスされる危険を回避できます。

暗号化されたハードディスク内のデータを解読できた、パスワードロックされた PC にアクセスできたといった発表がありますが、いくつかの対策を行うことで、そのリスクを回避することができます。Protecting BitLocker from Cold Attacks (and other threats) で解説されている対策を以下にまとめましたので、ご覧ください。

BitLocker アドバンス モードで構成し、休止状態を併用する

※ これは Dynamic Random Access Memory (DRAM) 残存や他のプラットフォーム攻撃からシステムを保護するのに最も有効な方法です。

DRAM 内の暗号鍵にアクセスするプラットフォーム攻撃は、DRAM 内に鍵情報が残っていることが前提となっています。すべてのディスク暗号化の手法がそうであるように、ディスク暗号化を使用可能にするパフォーマンスを提供するために、暗号鍵はシステムメモリ内に存在する必要があります。

BitLocker をアドバンス モードで構成した場合、認証済みのユーザーが PIN やドングル (または両方) のような資格情報を提供するまで、暗号鍵はシステム メモリにロードされません。DRAM 内に機密情報 (暗号鍵を含む) が存在していたとしても、攻撃者がこれらの資格情報なしにシステムを起動することはできません。

次の理由から、この脅威が悪用される危険性は低いとみています。

DRAM 内に暗号鍵があるのは、許可されたユーザーが、自身の BitLocker 資格情報で認証された 、なおかつ、電源を切るか休止状態にする になります。そして、この間に攻撃者がシステムにアクセスできた場合、プリンストン大学の研究者が発表した「DRAM 残存」攻撃または、Direct Memory Access (DMA) のような他のプラットフォーム攻撃を攻撃者が使用することで、これらの鍵へのアクセスを得ることになります。

これは、BitLocker 使用時に「スリープ」よりも「休止状態」を使用することが重要であるということの理由でもあります。スリープの切り替えのための高パフォーマンスを提供するために、BitLocker は RAM の内容は暗号化せず、スリープから復帰させる際に再認証を要求します。休止状態ではシステムは事実上「電源がオフ」の状態にあり、鍵は物理メモリには存在していません。休止状態から復帰させる際、BitLocker は資格情報を要求します。前述のとおり、資格情報なしでは暗号鍵が DRAM にロードされることはありません。

また、プリンストン大学の研究者の発表では、DRAM が状態を保てるのは、常温では数秒から数分になるということです。攻撃者がこの時間内にラップトップにアクセスできれば、DRAM 内の情報にアクセスできるかもしれません。もう一度言いますが、攻撃者がこれを悪用する危険性は、他のプラットフォームの脅威に対して低いです。

TPM を備えたシステムを使用する **

BitLocker は、Trusted Platform Module (TPM) セキュリティ ハードウェアおよび BIOS を備えたシステムに対応するように設計されています。BitLocker と TPM の併用は、データの盗難や不正な閲覧の保護に有効です。

TPM は通常、コンピューターのマザーボードにインストールされ、ハードウェア バスを使用して、コンピューターの他の部分と通信します。TPM を備えたコンピューターには、TPM によってのみ暗号を解除できるように、暗号鍵を作成して暗号化する機能があります。このプロセスは、キーの漏えいを保護するのに役立ちます。各 TPM にストレージ ルート キー (SRK) と呼ばれるマスター ラップ キーがあり、そのキーは TPM 自体に格納されます。TPM で作成されるキー ペアの秘密部分が、他のコンポーネント、ソフトウェア、プロセス、またはユーザーに公開されることは一切ありません。

※ これはすべてのプラットフォームの脅威に対する絶対的な緩和策ではありませんが、ファームウェア ベースの上書きは、攻撃者が利用可能となる選択肢を効果的に制限します。

ブート デバイスの選択を制限する

DRAM 残存の脅威の一部を緩和する別の方法は、ファームウェア (BIOS など) の構成オプションで、ブートデバイスの選択を制限することです。これにより、システムの再起動および DRAM の内容が完全な状態にある間に攻撃者が選択したソフトウェアをロードするためのオプションを制限します。

これはファームウェア パスワードなどによって、ファームウェア オプション自体が保護されていることを意味します。ファームウェアセキュリティに関する一般公開された脅威がありますが、DRAM に情報が残っている状態が必要だということを思い出してください。攻撃者が DRAM に残された情報を維持しようとしても、ファームウェアに対する従来からある攻撃では、維持させることはできなくなります。

※ これは完全な緩和策ではありませんが、DRAM 残存の悪用に必要な手数を単純に増やす方法です。

Windows シャットダウンのオプションを制限する **

攻撃者の選択肢を減らすための方法は他にもまだあります。ログオンせずにシステムをシャットダウンする機能を無効にすることで、許可されていないユーザーによる再起動をより難しいものにします。この動作は Windows グループ ポリシーで制御できます。詳細は、Windows セキュリティ ポリシーの設定「シャットダウン: システムをシャットダウンするのにログオンを必要としない」をご覧ください。

※ これは完全な緩和策ではありませんが、DRAM 残存の悪用に必要な手数を単純に増やす方法です。


1394 と PCI ホスト コントロールを無効にする

サポート技術情報 2516445: BitLocker に対する 1394 DMA の脅威を軽減するための SBP-2 ドライバーのブロック」で説明している物理メモリへの攻撃が DMA 攻撃です。これらの攻撃は、ソフトウェアまたは CPU を介さずに、システム メモリの内容に直接アクセスするために IEEE 1394 (別名: i.LINK、FireWire) または PCI バスを経由して DMA を利用します。これらの攻撃では、攻撃者は別のデバイスを用いることもあります。たとえば、ラップトップですが、外部のハードウェアポート通じて被害者のプラットフォームに接続します。IEEE 1394 の場合、これは 1394 ケーブルを使用して「攻撃用」ラップトップを接続するという単純なものです。ケーブルが接続されてしまえば、攻撃者は、DMA を使用して「被害者」のラップトップ上の物理メモリの内容にアクセスする「攻撃用」ラップトップ上のソフトウェアを起動します。

これらの DMA 攻撃のリスクを低減するには、IEEE 1394 および PCI ホスト コントローラーを無効にすることです。この操作は、Windows デバイス マネージャーから行えます。

周囲に注意する

ディスク暗号化製品で PIN またはパスワードを使用している場合、資格情報を取得しようと様々方法で狙っている攻撃者に注意してください。ショルダーサーフィン、カメラ、キーストロークをキャプチャーするマイクなどがあります。これらのリスクを低減するために、ラップトップのカメラ部分をシールで覆う、軽いタッチで入力するといった対策方法もあります。パスワードや PIN を定期的に変更することも有効です。特に怪しいなと感じた場所にいた後に変更することが有効です。

まとめ

モバイル PC など外部に持ち出す PC には、以下の対策を施すことでコールド ブート攻撃から保護してください。

  • TPM + PIN の構成で BitLocker を使用する
  • スリープより、休止状態にする
  • 不要なブート オプション /デバイスを無効にする **
  • 周囲に注意する

関連リンク:

BitLocker に対する 1394 DMA の脅威を軽減するための SBP-2 ドライバーのブロック

Protecting BitLocker from Cold Attacks (and other threats)

Windows BitLocker Claims

Best-Practice Recommendations for Using BitLocker

Data Encryption Toolkit for Mobile PCs


Related Posts

How satisfied are you with the MSRC Blog?

Rating

Feedback * (required)

Your detailed feedback helps us improve your experience. Please enter between 10 and 2,000 characters.

Thank you for your feedback!

We'll review your input and work on improving the site.