これはいったい、どういうことでしょうか。Device Guardは、エディション限定のセキュリティ機能だったはずです。ここからは、筆者の解釈も含まれます(ご注意ください)。
詳しい手順は説明しませんが、Device Guardの主要な構成要素であるコード整合性ポリシーは、Windows PowerShellの「New-CIPolicy」コマンドレットなどを使用して作成できます。このコマンドレットは、Windows 10 Homeを除くPC向けのWindows 10とWindows Server 2016に含まれますが、その実行にはエディションの制限がかかっています。Windows 10 Enterprise/EducationとWindows Server 2016ではコード整合性ポリシーを作成できますが、その他のエディションでは実行がブロックされます(画面5)。
コード整合性ポリシーは「カーネルモードのコード整合性ポリシー(Kernel Mode Code Integrity Policy:KMCI)」と「ユーザーモードのコード整合性ポリシー(User Mode Code Integrity Policy:UMCI)」の2つを含みます。
前者(KMCI)はカーネルモードで動作するデバイスドライバを制限し、後者(UMCI)はWin32アプリケーションとWindowsアプリを制限します。Device Guardの公式ドキュメントによると、KMCIの機能は、以前のWindowsから存在していたそうです(Windows 8.1 x64から要求されるようになったカーネルモードコード署名ポリシーによるデバイスドライバの制限だと思います)。また、UMCIの機能もWindows RTおよびWindows Phoneに提供されていたそうです。
Windows 10で新しくなったのは、KMCIとUMCIのコード整合性ポリシーを企業独自に作成し、展開できるようになったこと。そして、KMCIに関してはVBS(仮想化ベースのセキュリティ)と組み合わせることで、保護をさらに強化できることです(これを「Hypervisor Code Integrity:HVCI」や「Hyper-Vコード整合性」と呼びます)。例えば、VBSと組み合わせると(つまり、HVCI)、KMCIのコード整合性ポリシーをUEFI(Unified Extensible Firmware Interface)でロックして、リモート(つまりグループポリシー設定)で解除できないようにすることができます。
別の言い方をすれば、KMCIとUMCIのコード整合性ポリシーは「VBSがなくても使用できる」ということになります。VBSを使用しないなら、VBSのハードウェア要件(つまり、Hyper-Vのハードウェア要件)を満たす必要がありません。
そして、Windows 10 S相当にするコード整合性ポリシーの動作を見る限り、VBSを使用しないコード整合性ポリシーは、EnterpriseとEducationだけには制限されないようなのです。試しに、筆者がWindows 10 EnterpriseのNew-CIPolicyコマンドレットで作成した独自のコード整合性ポリシーを、同じバージョン(ビルド)のWindows 10 Homeにスタンドアロンで構成してみたところ、Windows 10 HomeでもDevice Guardのコード整合性ポリシーが機能しました(画面6)。
なお、Windows 10 バージョン1607以降のEnterpriseおよびEducation、Windows Server 2016では、Hyper-Vを有効化することでVBSが自動的に組み込まれます。その後、グループポリシーやローカルポリシーを使用して、Device GuardやCredential Guardを構成します(画面7、前出の画面2の「システム情報」の出力はその構成結果を示しています)。
Windows 10の他のエディションはVBSをサポートしておらず、Hyper-Vを有効化してもVBSは利用可能になりません。なお、Windows 10 バージョン1511までは、「分離ユーザーモード(Isolated User Mode)」という機能を有効化する必要がありました。
今回の内容をまとめると、コード整合性ポリシーはDevice Guardとは無関係ではありませんが、Device Guardに含まれるセキュリティ機能の一部ではなく、Windows 10標準のセキュリティ機能ということになります。そして、VBSと組み合わせたHVCIで、KMCIの基準を引き上げることができます。全てのWindows 10エディションが備えるコード整合性ポリシーを「広義のDevice Guard」、エディション限定のものを「狭義のDevice Guard」と呼んでもよいかもしれません(広義と狭義の分類は、筆者の勝手な分類です)。
しかしながら、企業や組織で独自のコード整合性ポリシーを作成するためには、マスターコンピュータでNew-CIPolicyコマンドレットを実行する必要があり、それが可能なのはWindows 10 EnterpriseとEducationです。Windows Server 2016でもNew-CIPolicyコマンドレットは実行できますが、業務アプリケーションやWindowsアプリを含む、Windows 10向けの適切なポリシーを作成することは事実上できないでしょう。
Windows 10 EnterpriseまたはEducationが導入済みであるということは、すなわち、他のクライアントもこれらのエディションを実行しているはず。そこから導かれる答えは、実質的に、Device GuardはWindows 10 EnterpriseとEducation限定のセキュリティ機能ということになります。ややこしいことをお話しして、お騒がせしましたが、結局のところ、そういうことです。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.