検索
連載

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

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

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Windowsにまつわる都市伝説」のインデックス

連載目次

“Enterprise限定”の高度なセキュリティ機能として登場した「Device Guard」

 まずは、以下のWindows 10のエディションの比較表(MicrosoftのWebページ)をご覧ください(画面1)。最新の情報が反映されている英語のオリジナルページ(例えば、Enterprise E3とEnterprise E5が区別されている)を見ることを推奨しますが、どちらの比較表でも「Device Guard(デバイスガード)」は、Windows 10のEnterpriseエディションとEnterpriseをベースにしたEducationエディションだけに提供されるセキュリティ機能として紹介されています。この比較表には含まれませんが、Device GuardはWindows Server 2016でもサポートされています。

画面1
画面1 「Device Guard」は、Windows 10 EnterpriseとEducationだけのセキュリティ機能として紹介されている

 Device Guardは簡単に言うと、デバイスドライバやWin32アプリケーション、Windowsアプリ(ストアアプリやモダンアプリ、UWPアプリとも呼ばれます)の実行を「ポリシー(コード整合性ポリシー)」で許可または禁止できるWindows 10の新しいセキュリティ機能です(画面2)。

画面2
画面2 Device Guardを構成したWindows 10 Enterpriseで許可されていないアプリケーションを実行しようとしたところ。このメッセージを覚えておいてください

 Device Guardは「仮想化ベースのセキュリティ(Virtualization-Based Security:VBS)」と呼ばれる、Hyper-Vの仮想化環境を活用した新しいOSの分離環境を使用します。VBSに依存するものとしては他に、資格情報を厳重に保管する「Credential Guard(資格情報ガード)」があり、こちらもWindows 10 EnterpriseとEducation限定の新しいセキュリティ機能となっています。

 Device Guardの公式ドキュメントは、以下のWebページで公開されています。このドキュメントを読んでも、ほとんどの人はDevice GuardがWindows 10 Enterprise限定(このドキュメントには明示されていませんが、EnterpriseベースのEducationも含む)のセキュリティ機能であると読み取ると思います。

 ここまでを踏まえた上で、今回取り上げるのは、Device Guardが実はWindows 10の全てのエディション(少なくともPC向けのWindows 10)に実装され、一部制限される部分はあるものの、全エディションで利用可能なセキュリティ機能だったという話です。筆者はつい先日まで“エディション限定機能”だと思い込んでいたのですが、どうやらそうではないようです。先に言っておきますが、今回もややこしい話になります。

Windows 10 Sで経験した不思議体験、これはDevice Guardの亡霊か?

 Microsoftは2017年7月末に、主に教育分野向けのWindows 10の新しいエディション(SKU)である「Windows 10 S」のISOイメージをMSDN(Microsoft Developer Network)サブスクライバーに対して公開しました。また、8月に入ると、Windows 10 Pro、Pro Education、Enterprise、Educationの正規ライセンスを持つユーザーに対して、そのPCをWindows 10 Sにアップグレードしてテストできるツール(実体は「アップグレードアシスタント」によるダウンロードと新規インストール)を公開しました。

 皆さんは、Windows 10 Sについてご存じですか。「ストアから入手したアプリだけを実行でき、コマンドプロンプトやPowerShellは使えない」という特徴を知っている人も多いと思います。先に指摘しておきますが“ストアアプリだけを実行可能”という特徴から、Windows 8にあったARMプロセッサ版「Windows RT」の新しいバージョンと思っている人がいるかもしれませんが全く違います。

 Windows 10 Sは99%以上(この数字は単なる表現であり、適当なものです)がWindows 10 Proと同じものであり、実行可能な操作が制限され、ロックダウンされたものです。これについては、筆者の個人的な評価レポートをブログにまとめています。

 さて、Windows 10 Sで許可されていないアプリケーション(例えば、Windows標準の「コマンドプロンプト」)を実行しようとすると、以下の画面3のようなメッセージが表示されて、ブロックされます(Microsoft Edge経由でダウンロードしたプログラムを実行しようとした場合は、もっとグラフィカルな表示になります)。メッセージこそ異なりますが、Device Guardでブロックされたときの様子(前出の画面2)とよく似ていませんか。

画面3
画面3 Windows 10 Sで「コマンドプロンプト(Cmd.exe)」の実行がブロックされたところ

 実際、Device Guardを構成した場合と同様に、ブロックされた履歴はイベントログの「Microsoft-Windows-CodeIntegrity/Operational」ログに、ソース「CodeIntegrity」、イベントID「3081」のエラーとして記録されていました。エラーの中身は「<バイナリのパス>that did not meet the Enterprise Signing Level requirements or violated code integrity policy.」(エンタープライズ署名レベルの要件を満たしていないか、コード整合ポリシーに違反しています)となっています。ちなみに、「イベントビューアー」の使用はWindows 10 Sでもブロックされません。

 MicrosoftはWindows 10 Sの提供に先立ち、Device Guardのコード整合性ポリシーを利用して、Windows 10 Sと同等のブロック機能をテストすることができる、カスタマイズ済みのコード整合性ポリシーを提供していました。以下のチュートリアルに「To do test your app, you can apply a Device Guard Code Integrity policy on a device that is running Windows 10 Pro」と書いてある通り、Device Guardのコード整合性ポリシーをWindows 10 Proに適用できるのです。チュートリアルに従って実際に試してみると、確かにブロックされました。ブロックされたときのメッセージは、Windows 10 EnterpriseでDevice Guardを構成したときと全く同じです(画面4)。

画面4
画面4 メッセージ的には、Windows 10 ProでもDevice Guardのセキュリティ機能が動いているように見える

Copyright © ITmedia, Inc. All Rights Reserved.

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