AppContainer の分離

分離は、AppContainer 実行環境の主な目標です。 不要なリソースやその他のアプリケーションからアプリケーションを分離することで、悪意のある操作の機会が最小限に抑えられます。 最小特権に基づいてアクセス権を付与すると、アプリケーションとユーザーは自分の権限を超えてリソースにアクセスできなくなります。 リソースへのアクセスを制御すると、プロセス、デバイス、ネットワークが保護されます。

Windows のほとんどの脆弱性は、アプリケーションから始まります。 一般的な例としては、ブラウザーから抜け出したり、インターネットエクスプローラーに不適切なドキュメントを送信したりするアプリケーションや、フラッシュなどのプラグインの悪用などがあります。 これらのアプリケーションを AppContainer で分離できるほど、デバイスとリソースの安全性が高くなります。 アプリの脆弱性が悪用された場合でも、アプリは AppContainer に付与されているもの以外のリソースにアクセスできません。 悪意のあるアプリは、マシンの残りの部分を引き継ぐことはできません。

資格情報の分離

Id と資格情報を管理する AppContainer は、ユーザー資格情報を使用してリソースにアクセスしたり、他の環境にログインしたりできないようにします。 AppContainer 環境ではユーザーとアプリケーションの ID の組み合わせを使用した識別子が作成されるため、資格情報はユーザーとアプリケーションのペアリングごとに一意であり、アプリケーションがユーザーの権限を借用することができません。

デバイスの分離

AppContainer 環境でパッシブ センサー (カメラ、マイク、GPS)、マネー ポンプ (3G/4G、ダイヤルフォン) などのデバイス リソースからアプリケーションを分離すると、アプリケーションがデバイスを悪意を持って悪用されるのを防ぐことができます。 これらのリソースは既定でブロックされ、必要に応じてアクセス権を付与できます。 場合によっては、これらのリソースは "ブローカー" によってさらに保護されます。 キーボードやマウスなどの一部のリソースは、AppContainer および常駐アプリケーションで常に使用できます。

ファイルの分離

AppContainer 環境では、ファイルとレジストリへのアクセスを制御することで、アプリケーションが変更すべきではないファイルを変更できなくなります。 読み取り/書き込みアクセス権は、特定の永続ファイルとレジストリ キーに付与できます。 読み取り専用アクセスの制限が少なくなります。 アプリケーションは常に、その AppContainer 専用に作成されたメモリ常駐ファイルにアクセスできます。

ネットワークの分離

AppContainer は、特に割り当てられたリソース以外のネットワーク リソースからアプリケーションを分離することで、アプリケーションがその環境を "エスケープ" し、ネットワーク リソースを悪意を持って悪用することを防ぎます。 インターネット アクセス、イントラネット アクセス、およびサーバーとして機能するために、きめ細かいアクセスを許可できます。

プロセスの分離

アプリケーション カーネル オブジェクトをサンドボックス化すると、AppContainer 環境によって、アプリケーションが他のアプリケーション プロセスに影響を与えたり、影響を受けたりするのを防ぐことができます。 これにより、例外が発生した場合に、適切に含まれているアプリケーションによって他のプロセスが破損するのを防ぐことができます。

ウィンドウの分離

アプリケーションを他のウィンドウから分離すると、AppContainer 環境によって、アプリケーションが他のアプリケーション インターフェイスに影響を与えるのを防ぐことができます。