PCがUEFI、セキュアブート、Hyper-Vの要件を満たしているかどうかは、「システム情報(Msinfo32.exe)」で確認できます。新しいセキュリティ機能を利用するには、Windows 10のコントロールパネルから「Windowsの機能の有効化または無効化」を実行して、「Hyper-V」と「分離ユーザーモード」の二つの機能を有効化します(画面1)。
「Hyper-V」と「分離ユーザーモード」の機能を有効化したら、「ローカルコンピューターポリシー(Gpedit.msc)」または「グループポリシー」で、以下のポリシーを有効化して構成します(画面2)。
コンピューターの構成\管理用テンプレート\システム\デバイス ガード\仮想化ベースのセキュリティを有効化する
ポリシー構成の「プラットフォームのセキュリティレベルを選択する」では、「セキュアブート」または「セキュアブートとDMA保護」(PCがIOMMUに対応している場合)を選択します。
また、デバイスガードを利用するには「コードの整合性に対する仮想化ベースの保護を有効化する」を、資格情報ガードを利用するには「資格情報ガードを有効にする」をチェックします。いずれか一方、または両方を有効化できます。
ポリシーを構成したら、PCを再起動します。これで、デバイスガードまたは(および)資格情報ガードのセキュリティ機能が有効化されます。
資格情報ガードが有効に機能しているかどうかは目に見えるものではありませんが、デバイスガードはドライバーやアプリケーションがブロックされる様子で機能していることを確認できます。デバイスガードは、次の二つのコンポーネントで構成されます。
KMCIはデバイスガードを有効化してPCを再起動したときから機能し始め、カーネルモードドライバーのコードの整合性を検証します。例えば、デジタル署名のないドライバーや、デジタル署名の証明書の有効期限が切れているドライバーは、Windowsの起動時にロードされません。
筆者のPCでは、デバイスガードを有効化した直後からオーディオデバイスのドライバーが動作しなくなりました(画面3)。調べてみると、デバイスドライバーの一部のコンポーネントで証明書の有効期限が切れていました。
一方、UMCIはデバイスガードを有効化しただけでは機能しません。
UMCIを機能させるには、Windows PowerShellのコマンドレットを使用してリファレンスPC(企業の標準PC)からアプリケーションカタログを作成し、「強制用または監査用のコードの整合性ポリシー(Code Integrity Policy)」を作成し、ローカルコンピューターポリシー(Gpedit.msc)またはグループポリシーの「コンピューターの構成\管理用テンプレート\システム\デバイス ガード\コードの整合性ポリシーを展開する」ポリシーを有効化して展開する必要があります。展開手順については、以下のドキュメントで詳しく説明されています。
強制用のコードの整合性ポリシーで検証できなかったアプリケーションは、実行しようとしても「コードの整合性ポリシーに違反しています」とのメッセージが表示されてブロックされます(画面4)。また、強制用および監査用のコードの整合性ポリシーによる検証状況は、イベントログの「Microsoft-Windows-CodeIntegrity/Operational」ログに記録されます。
Windows 7以降のEnterprise(およびUltimate)エディションでは、グループポリシーベースのアプリケーション制限機能である「AppLocker」がサポートされています。コードの整合性ポリシーによるアプリケーションのブロックは、AppLockerによるブロックとよく似たエクスペリエンスですが(画面5)、AppLockerはアプリケーション許可/禁止の制御機能であるのに対して、デバイスガードはWindows Defenderと同じマルウエア対策の一つといえるでしょう。
岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.