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

» 2017年08月28日 05時00分 公開
[山市良テクニカルライター]
前のページへ 1|2       

広義の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社)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。