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

適用対象: Windows Server version 1803Windows 10, version 1803Windows Server 2016 Version 1709 詳細

注意事項


Windows Version 1803 以降では、ご使用のプラットフォームが新しいカーネル DMA 保護機能をサポートしている場合、その機能を利用して Thunderbolt DMA 攻撃を緩和することをお勧めします。新しいカーネル DMA 保護機能をサポートしていない以前のバージョンの Windows プラットフォームの場合、組織が TPM のみの保護機能を許可しているか、スリープ モードのコンピューターをサポートしている場合は、DMA の軽減策オプションが 1 つあります。  緩和策の範囲については、「BitLocker Countermeasures」(英語情報) を参照してください。

また、代わりの緩和策として、Intel のドキュメント「Intel Thunderbolt 3 and Security on Microsoft Windows 10 Operating System documentation」(英語情報) も参考になります。 

他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。

この作業を実行する方法の詳細については、以下のマイクロソフト Web サイトを参照してください。

 

現象


コンピューターの電源が入っている場合やコンピューターがスタンバイ電力状態である場合、BitLocker で保護されたコンピューターには Direct Memory Access (DMA) 攻撃に対する脆弱性が存在することがあります。 これには、デスクトップがロックされている場合が含まれます。

TPM 認証のみの BitLocker では、コンピューターはプリブート認証を行うことなく、電源オン状態になることができます。 そのため、攻撃者は DMA 攻撃を実行できる場合があります。

このような構成では、攻撃者は、1394 ポートに接続された攻撃デバイスを使用し、SBP-2 ハードウェア ID をスプーフィングすることで、システム メモリの BitLocker 暗号化キーを検索できる場合があります。 または、アクティブな Thunderbolt ポートからシステム メモリにアクセスして攻撃を実行できることもあります。 Thunderbolt 3 を新しい USB Type-C に接続すると、ポートを無効にすることなくこの種類の攻撃を防御するように構成できる新しいセキュリティ機能が有効になります。

この資料は、以下のすべてのシステムを対象としています。 
  • 電源オンのまま放置されているシステム。
  • スタンバイ電力状態のまま放置されているシステム。
  • TPM のみの BitLocker プロテクターを使用しているシステム。

原因


1394 Physical DMA

業界標準の 1394 コントローラー (OHCI 準拠) には、システム メモリにアクセスできる機能があります。 この機能は、パフォーマンスの向上策として装備されています。 この機能により、CPU とソフトウェアを迂回して、1394 デバイスとシステム メモリの間で大量のデータを直接転送することができます。 既定では、1394 Physical DMA はすべてのバージョンの Windows で無効になっています。 1394 Physical DMA を有効にするには、次のオプションを使用できます。

  • 管理者が 1394 Kernel Debugging を有効にする。
  • コンピューターに物理的にアクセスできるユーザーが、SBP-2 仕様に準拠する 1394 記憶装置を接続する。

BitLocker に対する 1394 DMA の脅威

BitLocker のシステム整合性チェックは、権限のない Kernel Debugging 状態の変更を緩和します。 ただし、攻撃者は 1394 ポートに攻撃デバイスを接続し、SBP-2 ハードウェア ID をスプーフィングすることができます。 Windows で SBP-2 ハードウェア ID が検出された場合、SBP-2 ドライバー (sbp2port.sys) が読み込まれ、このドライバーは SBP-2 デバイスでの DMA の実行を許可するように指示されます。 これにより、攻撃者はシステム メモリにアクセスし、BitLocker 暗号化キーを検索できるようになります。 

Thunderbolt Physical DMA

Thunderbolt は PCI 経由でシステム メモリに直接アクセスできる外部バスです。 この機能は、パフォーマンスの向上策として装備されています。 この機能により、CPU とソフトウェアを迂回して、Thunderbolt デバイスとシステム メモリの間で大量のデータを直接転送することができます。

BitLocker に対する Thunderbolt の脅威

攻撃者は、特殊な用途のデバイスを Thunderbolt ポートに接続し、PCI Express バスを介してメモリに直接フル アクセスできる可能性があります。これにより、攻撃者はシステム メモリにアクセスし、BitLocker 暗号化キーを検索できるようになります。  Thunderbolt 3 を新しい USB Type-C に接続すると、この種類のアクセスを防御するように構成できる新しいセキュリティ機能が有効になります。

解決方法


BitLocker の一部の構成は、この種の攻撃のリスクを軽減できます。 コンピューターでスリープ モード (suspend to RAM) を使用しない場合は、TPM+PIN、TPM+USB および TPM+PIN+USB プロテクターにより DMA 攻撃の影響を軽減させることができます。
 

SBP-2 の軽減

前述の Web サイトで、「デバイス インストール用のグループ ポリシーの設定」の「これらのデバイス セットアップ クラスに一致するドライバーのインストールを防止する」を参照してください。

SBP-2 ドライブのプラグ アンド プレイ デバイス セットアップ クラスの GUID は以下のとおりです。
d48179be-ec20-11d1-b6b8-00c04fa372a7

一部のプラットフォームでは、1394 デバイスを完全に無効にしてセキュリティを強化することもできます。  前述の Web サイト (英語情報) の「Group Policy Settings for Device Installation」の「Prevent installation of devices that match these device IDs」を参照してください。

1394 コントローラーのプラグ アンド プレイ互換 ID は以下のとおりです。

PCI\CC_0C0010

Thunderbolt の軽減

Windows 10 Version 1803 以降、新しい Intel ベースのシステムには、Thunderbolt 3 用のカーネル DMA 保護機能が組み込まれています。 この保護機能のために構成は必要ありません。

Thunderbolt 3 用のカーネル DMA 保護機能が搭載されていない以前のバージョンの Windows またはプラットフォームの Thunderbolt コントローラーをブロックする方法については、前述の Web サイト (英語情報) の「Group Policy Settings for Device Installation」の「Prevent installation of devices that match these device IDs」を参照してください。  

Thunderbolt コントローラーのプラグ アンド プレイ互換 ID は以下のとおりです。
PCI\CC_0C0A


注意事項

  • この軽減策の欠点は、外部ストレージ デバイスが 1394 ポートを使用して接続できなくなり、Thunderbolt ポートに接続されているすべての PCI Express デバイスが機能しなくなることです。
  • 使用中のハードウェアが Windows エンジニアリング ガイダンスに従っていない場合、コンピューターを起動し、Windows がハードウェアの制御を取得する前にこれらのポート上で DMA が有効になることがあります。 これにより、システムが攻撃を受けやすくなり、この状態はこの回避策では軽減されません。 
  • SBP-2 ドライバーと Thunderbolt コントローラーをブロックしても、外部または内部 PCI スロット (M.2、Cardbus および ExpressCard を含む) に対する攻撃から保護することはできません。

詳細情報


BitLocker に対する DMA の脅威の詳細については、次のマイクロソフト セキュリティ ブログを参照してください。BitLocker に対するコールド攻撃に関する軽減策の詳細については、次の Microsoft Integrity Team のブログを参照してください。

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。