Quantcast
Channel: TechNet Blogs
Viewing all articles
Browse latest Browse all 17778

IE10 & IE11 : 拡張保護モードのいろいろ

$
0
0

こんにちは、日本 Internete Explorer サポートチームの厳 (ゲン) です。

今回のブログでは、拡張保護モードについて紹介します。

 

拡張保護モードの前に、保護モードをおさらい

 

保護モードが最初に登場したのは Windows Vista の IE7 です。インターネット オプションで各ゾーンのセキュリティ設定で [保護モードを有効にする] とのオプションが追加されました。

 図1: 保護モードを設定する箇所

 

保護モードの既定値:

                 インターネット   ローカル イントラネット信頼済み サイト 制限付き サイト
IE7有効有効無効有効
IE8以後有効無効無効有効

 

 

 

* Windows XP/Windows Server 2003 上の IE7/IE8 には設定項目はありません。保護モード未対応です。

 

保護モードの本質:  

保護モードは OS のプロセス整合性モデル (Integrity Level 以下 IL) を利用した セキュリティを強化するための機能です。

IL とは簡単に言うと、OS 上のプロセスを [高] (High) - [中] (Medium) - [低](Low)  の三段階でレベル付けし、レベルが高ければ高いほど OS での読み込み・書き込み権限が強い、低ければ低いほど権限が弱いという仕組みです。

IE は保護モードが有効のサイトを表示する際時は IL が [低] の IE プロセスで処理します。保護モードが無効のサイトは IL が [中] のプロセストで処理します。こうして、インターネット上のサイトを権限の低いプロセスでホストして、仮にサイト内に OS への意図しない箇所への書き込み、読み込み処理が実装されていても、操作は権限制限によって失敗するので、悪意のサイトから OS のデーターを保護できます。

ちなみに、プロセスがどの IL で動作しているのか、Process Explorer ツールで確認できます。

 

 図2: Process Monitor ログからプロセス整合性レベルを確認します。

 

保護モードが効かないパターン

この IL という仕組みはユーザーアクセス制御 (UAC)が有効の OS でしか対応できませんので、以下のシナリオで起動した IE は IL=Low になりませんので、保護モードは実質無効です

  • OS の UAC 機能を無効に設定している場合 (IL=High )
  • ビルトインの管理者 (ユーザー名: Administrator) でログオンした場合(IL=High )
  • IE を右クリックして [管理者として起動] で起動する場合。(IL=High )
  • IE の LCIE プロセスモデルを無効 ( TabProcGrowth=0 ) にした場合 (IL=Medium)
  • Windows XP / Windows Server 2003 上の IE7 / IE8 (IL を対応しない)

 

拡張保護モード

Windows 8 以後 [低] よりも権限が制限された IL レベル:  AppContainerを追加しました。この AppContainer は Windows ストア アプリ (Windows 8 でタイル状のアイコンから起動するアプリケーション) が動作するセキュリティ基盤となります。Windows 8 上の IE10 ももちろんこの AppContainer で動作できるために [拡張保護モード] を登場させました。

 拡張保護モードの設定箇所:

 モダン UI の IE (タイル アイコンから起動する IE) は常に拡張保護モードが有効です。設定を変更する項目はありません。

デスクトップの IE は、拡張保護モードはインターネット オプションの [詳細設定] タグで一箇所で設定します。

  図3: Windows 8 の IE10 で見る拡張保護モードの設定画面

 

 図4: Windows 8.1 (64bit) の IE11 で見る設定画面

 

図面に示されるように、64bit OS の IE11 は [拡張保護モードで 64 ビット プロセッサを有効にする] という項目が追加されています。これは拡張保護モードが有効の場合、IE のコンテンツプロセスを 64 bit にするかどうかを設定する項目です。

この項目は IE10 で設けていない理由は、IE10 は拡張保護モードを有効になると、必ずコンテンツ プロセスを 32bit -> 64bit に変更しているからです。IE11 では拡張保護モード状態のプロセスビット数ををユーザーが選択できるようにするため、この項目を追加しました。

この拡張保護モードとビット数の関係は煩わしいのですが、拡張保護モードの既定値の由来を理解するのにとっても重要です。詳しくは後述の [拡張保護モードとプロセス ビット数] で説明します。

 

拡張保護モードの本質

拡張保護モードが有効の場合、保護モードが有効のサイトは、IL が [Low] よりも低い [AppContainer] のプロセスで表示されます。保護モードが無効のサイトは、引き続き IL が [Medium] のプロセスで表示されますので、影響を受けません。

 AppContainer でページをホストする際にはページ上の ActiveX コントロールもこの AppContainer 内で動作できるようにデザインされていない限り、動作できません。現行の殆どの ActiveX コントロールは対応できていない状況から、拡張保護モードが有効だとページに ActiveX コントロールが含まれますと殆ど動作できません。(ちなみに Flash は AppContainer でも動作できます) 。

このような場合、IE はサイトの下部に警告を表示して、ユーザーが [許可] を選択すると、このサイトを Low で開き直します。

 

 図5: 拡張保護モードで ActiveX コントロールが動作しない警告メッセージ

もちろんほかにも Appcontainer による Cookie の分離や、ファイル I/O の制限など、さまざまのセキュリティ上の強化効果がありますが、詳細はまた今度のブログにて紹介します。 

 

拡張保護モードとプロセス ビット数

 まずは Windows 8 以後の OS (AppContainer 対応可能) での IE プロセスモデルを見てみましょう。

図6: 64bit OS の IE10 / IE11 プロセスモデル (Windows 8 以後)

 

なお、32bit OS なら、64bit プロセスを作れないので、 [拡張保護モードで 64 ビット プロセッサを有効にする] という項目はありません。プロセス モデルはこんな感じです。


    図7: 32bit OS の IE10 / IE11 プロセスモデル (Windows 8 以後)


じゃ、Appcontainer を対応しない Windows 7 / 2008R2 はどうなるか?Windows XP が IL を対応できないので保護モードの項目自体がないので、Windows 7 も Appcontainer を対応しないなら、拡張保護モードの項目も設ける必要はないよね?答えは、いいえ、64bit の Windows 7 / 2008R2 [拡張保護モードを有効にする]項目を設けています

その理由は、IE10 を設計当時、拡張保護モードが ON になると、IE プロセスが 32bit ->  64bit に自動的に切り替わるようにデザインしているため、 64bit の Windows 7 / 2008 R2 では AppContainer を提供できないものの、32bit ->  64 bit にプロセスを切り替えることができるという考えからです。 [拡張保護モードを有効にする] が ON にすると、コンテンツ プロセスのビット数は 32bit から 64bit に切り替わるだけで、IL は Low のままです。この設計は Windows 7 上の IE11 にも踏襲しています。

つまり、こんな感じです。

図8: 64bit の IE10 / IE11 プロセスモデル (Windows 7/2008R2)

 

じゃ、32bit の Windows 7 / Windows Server 2008 R2 はどうなるの?  64bit <-> 32bit の切り替えすらできないですよね。そうなんです。項目があっても ON・OFF には何も変わりようがないので、32bit の Windows 7 / Windows Server 2008 R2 では拡張保護モードの設定項目がなく、拡張保護機能を対応しません。

 

拡張保護モードの既定値

現行拡張保護モードを対応する全 OS ・全 IE バージョンの既定値、および拡張保護モードの ON/OFF の違テーブルに纏めてみました。拡張保護モードの ON・OFF により変化する部分をハイライトしています。

これだけを見ると確かに煩わしいですよね。:-) 図6,7,8と比較しながら見ていただけると分かりやすいと思います。

 

 

項目1: [拡張保護モードを有効

にする] 既定値

項目2: [拡張保護モードで 64 ビット

プロセッサを有効にする] 既定値

 拡張保護モードを無効のとき

 IE のコンテンツ プロセスはどうなる?

 拡張保護モードを有効のとき

 IE のコンテンツ プロセスはどうなる?

 IE11 on Windows 8.1(x86)  

 OFF(※補足あり)

 N/A (項目なし) 32bit Low 32bit AppContainer

 IE11 on Windows 8.1(x64) / Windows Server 2012 R2 (x64)

 OFF(※補足あり)

 OFF

項目2 が ON  : 32bit Low

項目2 が OFF: 32bit Low

項目2 が ON  : 64bit AppContainer

項目2 が OFF: 32bit AppContainer

 IE11 on Windows 7 (x86)

 N/A (項目なし) N/A (項目なし) N/A (Non-Support) N/A (Non-Support)

 IE11 on Windows 7 (x64) / Windows Server 2008 R2 (x64)

 OFF N/A (項目なし) 32bit Low 64bit Low
 IE10 on Windows 8 (x86)

 OFF

 N/A (項目なし) 32bit Low 32bit AppContainer
 IE10 on Windows 8 (x64) / Windows Server 2012 (x64)

 OFF

 N/A (項目なし) 32bit Low 64bit AppContainer
 IE10 on Windows 7 (x86)

 N/A (項目なし)

 N/A (項目なし) N/A (Non-Support) N/A (Non-Support)
 IE10 on Windows 7 (x64) / Windows Server 2008 R2 (x64)

 OFF

 N/A (項目なし) 32bit Low 64bit Low

* IE11 on Windows 8 は存在しません。IE11 は Windows 8.1/2012R2 または Windows 7/2008R2 にしか作っていません。

* Windows Server 2012 x86、Windows Server 2008 x86 は存在しません。Windows 2008 以後のサーバー OS は 64bit しか作っていません。

 

(※補足)

IE11 リリース当初は、 [拡張保護モードを有効にする] 既定値が ON の状態でリリースされていました。その後各方面からのフィードバックを受け、日本時間の 2013 年 11 月 13 日 (米国時間の 2013 年 11 月 12 日)、IE11における拡張保護モードの既定値を"オフ"にするセキュリティ更新プログラムがリリースされました。この更新プログラムを適用された後に、既定値は OFF になります。

  ◇マイクロソフト セキュリティ情報 MS13-088 - 緊急

  Internet Explorer 用の累積的なセキュリティ更新プログラム (2888505)

  http://technet.microsoft.com/ja-jp/security/bulletin/ms13-088

 

拡張保護モードが効かないパターン

保護モードが効かないパターンなら、拡張保護モードも効きません。( 前述の 「保護モードが効かないパターン」をご参照ください)

もちろん Windows 7/ 2008 R2 環境かの拡張保護モードは本物の「拡張保護」ではない (Bit 数を変えるだけ) のも念頭に入れてくださいね。

  

それては、ちょっと話が長くなりましたが、最後に少し参考情報をご紹介して、終わりにします。また次回お会いしましょう。

 

   Understanding Enhanced Protected Mode

   http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx

 

   拡張保護モード

 http://blogs.msdn.com/b/ie_ja/archive/2012/03/21/enhanced-protected-mode.aspx

 

   保護モードの Internet Explorer の理解と機能

   http://msdn.microsoft.com/ja-jp/library/bb250462(v=vs.85).aspx

 

 


Viewing all articles
Browse latest Browse all 17778

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>