セキュリティで保護されたシステムガードの起動と SMM の保護System Guard Secure Launch and SMM protection

このトピックでは、システムガードセキュア起動とシステム管理モード (SMM) の保護を構成して、Windows 10 デバイスのスタートアップセキュリティを向上させる方法について説明します。This topic explains how to configure System Guard Secure Launch and System Management Mode (SMM) protection to improve the startup security of Windows 10 devices. 以下の情報は、クライアントの観点から提供されています。The information below is presented from a client perspective.

システムガードのセキュリティで保護された起動を有効にする方法How to enable System Guard Secure Launch

以下のいずれかのオプションを使用して、システムガードセキュア起動を有効にすることができます。You can enable System Guard Secure Launch by using any of these options:

モバイル デバイス管理Mobile Device Management

システムガードセキュア起動は、ポリシー CSP で DeviceGuard ポリシーを使用することによって、モバイルデバイス管理 (MDM) 用に構成することができます。具体的には、 deviceguard/ConfigureSystemGuardLaunchを使用します。System Guard Secure Launch can be configured for Mobile Device Management (MDM) by using DeviceGuard policies in the Policy CSP, specifically DeviceGuard/ConfigureSystemGuardLaunch.

グループ ポリシーGroup Policy

  1. [スタート> 入力] をクリックし、[グループポリシーの編集] をクリックします。Click Start > type and then click Edit group policy.

  2. [コンピューターの構成 > ] の [管理用テンプレート > System > Device Guard > ] をクリックします。 [仮想化ベースのセキュリティ > 保護された起動構成] をオンにします。Click Computer Configuration > Administrative Templates > System > Device Guard > Turn On Virtualization Based Security > Secure Launch Configuration.

    セキュリティで保護された起動グループポリシー

Windows セキュリティ センターWindows Security Center

[ Start > 設定 > > Windows Security > > > Core isolation****Update & Security****Device security****Firmware protection****Open Windows Securityの開始] をクリックし & セキュリティ windows セキュリティを開く windows セキュリティデバイスセキュリティのコア分離ファームウェア保護を開きます。 > Click Start > Settings > Update & Security > Windows Security > Open Windows Security > Device security > Core isolation > Firmware protection.

Windows セキュリティ センター

レジストリRegistry

  1. レジストリエディターを開きます。Open Registry editor.

  2. HKEY_LOCAL_MACHINE > SYSTEM > Control****CurrentControlSet > Scenarios****DeviceGuardCurrentControlSet Control > deviceguard のシナリオをクリックし > ます。Click HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > DeviceGuard > Scenarios.

  3. [新しい > キーを作成する] を > 右クリックして、新しいキー systemguardの名前を指定します。Right-click Scenarios > New > Key and name the new key SystemGuard.

  4. [ Systemguard > new > dword (32 ビット) ] の値を右クリックして、新しい dword が有効になっている名前を指定します。Right-click SystemGuard > New > DWORD (32-bit) Value and name the new DWORD Enabled.

  5. [有効] をダブルクリックし、値を1に変更して、[ OK] をクリックします。Double-click Enabled, change the value to 1, and click OK.

    セキュリティで保護された起動レジストリ

システムガードセキュア起動が構成され実行されていることを確認する方法How to verify System Guard Secure Launch is configured and running

セキュリティで保護された起動が実行されていることを確認するには、システム情報 (MSInfo32) を使用します。To verify that Secure Launch is running, use System Information (MSInfo32). [スタート] をクリックし、システム情報を検索して、[仮想化ベースのセキュリティサービスが実行され、仮想化ベースのセキュリティサービスが構成されている場合] を確認します。Click Start, search for System Information, and look under Virtualization-based Security Services Running and Virtualization-based Security Services Configured.

Windows セキュリティ センター

注意

システムガードのセキュリティで保護された起動を有効にするには、プラットフォームが、 Device GuardCredential Guard、および仮想化ベースのセキュリティに関するすべてのベースライン要件を満たしている必要があります。To enable System Guard Secure launch, the platform must meet all the baseline requirements for Device Guard, Credential Guard, and Virtualization Based Security.

システムガードのシステム要件System requirements for System Guard

Intel® Coffeelake® 、™ Whiskeylake、またはそれ以降のシリコンで開始される intel vPro プロセッサの場合For Intel® vPro™ processors starting with Intel® Coffeelake, Whiskeylake, or later silicon 説明Description
64 ビット CPU64-bit CPU ハイパーバイザと仮想化ベースのセキュリティ (VBS) には、最小4コア (論理プロセッサ) を持つ64ビットコンピューターが必要です。A 64-bit computer with minimum 4 cores (logical processors) is required for hypervisor and virtualization-based security (VBS). Hyper-V について詳しくは、「Windows Server 2016 で Hyper-v」または「Windows 10 の Hyper-V の概要」をご覧ください。For more info about Hyper-V, see Hyper-V on Windows Server 2016 or Introduction to Hyper-V on Windows 10. ハイパーバイザーについて詳しくは、「ハイパーバイザーの仕様」をご覧ください。For more info about hypervisor, see Hypervisor Specifications.
トラステッドプラットフォームモジュール (TPM) 2.0Trusted Platform Module (TPM) 2.0 プラットフォームは、個別の TPM 2.0 をサポートしている必要があります。Platforms must support a discrete TPM 2.0. 統合/ファームウェア TPMs はサポートされていません。Integrated/firmware TPMs are not supported.
Windows DMA 保護Windows DMA Protection プラットフォームは Windows DMA 保護の仕様を満たしている必要があります (OS で明示的に設定されているすべての外部 DMA ポートは既定でオフになっている必要があります)。Platforms must meet the Windows DMA Protection Specification (all external DMA ports must be off by default until the OS explicitly powers them).
SMM 通信バッファーSMM communication buffers すべての SMM 通信バッファーは、EfiRuntimeServicesData、EfiRuntimeServicesCode、EfiACPIMemoryNVS、または E焼討 Edmemorytype メモリ型に実装する必要があります。All SMM communication buffers must be implemented in EfiRuntimeServicesData ,EfiRuntimeServicesCode , EfiACPIMemoryNVS, or EfiReservedMemoryType memory types.
SMM ページテーブルSMM Page Tables EfiConventionalMemory へのマッピングを含めることはできません (たとえば、OS/VMM が所有しているメモリがありません)。Must NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory).
EfiRuntimeServicesCode 内のコードセクションへのマッピングが含まれていないこと。Must NOT contain any mappings to code sections within EfiRuntimeServicesCode.
同じページに対して実行権限と書き込み権限がないMust NOT have execute and write permissions for the same page
TSEG ページを実行可能に設定できるようにする必要があります。メモリマップは TSEG E焼討の Edmemorytype をレポートする必要があります。Must allow ONLY that TSEG pages can be marked executable and the memory map must report TSEG EfiReservedMemoryType.
BIOS SMI ハンドラーは、smm ページテーブルがすべての SMM エントリでロックされるように実装する必要があります。BIOS SMI handler must be implemented such that SMM page tables are locked on every SMM entry.
モダン/コネクトスタンバイModern/Connected Standby プラットフォームは、モダン/コネクトスタンバイをサポートしている必要があります。Platforms must support Modern/Connected Standby.
TPM AUX インデックスTPM AUX Index プラットフォームでは、インデックス、属性、ポリシーを持つ AUX インデックスを設定する必要があります。この場合は、TXT DG で指定された AUX インデックスに対して、データサイズが104バイト (SHA256 AUX データ) と完全に対応している必要があります。Platform must set up a AUX index with index, attributes, and policy that exactly corresponds to the AUX index specified in the TXT DG with a data size of exactly 104 bytes (for SHA256 AUX data). (NameAlg = SHA256)(NameAlg = SHA256)
プラットフォームでは、次のように PS (プラットフォームサプライヤー) インデックスを設定する必要があります。Platforms must set up a PS (Platform Supplier) index with:
  • 作成時の "TXT PS2" スタイル属性は、次のようになります。Exactly the "TXT PS2" style Attributes on creation as follows:
    • AuthWriteAuthWrite
    • ポリシーの削除PolicyDelete
    • WriteLockedWriteLocked
    • WriteDefineWriteDefine
    • AuthReadAuthRead
    • WriteDefineWriteDefine
    • NoDaNoDa
    • Written
    • PlatformCreatePlatformCreate
  • 厳密なポリシーのポリシー (CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 名 Alg とポリシー)A policy of exactly PolicyCommandCode(CC = TPM2_CC_UndefineSpaceSpecial) (SHA256 NameAlg and Policy)
  • ちょうど70バイトのサイズSize of exactly 70 bytes
  • NameAlg = SHA256NameAlg = SHA256
  • さらに、OS の起動時に初期化およびロックされている (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) 必要があります。In addition, it must have been initialized and locked (TPMA_NV_WRITTEN = 1, TPMA_NV_WRITELOCKED = 1) at time of OS launch.
PS index データ DataRevocationCounters、SINITMinVersion、PolicyControl はすべて0x00 である必要があります。PS index data DataRevocationCounters, SINITMinVersion, and PolicyControl must all be 0x00
AUX ポリシーAUX Policy 必要な AUX ポリシーは、次のようにする必要があります。The required AUX policy must be as follows:
  • A = TPM2_PolicyLocality (近傍性 3 & 近傍性 4)A = TPM2_PolicyLocality (Locality 3 & Locality 4)
  • B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpecial)
  • authPolicy = \ {a} または {{A} および \ {A}authPolicy = {A} OR {{A} AND {B}}
  • authPolicy ダイジェスト = 0xef、0x9a、0x26、0xfc、0x22、0xd1、0xef、0x8c、0xef、0xff、0x59、0xe9、0x48、0x1a、0xc1、0xef、0x59、0xef、0xbe、0x22、0x8c、0xef、0x6d、0x17、0xef、0x0f、0x48、0xef、0xef、0xef、を0x9a、0x24authPolicy digest = 0xef, 0x9a, 0x26, 0xfc, 0x22, 0xd1, 0xae, 0x8c, 0xec, 0xff, 0x59, 0xe9, 0x48, 0x1a, 0xc1, 0xec, 0x53, 0x3d, 0xbe, 0x22, 0x8b, 0xec, 0x6d, 0x17, 0x93, 0x0f, 0x4c, 0xb2, 0xcc, 0x5b, 0x97, 0x24
TPM NV インデックスTPM NV Index プラットフォームファームウェアは、OS で使用するために TPM NV インデックスを設定する必要があります。Platform firmware must set up a TPM NV index for use by the OS with:
  • ハンドル: 0x01C101C0Handle: 0x01C101C0
  • 属性Attributes:
    • TPMA_NV_POLICYWRITETPMA_NV_POLICYWRITE
    • TPMA_NV_PPREADTPMA_NV_PPREAD
    • TPMA_NV_OWNERREADTPMA_NV_OWNERREAD
    • TPMA_NV_AUTHREADTPMA_NV_AUTHREAD
    • TPMA_NV_POLICYREADTPMA_NV_POLICYREAD
    • TPMA_NV_NO_DATPMA_NV_NO_DA
    • TPMA_NV_PLATFORMCREATETPMA_NV_PLATFORMCREATE
    • TPMA_NV_POLICY_DELETETPMA_NV_POLICY_DELETE
  • 次のポリシーのポリシー:A policy of:
    • A = TPM2_PolicyAuthorize (MSFT_DRTM_AUTH_BLOB_SigningKey)A = TPM2_PolicyAuthorize(MSFT_DRTM_AUTH_BLOB_SigningKey)
    • B = TPM2_PolicyCommandCode (TPM_CC_NV_UndefineSpaceSpecial)B = TPM2_PolicyCommandCode(TPM_CC_NV_UndefineSpaceSpecial)
    • authPolicy = \ {a} または {{A} および \ {A}authPolicy = {A} OR {{A} AND {B}}
    • 0xcb、0x45、0xcb のダイジェスト値0x1f、0xf3、0x45、0xcf、0x0a、0xcf、0x1a、0xcf、0x27、0x30、0x3c、0x09、0x22、0xcf、0xcf、0x68、0x45、0xe3、0xcf、0x81、0x7c、0x20、0xe3 のようになりました (2)Digest value of 0xcb, 0x45, 0xc8, 0x1f, 0xf3, 0x4b, 0xcf, 0x0a, 0xfb, 0x9e, 0x1a, 0x80, 0x29, 0xfa, 0x23, 0x1c,0x87, 0x27, 0x30, 0x3c, 0x09, 0x22, 0xdc, 0xce, 0x68, 0x4b, 0xe3, 0xdb, 0x81, 0x7c, 0x20, 0xe1
プラットフォームファームウェアPlatform firmware プラットフォームファームウェアは、Intel®の信頼された実行技術の起動を実行するために必要なすべてのコードを保持している必要があります。Platform firmware must carry all code required to execute an Intel® Trusted Execution Technology secure launch:
  • Intel® SINIT ACM は OEM BIOS で伝達する必要があります。Intel® SINIT ACM must be carried in the OEM BIOS
  • プラットフォームは、プラットフォーム用の正しいプロダクション Intel® ACM 署名者によって署名されたプロダクションの acm と共に出荷される必要があります。Platforms must ship with a production ACM signed by the correct production Intel® ACM signer for the platform
プラットフォームファームウェアの更新Platform firmware update Windows Update の UpdateCapsule 経由で、システムファームウェアを更新することをお勧めします。System firmware is recommended to be updated via UpdateCapsule in Windows Update.
SD850 また®はそれ以降のチップセットを搭載したた qualcomm プロセッサの場合For Qualcomm® processors with SD850 or later chipsets 説明Description
モニターモードの通信Monitor Mode Communication すべてのモニターモードの通信バッファーは、EfiRuntimeServicesData (推奨)、メモリの属性テーブル、EfiACPIMemoryNVS、または E焼討の各メモリ型で説明されている EfiRuntimeServicesCode のデータセクションに実装する必要があります。All Monitor Mode communication buffers must be implemented in either EfiRuntimeServicesData (recommended), data sections of EfiRuntimeServicesCode as described by the Memory Attributes Table, EfiACPIMemoryNVS, or EfiReservedMemoryType memory types
モニターモードのページテーブルMonitor Mode Page Tables すべてのモニターモードのページテーブルは次の操作を行う必要があります。All Monitor Mode page tables must:
  • EfiConventionalMemory へのマッピングが含まれていない (OS/VMM が所有しているメモリがないなど)NOT contain any mappings to EfiConventionalMemory (e.g. no OS/VMM owned memory)
  • 同じページに対して実行と書き込みのアクセス許可を持っている必要がないThey must NOT have execute and write permissions for the same page
  • 実行可能ファイルとしてマークされたモニターモードのページのみを許可するプラットフォームPlatforms must only allow Monitor Mode pages marked as executable
  • メモリマップは、モニターモードを E焼討サーブタイプとして報告する必要があります。The memory map must report Monitor Mode as EfiReservedMemoryType
  • プラットフォームは、モニターモードのページテーブルを変更から保護するためのメカニズムを提供する必要があります。Platforms must provide mechanism to protect the Monitor Mode page tables from modification
モダン/コネクトスタンバイModern/Connected Standby プラットフォームは、モダン/コネクトスタンバイをサポートしている必要があります。Platforms must support Modern/Connected Standby.
プラットフォームファームウェアPlatform firmware プラットフォームファームウェアは、起動を実行するために必要なすべてのコードを保持している必要があります。Platform firmware must carry all code required to perform a launch.
プラットフォームファームウェアの更新Platform firmware update Windows Update の UpdateCapsule 経由で、システムファームウェアを更新することをお勧めします。System firmware is recommended to be updated via UpdateCapsule in Windows Update.