- 会員限定
- 2023/09/14 掲載
Application Guardを解説、分離環境でMicrosoft EdgeとOfficeアプリの保護を可能に
山市良のマイクロソフトEYE
Microsoft Defender Application Guardとは何か?
「Microsoft Defender Application Guard」(以下、Application Guard)と「Windows Sandbox」は、64ビット(x64)版のWindows 10、およびWindows 11のPro以上のエディションでサポートされる高度なセキュリティ機能です。この機能は、Windows Server 2016で初めてサポートされるようになったハイパーバイザー分離モードのコンテナ技術(WindowsコンテナをDockerエンジン上での実行するモードの1つ)を、Windows 10以降のセキュリティ機能に応用したものです。「Microsoft Defender System Guard」とも呼ばれる「仮想化ベースのセキュリティ(VBS)」が有効な環境で利用できます。
VBSが有効なシステムでは、通常のOSカーネルとは別に、ハイパーバイザーで分離された環境でセキュアカーネルが動作します。
その上で重要なシステムサービス(分離されたローカルセキュリティ機関(Isolated LSA)など)が動作し、「デバイスガード」(許可されていないドライバーのロードをブロック)や「資格情報ガード」(資格情報を読み取ろうとする試みをブロック)といったセキュリティ機能を提供します。
Application GuardとWindows Sandboxもまた、通常のOSとはハイパーバイザーで分離されたアプリケーションの実行環境を提供するものです(画面1、画面2)。
通常の仮想マシン(Hyper-V仮想マシンなど)でも、分離された実行環境を提供することができますが、Application GuardとWindows Sandboxは仮想マシンではなく、Dockerベースのコンテナアプリと同様に、アプリケーション実行環境を提供するのが、Hyper-V分離コンテナであるという点が異なります。
Hyper-V分離コンテナーと仮想マシンの違い
Hyper-V分離コンテナは、Application GuardやWindows Sandboxをホストから分離する別のカーネルを実行し、その上でWindowsサービスやアプリケーションが実行されます。OSのシステムファイルはホストのOSのものが利用されるため、仮想マシンのような大きな仮想ハードディスクをダウンロードする必要はありません。ネットワークはNATスイッチにより分離されますが、インターネットアクセスは可能です。ホストとのファイルシステムやレジストリの差分は、一時ファイル(sandbox.vhdx)に保存され、破棄可能です。
そして、仮想マシンとは異なり、カーネルスケジューラーの統合、メモリ共有、仮想GPUなどで、パフォーマンスが最適化され、仮想マシンで実装するよりも、少ないコンピューティングリソースとディスク領域で動作します(図1)。
画面3は、Microsoft Edge用Application GuardとWindows Sandboxのそれぞれが動作しているときのファイルI/OをProcess Monitor(Windows Sysinternalsのユーティリティ)で監視したものです。
vmmemMDAGとvmmSandBoxというプロセス名の違いはありますが、同じようなファイルI/Oを行っていることがわかるでしょう。
コンテナのシステムファイルのイメージは、「C:\ProgramData\Microsoft\Windows\Containers\BaseImages」の下に準備され(大部分はホストOSのC:\Windows内のファイルへのリンク)、変更差分が「C:\ProgramData\Microsoft\Windows\Containers\...\sandbox.vhdx」に書き込まれ、「sandbox.vhdx」は適切なタイミングで破棄されることになります。
関連コンテンツ
関連コンテンツ
PR
PR
PR