検索
連載

「Device Guard」はWindows 10 Enterpriseの“限定”機能か、否か?その知識、ホントに正しい? Windowsにまつわる都市伝説(91)(2/2 ページ)

主に教育分野向けのWindows 10の新しいエディション(SKU)である「Windows 10 S」を評価中、あることに気が付きました。Windows 10 Enterpriseの限定機能と思っていた「Device Guard」ですが、一部制限はあるものの、Windows 10 Homeを含む全てのエディションが備えているようなのです。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

広義のDevice Guardと狭義のDevice Guard

 これはいったい、どういうことでしょうか。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)。

画面5
画面5 コード整合性ポリシーを作成するための「New-CIPolicy」コマンドレットは、使用できるエディションが限定される(上の画面はEnterprise、下の画面はPro)

 コード整合性ポリシーは「カーネルモードのコード整合性ポリシー(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)。

画面6
画面6 Windows 10 EnterpriseおよびEducationだけに適用可能なDevice Guard(およびCredential Guard)のポリシー設定

 なお、Windows 10 バージョン1607以降のEnterpriseおよびEducation、Windows Server 2016では、Hyper-Vを有効化することでVBSが自動的に組み込まれます。その後、グループポリシーやローカルポリシーを使用して、Device GuardやCredential Guardを構成します(画面7、前出の画面2の「システム情報」の出力はその構成結果を示しています)。

画面7
画面7 Windows 10 Enterpriseで作成したDevice Guardのコード整合性ポリシーは、Windows 10 Homeでも機能した

 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」と呼んでもよいかもしれません(広義と狭義の分類は、筆者の勝手な分類です)。

1周回って何とやら……

 しかしながら、企業や組織で独自のコード整合性ポリシーを作成するためには、マスターコンピュータで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.

前のページへ |       
ページトップに戻る