Windows Vista での整合性メカニズムの実装方法

Windows 整合性メカニズムは、Windows Vista のさまざまな方法で使用されます。 そのメイン目的は、信頼できない同じユーザー アカウントで実行されているアプリケーションのアクセス許可を制限することです。 このメカニズムにより、信頼度の低いコードがより高いレベルでオブジェクトを変更できなくなります。 Administrators グループまたはシステムの制御下にあるほとんどのオブジェクトには、随意アクセス制御リスト (DACL) があり、通常は管理者とシステムに対するフル コントロール アクセス許可を付与し、認証されたユーザーに対する読み取りと実行のアクセス許可を付与します。 Administrators グループと System の制御下にあるリソースの例としては、アプリケーションの Program Files ディレクトリやレジストリのHKEY_LOCAL_MACHINEハイブがあります。 整合性メカニズムでは、異なるユーザー アカウントまたはグループがアクセスできないように既に適切に構成されているオブジェクトのセキュリティは強化されません。 整合性メカニズムの主な目的は、プログラムが同じユーザー セキュリティ プリンシパルの完全な制御下でリソースにアクセスするためのさまざまなアクセス許可に対処することです。

追加の保護を必要とする同じユーザー セキュリティ プリンシパルの制御下にあるリソースは、主にユーザーのプロファイル (C:\Users\<username> ディレクトリとレジストリのHKEY_CURRENT_USERハイブ) と、そのユーザーの代わりに現在実行されているアプリケーション プログラムの下にあります。 Windows Vista では、次の方法で整合性メカニズムが使用されます。

  • UAC では、標準ユーザー特権で実行されているプロセスと、管理承認モードで完全な管理者権限で実行されている昇格されたプロセス間のアクセスが制限されます。
  • COM セキュリティは整合性レベルを認識しており、整合性の低いクライアントが、より高い整合性レベルで実行されているクラス インスタンスにバインドすることはできません。
  • 既定のセキュリティ設定では、システム ボリュームのルート フォルダーへのアクセスが制限されます。
  • 保護モードのインターネット エクスプローラーでは、インターネット ブラウザーで実行されているコードでユーザー データまたはユーザー プロファイルの設定を変更する機能が制限されます。
  • 低整合性で実行されているアプリケーションが書き込み可能なファイルの場所を持つことができるようにするには、ユーザー プロファイル内の特定のフォルダーに低い整合性レベルが割り当てられます。

整合性メカニズムは、Windows Vista セキュリティ アーキテクチャの一部です。 時間の経過とともに、信頼できない入力 (主にインターネットに接続) を処理する特定のアプリケーションは、低整合性レベルで実行する機能を利用するように更新されます。 個人の生産性アプリケーションは、ユーザーが入力データのソースを知っている限り、中程度の整合性レベルで正常に実行されます。 ほとんどのアプリケーションでは、整合性メカニズムは完全に透過的であり、アプリケーション機能に干渉しません。 アプリケーション サービスを更新して、さまざまな整合性レベルでクライアント プロセスのサーバー リソースをより適切に分離できます。

整合性レベルと UAC

Windows Vista の UAC では、管理承認モードを使用すると、同じデスクトップ上で異なるレベルのアクセスで複数のプログラムが実行されます。 プログラムには、プロセスの作成時にプロセスに割り当てられたセキュリティ アクセス トークンに基づいて異なる特権があります。 標準ユーザーであるアカウントを持つユーザーは、ログオン時に作成されたセキュリティ アクセス トークンを 1 つだけ持ちます。 標準ユーザー アクセス トークンには、中程度の整合性レベルが割り当てられます。 中程度の整合性標準ユーザー アクセス トークンは、ユーザーが実行するほぼすべてのアプリケーション プロセスに割り当てられます。 保護モードのインターネット エクスプローラーなどの特定のアプリケーションは、以下で詳しく説明する例外です。

Administrators グループのメンバーであるアカウントを持つユーザーには、ログオン時に 2 つのセキュリティ アクセス トークンが作成され、リンクされます。 1 つのアクセス トークンは、中程度の整合性レベルが割り当てられた標準のユーザー アクセス トークンであり、アクセスチェックの拒否にのみ使用される Administrators グループと、特定の管理特権が削除されています。 2 つ目のアクセス トークンは、管理者グループと管理特権がアクセス トークンに存在するため、高い整合性レベルが割り当てられている完全特権の昇格されたアクセス トークンです。 アクセス トークンは、そのユーザー アカウントの同じ対話型ログオンに関連しているため、リンクされています。 どちらのアクセス トークンも、Active Directory の同じユーザー SID と同じグローバル グループを持ちます (ドメインとエンタープライズ 管理のフィルター処理されたグループを除く)。

Windows エクスプローラー (シェルとも呼ばれます) と管理者以外のすべてのタスクには、標準ユーザーの中整合性アクセス トークンが割り当てられます。 Administrators グループのメンバーであるユーザー アカウントの場合、ほぼすべてのアプリケーションが中整合性アクセス トークンを使用して実行されます。 NO_WRITE_UP整合性ポリシーでは、暗黙的な medium オブジェクト必須ラベルを持つオブジェクトにアクセスするために、中レベルのプロセスのアクセス許可は制限されません。 整合性メカニズムは、高い特権レベルで実行されている可能性のある他のプロセスを制御するように設計されていない限り、中程度の整合性レベルのアプリケーションに対して透過的です。 Windows UI オートメーションは、他のプロセスを制御するように設計されたアプリケーションの例です。

UAC 管理承認モードを使用すると、ユーザーは、完全な特権の昇格されたアクセス トークンに同意した後、管理タスクとアプリケーションを起動できます。 オペレーティング システムでは、低い特権 (標準ユーザー) プロセスが、同じユーザー SID で実行されている高い特権 (管理者) プロセスを直接改ざんする機能を制限する必要があります。 Windows 整合性メカニズムでは、高整合性プロセスに対して中整合性プロセスが持つアクセス許可が制限されます。 プロセス マネージャー (Windows カーネルの一部) は、必須のポリシー オプションNO_READ_UP割り当て、読み取りアクセスまたは書き込みアクセスの整合性が高いプロセスを開く整合性の低いプロセスを制限するためにNO_WRITE_UPします。

整合性の低いプロセスには、汎用の実行アクセスのみが含まれます。 汎用実行アクセスには、次のものが含まれます。

  • SYNCHRONIZE、PROCESS_QUERY_LIMITED_INFORMATION
  • PROCESS_TERMINATE

より高い整合性プロセスへの汎用読み取りアクセス (プロセスの仮想メモリへのアクセスをPROCESS_VM_READし、PROCESS_QUERY_INFORMATION) は、低い特権のプロセスが、認証に使用されるパスワード データまたはその他のキー マテリアルを含むメモリへの読み取りアクセスを取得できないように制限されます。 整合性の高いプロセスへの汎用書き込みアクセスは、NO_WRITE_UP ポリシーによってブロックされます。 汎用書き込みプロセスアクセス権には、次のものが含まれます。

  • PROCESS_CREATE_THREAD
  • PROCESS_VM_OPERATION
  • PROCESS_VM_WRITE
  • PROCESS_DUP_HANDLE
  • PROCESS_SET_QUOTA
  • PROCESS_SET_INFORMATION
  • PROCESS_SET_PORT

現在のユーザー レジストリ ハイブ

ユーザー プロファイル内のほとんどのオブジェクトには明示的な必須ラベルが割り当てられないため、暗黙的な既定の整合性レベルは medium です。 これは、レジストリのHKEY_CURRENT_USER (HKCU) ハイブに適用されます。 HKCU で作成されたキーには、暗黙的な中程度の整合性レベルがあります。 つまり、Administrators グループのメンバーであるユーザーの場合、HKCU ハイブは、中整合性標準ユーザー アクセス トークンまたは高整合性完全管理者アクセス トークンのいずれかで実行されているアプリケーションによって書き込み可能です。 これは、アプリケーションの互換性上の理由から当てはまる必要があります。 HKEY_LOCAL_MACHINE (HKLM) ハイブには、管理者とシステムのフル コントロールを付与する既定のセキュリティ ポリシーがあり、ユーザーは読み取りと実行のアクセス権を持っていることを思い出してください。 HKLM ハイブは、完全な管理者アクセス トークンが割り当てられている管理者特権のプロセスによってのみ変更できます。 HKLM ハイブは、高い必須ラベルによって保護されていません。

明示的な必須ラベルを持たないオブジェクトの既定の整合性レベルは中程度であるため、管理者グループのメンバーであるユーザーが、HKCU とユーザー プロファイル データを共有する異なる特権レベル (中および高) でプログラムを実行できることは明らかです。 Windows Vista では、中整合性プロセスと高整合性プロセスの間に厳密な境界は適用されません。 高整合性プロセスでは、"読み取りダウン" が許可されます。 完全特権の高整合性アクセス トークンを使用して実行されているアプリケーションでは、HKCU から構成情報を読み取ったり、高整合性プロセスの動作に影響を与える入力ファイルを受け入れるのが一般的です。 完全な特権で実行されるアプリケーションでは、HKLM を使用して、管理者のみが変更可能な構成情報を格納する必要があります。 また、完全特権アプリケーションでは、ユーザーが変更可能なファイルを処理する前に、ユーザー入力データが適切な形式であることを確認する必要があります。

COM は整合性に対応しています

COM は、アプリケーション コンポーネントとオブジェクト サービスを構築するためのフレームワークです。 COM インフラストラクチャは、CoCreateInstance を呼び出すクライアントの整合性レベルと、クラス インスタンスを実行しているサーバー プロセスを認識します。 整合性レベルが動作に影響を与える COM 機能の領域は次のとおりです。

  • COM 昇格モニカーを使用すると、管理者が同意した後、または標準ユーザーが明示的な管理者資格情報を提供した後、クライアントは高い整合性レベルで昇格されたサービスを起動できます。
  • 中程度の整合性レベルより上位で実行されるサーバー クラスには、HKLM レジストリ ハイブで CLSID が定義されている必要があります。
  • COM では、より低い整合性レベルのクライアントが、より低いクライアントからのアクセスをプログラムで許可しない限り、より高い整合性レベルでサーバーの実行中のインスタンスにバインドできなくなります。

COM 昇格モニカーを使用すると、低または中の整合性レベルのアプリケーションは、高い整合性で昇格された権限で実行されているプロセスで COM サービスを起動できます。 昇格モニカーを使用すると、アプリケーションの完全な互換性を保つ目的ではなく、管理者特権で実行するように設計された特定のタスクが可能になります。 COM 昇格は UAC 昇格と統合されています。 昇格された COM サーバー プロセスには、高い整合性を持つ完全な特権の昇格されたアクセス トークンが割り当てられます。 COM では、下位レベルのクライアントが、より高い整合性レベルでサーバーの実行中のインスタンスにバインドすることはできません。

COM サーバーが整合性の低いクライアントからの接続をサポートするように設計されている場合、サーバーは CLSID のレジストリの起動/アクティブ化のアクセス許可をプログラムで変更して、整合性の低いクライアントからのバインドを許可できます。 COM では、必須ラベル ACE のNO_EXECUTE_UP必須ポリシーを使用して、クライアントが高い整合性レベルでサーバー インスタンスにバインドできるかどうかを制御します。 COM の起動/アクティブ化アクセス許可は、アクティブ化を確認するために COM によって使用されるGENERIC_MAPPINGの汎用実行アクセス権にマップされます。 オブジェクトに関連付けられている必須ラベルの整合性レベルは、サーバーへのバインドが許可されているクライアントの最も低い整合性レベルを識別します。 ファイル システム アクセスと同様に、既定の暗黙的な必須ポリシーでは、中整合性クライアントをサーバーにバインドできます。

整合性の低いクライアントがサーバーのインスタンスにバインドできるように設計された COM サーバーの場合、COM ライセンス認証のアクセス許可はサーバー コードによって設定されます。

整合性の低いクライアントがサーバーにバインドできるようにするには

  1. 整合性レベルが低い場合は、NO_EXECUTE_UP (NX) ポリシーを使用して必須ラベルを定義します。 整合性が低い場合の必須ラベル ポリシーを持つオブジェクト セキュリティ記述子の SDDL は次のとおりです。

    O:BAG:BAD:(A;;0xb;;;WD)S:(ML;;NX;;;LW)

  2. 文字列セキュリティ記述子をバイナリ セキュリティ記述子に変換します。

  3. バイナリ セキュリティ記述子を使用して、サーバー CLSID の CLSID の起動アクセス許可を設定します。

COM セキュリティ UI dcomcfg.exeは、整合性レベルをサポートしていません。

COM 起動アクセス許可の必須ポリシーを設定する方法のコード例については、COM と整合性レベルのサポートの詳細については、「 Windows 整合性メカニズム のリソース 」を参照してください。

サービスにはシステムの整合性レベルが割り当てられます

Service Control Manager (SCM) は、特別なサービス アカウントまたはユーザー名とパスワードを使用してサービス プロセスを開始します。 特別なサービス アカウントは、LocalSystem、LocalService、NetworkService です。 これらのサービス アカウントのいずれかで実行されているサービスには、サービスが他のユーザーになりすましながらアクションを実行できるようにするSE_IMPERSONATE_NAME特権など、特別な特権があります。 Windows Vista は、特殊なサービス アカウントのいずれかで実行されているサービスのプロセス オブジェクトにシステム整合性レベルを割り当てます。 次のプロセス エクスプローラーの画像は、特別なサービス アカウントのアクセス トークンに割り当てられたシステムの整合性レベルを示しています。

図 6 サービスのシステム整合性レベル

サービス プロセスにはシステム整合性レベルがありますが、これらのサブジェクトによって作成されたセキュリティ保護可能なオブジェクトにはシステム必須ラベルは割り当てられません。 サービスによって作成されたオブジェクト (子プロセス、スレッド、アクセス トークン、ジョブを除く) には、暗黙的な中程度の整合性レベルがあります。

Windows Vista のサービスの変更では、セキュリティ、信頼性、管理容易性を向上させるためのサービスの変更について説明します。 サービスの変更により、セッション 0 でサービスを分離し、サービス SID を使用してサービスがアクセスできるリソースを分離することで、システム セキュリティが向上します。 特殊なサービス アカウントのシステム整合性レベルは、サービス分離の目的と一致します。 システムの整合性レベルで実行されているサービス プロセスは、整合性の低いプロセスによって アクセスから保護されます。 サービス プロセスを開くために整合性の低いプロセスで使用できるプロセス アクセス権は、次に制限されます。

  • SYNCHRONIZE
  • PROCESS_QUERY_LIMITED_INFORMATION
  • PROCESS_TERMINATE

一部のアプリケーションは、1 つ以上のサービス アカウントで実行されている可能性がある複数の協調プロセスを使用して設計されています。 RPC などのプロセスとサービス間のほとんどのプロセス間通信 (IPC) メカニズムは、整合性レベルによって制限されません。 サービスは、整合性の低いクライアントからの入力を検証するために特に注意する必要があります。

サービス間で重複するハンドル

複数のプロセスを使用するサービス アプリケーションは、サーバー プロセス間でファイルなどのオブジェクトにハンドルを複製するように設計されている場合があります。 すべてのプロセスが同じ特殊なサービス アカウントで実行されている場合、サービス プロセスの既定のセキュリティでは制限は発生しません。 特殊なサービス アカウントで実行されているサービス プロセスの既定の DACL では、DuplicateHandle 呼び出しに必要なPROCESS_DUP_HANDLEアクセス権は付与されません。 アプリケーション サービス デザイナーは、異なるユーザー アカウントで実行されるアプリケーション プロセス間でハンドルを共有するために、共同プロセスで使用される別のユーザー アカウントに、サービス プロセス オブジェクトに対するPROCESS_DUP_HANDLEアクセス権を付与する機能を実装する必要があります。 ただし、ハンドルを複製するサービスがシステム整合性レベルで実行されている特別なサービス アカウントである場合、高または中の整合性レベルで実行されている共同プロセスは、必須のラベル ポリシーのためにPROCESS_DUP_HANDLEを取得できません。 DACL がPROCESS_DUP_HANDLEアクセスを許可した場合でも、必須ラベル ポリシーでは、アクセスする整合性の低い呼び出し元は許可されません。 この状況がサービス アプリケーションの設計に影響する場合は、DuplicateHandle を開始するプロセスが、ハンドルのソースであるプロセスの整合性レベルよりも高い整合性レベルになるように、アプリケーション サービス コードを変更する必要があります。 つまり、整合性の高いサービスでは、ハンドル ソースとして、整合性の低いプロセスのターゲットとしてハンドルを独自のプロセスに複製できます。

偽装ポリシー

SE_IMPERSONATE_NAME特権を使用すると、サーバー プロセスはクライアント プロセスのセキュリティ コンテキストを偽装できます。 偽装特権は強力な特権です。 整合性メカニズムは、権限借用特権を、高い整合性レベルまたはシステム整合性レベルのアクセス トークンに関連付けます。 整合性メカニズムは、サブジェクトが Impersonate 特権を持っている場合にのみ、より高い整合性レベルでクライアントを偽装できるポリシーを適用します。

このポリシー制限が適用されるシナリオは、整合性の低いプロセスが UI をスプーフィングして管理者ユーザーに管理者資格情報の入力を求める場合です。 悪意のあるコードでは、資格情報を使用して LsaLogonUser と ImpersonateLoggedOnUser を呼び出して、より高い特権レベルでプロセスを起動しようとします。 偽装アクセス トークンの整合性メカニズム ポリシーは、LsaLogonUser によって返されるアクセス トークンの整合性レベルが、呼び出し元プロセスの整合性レベルを超えてはなりません。

高い整合性レベルのルート フォルダー

システム パーティションのルート フォルダー (通常は C:\) は、プログラムや一時ファイルを格納するための便利な場所として使用されてきましたが、この方法は推奨されていません。 管理者特権を必要とするセットアップ プログラムは、起動する前にルート フォルダーにコピーされることがよくあります。 ルート フォルダーの既定のセキュリティ ポリシーは、認証されたユーザーがルート フォルダーの下にサブフォルダーを作成できるように設計されていますが、管理者のみがルート フォルダーにファイルを作成できるように設計されています。 さらに、管理者以外のユーザーが管理者によって作成されたフォルダー内のファイルを変更することをポリシーで許可しないのが理想的です。 このポリシーは、ルート フォルダーの ACL のみを使用して定義することは困難です。

子オブジェクトには適用されるが、子コンテナーには適用されない高い整合性レベルの必須ラベルを設定すると、ルート フォルダーの既定のセキュリティがこのポリシーを満たします。 中程度の整合性レベルでプログラムを実行する標準ユーザーは、ACL がユーザーにアクセスの変更を許可した場合でも、ルート フォルダー内の管理者によって作成されたファイルを変更することはできません。 ルート フォルダーには、オブジェクト継承であり、サブフォルダーに反映されない高い整合性で継承可能な必須ラベルがあります。

次の図は、C:\ の既定のセキュリティ設定を示しています。ルート フォルダー(オブジェクトを含む)は、高い整合性で必須ラベルを継承します。 表 9 に、画像内の省略形の定義を示します。

表 9 画像の省略形

省略形 定義

(OI)

オブジェクトの継承

(NP)

伝達なし

(IO)

継承のみ

(NW)

書き込みなし

図 7 ルート フォルダーの必須ラベル

低い整合性で保護モードのインターネット エクスプローラー

インターネット エクスプローラーは、インターネットから任意のデータと拡張可能なコードを受け入れるように設計されたアプリケーションの例です。 インターネット コンテンツのソースはほとんど認証 (署名) されないため、インターネットからの入力はすべて信頼できないと想定する必要があります。 インターネット エクスプローラーに対する攻撃、または他のインターネット ブラウザーに対する攻撃は、インターネットから利用できる動的コンテンツとデータの信頼できない性質を示しています。 セキュリティの観点から、インターネット エクスプローラー プロセス自体が侵害され、信頼されていないと想定し、ブラウザーでの攻撃によって発生する潜在的な損害を制限する解決策を探します。 ブラウザーベースの攻撃に対して提案された解決策の中には、Web ブラウザーを他のアプリケーションやデータから完全に分離しようとするものもあります。 残念ながら、ブラウザーの完全な分離は、.pdfファイルなどのさまざまなファイルの種類を読み取るためにプログラムを自動的に起動する機能など、ユーザーの閲覧エクスペリエンスに大きな影響を与えます。 完全な分離により、ブラウザーがユーザー データ ファイルへの読み取りアクセス権を持っていない場合、Web サイトへの画像のアップロードなどの一般的なユーザー エクスペリエンスが妨げられます。

保護モードのインターネット エクスプローラーの目的は、不要なスタートアップ ファイルの作成、ユーザー データ ファイルの変更、ブラウザー構成設定の煩わしい変更、またはデスクトップで実行されている他のプログラムの動作を促進するために、ブラウザーで実行されている悪用の機能を制限するために、プロセスで使用できるアクセス権を減らすことです。 低整合性プロセスで保護モードのインターネット エクスプローラーで実行されているすべてのコードは、信頼できないと見なされます。 オブジェクトの既定の中程度の整合性レベルでは、書き込みアクセス用のディレクトリ、ファイル、またはレジストリ キーをブラウザーが開かないようにします。ただし、整合性が低い場合に明示的にラベルが付けられるものを除きます。 UIPI を使用すると、低整合性のブラウザー コードが、デスクトップ上で実行されている他のアプリケーションに、破損する可能性のあるウィンドウ メッセージを送信できなくなります。

低い整合性で実行されているブラウザーには、ユーザー データ ファイルへの読み取りアクセス権があります。 Windows の整合性メカニズムでは機密性が強制されないため、情報のフローは制限されません。 このプロセスでは、既定の資格情報を使用して、ネットワーク プロキシ サーバー (インターネットへの接続に認証が必要な場合に必要) や、Web ページを印刷するネットワーク プリンター デバイスへのネットワーク接続を開始することもできます。 整合性の低いプロセスでは、他のネットワーク サービスへの認証された接続を開始し、それによってそれらのサーバーに対して現在のユーザーとして認証することもできます。

インターネット エクスプローラーのアプリケーション設計では、保護モードで低い整合性レベルで実行するために、いくつかの再構築が必要でした。 主な変更は、特定のプログラム操作が、ブローカー プロセスと呼ばれる別のプロセスに移動され、中程度の整合性レベルで実行されていることです。 ブローカー プロセスは、ユーザーがインターネット エクスプローラー アイコンまたは URL リンクをクリックすると、中程度の整合性レベルで開始されます。 ブローカーは URL とゾーン ポリシーを確認し、低整合性レベルで子プロセス (iexplore.exe) を起動してインターネット接続を確立し、Web ページをレンダリングします。 プロセス エクスプローラーの次の図は、ieuser.exe、中整合性レベルのブローカー プロセス、低整合性レベルのiexplore.exe プロセスを示しています。

図 8 保護モードのインターネット エクスプローラー プロセス

インターネット エクスプローラー Web ブラウザーのユーザー エクスペリエンスはすべて、低整合性プロセス内で行われます。 [インターネット オプション] 設定の変更や [ ファイルとして保存] ダイアログなど、いくつかの特定の操作がブローカー プロセスによって処理されます。 URL が信頼済みサイトの場合、既定のゾーン ポリシー設定に基づいて、ブローカー プロセスは、iexplore.exeの別のインスタンスを中整合性プロセスで開始します。 すべてのブラウザー拡張機能と ActiveX コントロールは、整合性の低いプロセス内で実行されます。 これは、ブラウザー拡張機能に対する潜在的な悪用が低い整合性でも実行されるという利点があります。

インターネット エクスプローラーは、Microsoft によって開発されていないブラウザー拡張機能と ActiveX コントロールをホストし、異なるファイル拡張子の MIME の種類に基づいて他のアプリケーションを起動し、1 つの親ウィンドウ フレーム内の異なるアプリケーションからクライアント ウィンドウを統合するため、他のアプリケーションよりもやや複雑です。 また、ユーザーはブラウザーを介してインターネットからソフトウェアをダウンロードし、すぐにアプリケーション パッケージまたはアプリケーション インストーラーを起動します。 これらの操作の多くは、操作を確認するためにユーザーを介して仲介するために、より高い整合性レベルのブローカー プロセスからの支援を必要とします。 そうしないと、ブラウザーで実行されているコードがシステムに悪意のあるソフトウェアをインストールし、ユーザーのデータを変更または削除しようとする可能性があります。 ActiveX コントロールのインストールは、管理者権限を必要とする UAC によって開始された管理者特権のタスクを使用して実行されます。

インターネット エクスプローラーでは、ブラウザーと他のローカル アプリケーション間の幅広いユーザー操作がサポートされているため (コピーと貼り付けは明白な例の 1 つです)、オブジェクトへの書き込みアクセスを制限する整合性メカニズムは完全な分離メカニズムではありません。 Protected Mode Internet エクスプローラーの設計では、さまざまなやり取りを確認し、ブローカーと低権限のiexplore.exeプロセスの動作を調整して、最小限の特権の機能を維持しながら、高度にコラボレーションの高いユーザー エクスペリエンスを提供しました。

保護モードのインターネット エクスプローラーの詳細については、「保護モードのインターネット エクスプローラーhttps://go.microsoft.com/fwlink/?LinkId=90931について」を参照してください。