こんにちは、阿久津です。Windows 8.1のInternet Explorer 11には、拡張保護モード(EPM:Enhanced Protected Mode)が備わっているのをご存じでしょうか。以前のInternet Explorer、正しくはWindows VistaのInternet Explorer 7からサポートされていた保護モードを文字どおり拡張し、セキュリティの強化とユーザーエクスペリエンスの向上をもたらすというものです。

本機能はInternet Explorer 10/11固有の機能であり、MSDNの日本語ページには、「Windows 7のInternet Explorer 11ではサポートされません」と書かれています。これはWindows 7版Internet Explorer 11プレビューで未サポートだったからでしょう。Windows 8.1を前提にした原文(英語ページ)ではその記述が取り除かれています(図01~02)。

図01 64ビット版Windows 8.1上のInternet Explorer 11。<詳細設定>タブの「セキュリティ」セクションには、<拡張保護モードを有効にする><拡張保護モードで64ビットプロセッサを有効にする>が用意されています

図02 64ビット版Windows 7上のInternet Explorer 11。同箇所は<拡張保護モードを有効にする>のみ用意されています

この拡張保護モードに関して述べる前に、AppContainer(アプリコンテナー)に関して説明しなければなりません。そもそもはWindowsストアアプリで用いられるサンドボックスの一種であり、他のプロセスに悪影響を及ぼさないように閉じた環境で、ファイル操作といった処理を制限しています。そのため、Windowsストアアプリは共有チャームなどを用いて、連動しなければなりません(図03)。

図03 Windowsストアアプリの「ストア」を起動した状態。WWAHost.exeプロセスを確認すると、「ストア」に割り当てられたSIDのフラグがAppContainerであることがわかります

このAppContainerは、Windowsストアアプリの設計構造のために生み出されたものなので、デスクトップアプリ版Internet Explorer 10/11だけでなく、Windowsストアアプリ版Internet Explorer 10/11のレンダリングプロセスなど各所に用いられます。また、「64ビットタブ」と呼ばれる各Webページの表示プロセスにも影響を及ぼし、Webページ閲覧時の安全性を高めるために組み込まれました。

このようにEPMはInternet Explorer 10/11における、重要な機能の一つに数えられますが、下位互換性維持のため、無効に設定することを推奨する金融機関系Webサイトも存在します。また、Windows 8だったときの使用状況に応じて、Windows 8.1にアップグレードした後も、EPMモードを無効にしたままInternet Explorer 11を使っている環境も少なくありません。本設定は図01で示したように「インターネットのオプション」ダイアログの<詳細設定>タブで機能の有効・無効を設定できますが、今週はレジストリからEPMを制御するチューニング方法を紹介します。

1. 管理者権限でレジストリエディターを起動します。
2. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Mainキーを開きます。
3. 文字列値「Isolation」を作成し、値のデータを「PMEM」に変更します。
4. DWORD値「Isolation64Bit」を作成し、値のデータを「1」に変更します。
5. レジストリエディターを終了させます。
6. コンピューターを再起動します。

これでチューニングが完了しました(図04~13)。

図04 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図05 レジストリエディターが起動したら、HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Mainキーまで、キーをたどって開きます

図06 Mainキーをクリックし、右ペインの何もないところを右クリックします。メニューから<新規>→<文字列値>とクリックしてください

図07 値名を「新しい値 #1」から、「Isolation」に変更します

図08 文字列値「Isolation」をダブルクリックで開き、値のデータを「PMEM」に変更して<OK>ボタンをクリックします

図09 右ペインの何もないところを右クリックします。メニューから<新規>→<DWORD値>とクリックしてください

図10 値名を「新しい値 #1」から、「Isolation64Bit」に変更します

図11 DWORD値「Isolation64Bit」をダブルクリックで開き、値のデータを「1」に変更して<OK>ボタンをクリックします

図12 <×>ボタンをクリックして、レジストリエディターを終了させます

図13 [Win]+[I]キーを押すなどして設定チャームを開き、<電源>ボタン→<再起動>とクリックします

早速結果を確認してみましょう。「インターネットのプロパティ」ダイアログの<詳細設定>タブを開き、「セキュリティ」セクションの<拡張保護モードを有効にする>および<拡張保護モードで64ビットプロセッサを有効にする>にチェックが入っているか確認してください。このようにレジストリエントリから、EPM関連項目を制御できたことを確認できます(図14~15)。

図14 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「control inetcpl.cpl,,6」と入力して<OK>ボタンをクリックします

図15 ダイアログが起動したら、<拡張保護モードを有効にする>と<拡張保護モードで64ビットプロセッサを有効にする>にチェックが入っているか確認しましょう。問題がなければ<キャンセル>ボタンをクリックします

<拡張保護モードを有効にする>と対になるのが文字列値「Isolation」であり、<拡張保護モードで64ビットプロセッサを有効にする>と対になるのが、DWORD値「Isolation64Bit」です。そのため、32ビット版Windows 8.1をお使いの場合、ステップ4の作業は必要ありません。

また、EPMを無効にする場合はダイアログから操作するか、文字列値「Isolation」を削除し、DWORD値「Isolation64Bit」のデータを「0」にするか削除してください。コンピューターを再起動すると設定が反映されます。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus