Office 2013 で ActiveX コントロールのセキュリティ設定を計画する

 

適用先:Office 365 ProPlus

トピックの最終更新日:2016-12-16

概要: 設定を変更して Office 2013 で Microsoft ActiveX コントロールをより安全なものにする方法、および Office 2013 テレメトリ ダッシュボードを使用して ActiveX コントロールの警告を確認する方法を説明します。

対象ユーザー: IT 担当者

アクティブ コンテンツの脅威は、一般的なセキュリティの脅威です。典型的な脅威のリスクとしては、ActiveX コントロール、アドイン、および VBA マクロがあります。これらの脅威の脆弱性は、プログラマが悪意のあるコードを記述、または悪意のあるプログラムを作成して、ユーザーのコンピューター上で実行することによって悪用される可能性があります。アクティブ コンテンツの脅威は、あらゆる規模の組織に潜在的なリスクを引き起こします。この資料では、Office 2013 によって ActiveX コントロールを安全なものにする方法について説明します。アドインや VBA マクロの安全性については他の記事で説明します。

Office 2013 には、ActiveX コントロールの動作と、安全でない可能性のある ActiveX コントロールをユーザーに通知する方法を変更するための、いくつかのセキュリティ設定が用意されています。これらの設定を構成すると、以下の操作を行うことができます。

  • ActiveX コントロールを無効にする

  • セーフ モードのパラメーターと SFI (安全な初期化) および UFI (安全でない初期化) パラメーターに基づいて、ActiveX コントロールの初期化の方法を変更する

Office カスタマイズ ツール (OCT) と Office 2013 管理用テンプレートにおけるセキュリティ設定の構成方法についての詳細は、「OCT またはグループ ポリシーを使用した Office 2013 のセキュリティの構成」を参照してください。

 

Office セキュリティに導くロードマップの矢印。

この記事は、Office 2013 のセキュリティのガイドに含まれています。このロードマップは、Office 2013のセキュリティの評価に役立つ記事、ダウンロード、ポスター、ビデオなどを参照する際の出発点として使用します。

個々の Office 2013 アプリケーションのセキュリティ情報をお探しの場合は、Office.com で "2013 セキュリティ" を検索してください。

この記事の内容

信頼できる ActiveX コントロールとは、信頼できる発行元によって署名された ActiveX コントロールか、信頼できる場所から開いたドキュメントまたは信頼できるドキュメントに含まれている ActiveX コントロールです。既定では、信頼できる ActiveX コントロールは、保持された値を使用してセーフ モードで読み込まれ、ActiveX コントロールが読み込まれたことはユーザーに通知されません。信頼できない ActiveX コントロールの読み込みは、そのコントロールがどのようにマークされているか、およびそのコントロールに付随するファイルに VBA プロジェクトが存在するかどうかによって動作が異なります。信頼できない ActiveX コントロールの既定の動作は、次のとおりです。

  • ActiveX コントロールが、安全な初期化 (SFI) としてマークされていて、VBA プロジェクトが含まれないドキュメントに含まれている場合、その ActiveX コントロールは、保持された値を使用してセーフ モードで読み込まれます。メッセージ バーは表示されず、その ActiveX コントロールの存在はユーザーに通知されません。このような動作になるには、ドキュメント内のすべての ActiveX コントロールが SFI としてマークされている必要があります。

  • ActiveX コントロールが、安全でない初期化 (UFI) としてマークされていて、VBA プロジェクトが含まれないドキュメントに含まれている場合、ActiveX コントロールが無効になっていることがメッセージ バーで通知されます。ただし、ユーザーは、メッセージ バーをクリックまたはタップして ActiveX コントロールを有効にすることもできます。ユーザーが ActiveX コントロールを有効にすると、すべての ActiveX コントロール (UFI と SFI の両方) が、保持された値を使用してセーフ モードで読み込まれます。

  • UFI または SFI としてマークされている ActiveX コントロールが、VBA プロジェクトも含まれるドキュメントに含まれている場合、ActiveX コントロールが無効になっていることがメッセージ バーで通知されます。ただし、ユーザーはメッセージ バーから ActiveX コントロールを有効にすることもできます。ユーザーが ActiveX コントロールを有効にすると、すべての ActiveX コントロール (SFI と UFI の両方) が、保持された値を使用してセーフ モードで読み込まれます。

重要重要:
レジストリで Kill Bit が設定されている ActiveX コントロールは読み込まれず、どのような状況でも読み込めません。また、メッセージ バーは表示されず、その ActiveX コントロールの存在はユーザーに通知されません。

Office 2013テレメトリ ダッシュボード にデータを表示すれば、組織の ActiveX コントロールの利用状況を簡単に把握することができます。このテレメトリ ダッシュボードには、監視対象の各 Office ソリューションに関する固有のインスタンス データを収集して表示する「インベントリ」 という組み込みレポートがあります。このレポートには、Office ドキュメントで ActiveX コントロールが使用されているかどうかも含まれます。

次の手順を使用するには、Officeテレメトリ ダッシュボード が既に展開され、構成されている必要があります。Officeテレメトリ ダッシュボード の全般的な情報については、「Office テレメトリの概要」を参照してください。Office テレメトリの展開方法の詳細については、「テレメトリ ダッシュボードを展開する」を参照してください。

Office 2013 テレメトリ ダッシュボード レポートで ActiveX コントロールの利用状況を表示するには
  1. テレメトリ ダッシュボードを開き、テレメトリ データベースに接続します。

  2. テレメトリ ダッシュボード のナビゲーション ウィンドウで、[カスタム レポート] を選択します。

  3. カスタム レポート ページが開いたら、[カスタム レポートの作成] を選択します。

  4. [ピボットテーブル フィールド] リストの [Inventory] セクションで、[ ActiveX を含む] を選択します。ActiveX 関連の警告のレポートを確認します。さらに調査が必要な場合は、インベントリ テーブルの追加フィールドを選択します。

  5. 必要に応じてデータを保存し、テレメトリ ダッシュボードを閉じます。

Office 2013 には、ActiveX コントロールを無効にする設定があります。ActiveX コントロールを無効にすると、ファイルを開いたときに、ファイル内のすべての ActiveX コントロールの初期化 (読み込み) は行われません。また、ユーザーがドキュメントに ActiveX コントロールを追加することもできなくなります。無効な ActiveX コントロールが、ファイル内で赤い X 印などの記号で表示されることがあります。ただし、そのコントロールは無効にされていて、ユーザーが記号をクリックしても何も実行されません。ActiveX コントロールを無効にしても、ActiveX コントロールが無効にされていることはユーザーに通知されません。

ActiveX コントロールを無効にするかどうかは、以下のガイドラインに従って決定してください。

グループ ポリシーの設定名:すべての ActiveX を無効にする

説明: この設定は、Office 2013 で ActiveX コントロールを無効にするかどうかを制御します。これはグローバルな設定であり、アプリケーション単位で構成することはできません。

影響: この設定を有効にした場合、ActiveX コントロールは初期化されず、ActiveX コントロールが無効なことはユーザーに通知されません。また、ユーザーがドキュメントに ActiveX コントロールを挿入することも許可されません。ActiveX コントロールはドキュメントで追加機能を提供していることがあります。したがって、それを無効にすると、ユーザーが利用できる機能が少なくなります。ActiveX コントロールが無効なことはアプリケーションから通知されないので、この設定が有効になっていることをユーザーに知らせるようにしてください。この設定を有効にする前に、業務に欠かせない機能を ActiveX コントロールで提供するかどうかを決めることも重要です。

ガイドライン: セキュリティ環境の制限が厳しい組織では、通常、この設定を有効にします。

メモメモ:
この設定を有効にすると、信頼できる場所に保存したファイル内の ActiveX コントロールは無効になります。

Office 2013 で導入された Office COM Kill Bit を使用して、特定の COM オブジェクトを Office 2013 アプリケーションで実行されないようにすることもできます。これには ActiveX コントロールも含まれます。この機能は 2007 Office system で利用できましたが、Internet Explorer の ActiveX Kill Bit の設定に依存していました。Office 2013 では、Office 2013 を使用するときにどの COM オブジェクトを実行できないようにするかを、レジストリで独自に制御できるようになりました。たとえば、同じ ActiveX コントロールに対して Office と Internet Explorer の両方で Kill Bit が設定されていて、この 2 つの設定が矛盾する場合は、Office COM Kill Bit が優先されます。Office COM Kill Bit が設定されるのは、マイクロソフト セキュリティ情報に掲載された更新プログラムを適用して、Office 2013 の特定のセキュリティ問題を解決するような場合です。

警告警告:
COM オブジェクトの unkilling はお勧めしません。キル動作を取り消すと、セキュリティの脆弱性が生じる可能性があります。Kill Bit は、通常、非常に重要な理由で設定されるので、ActiveX コントロールのキル動作を取り消すときは最大限の注意が必要です。

新しい ActiveX コントロールの CLSID を相互に関連付ける必要があるとき、AlternateCLSID (“フェニックス ビット” とも呼ばれます) を追加することもできます。これはセキュリティ上の脅威を軽減するように Office COM Kill Bit が ActiveX コントロールの CLSID に適用されている場合に必要です。Office 2013 は、ActiveX コントロールの COM オブジェクトでのみ AlternateCLSID の使用をサポートしています。AlternateCLSID も含め、Kill Bit の動作の詳細については、「Internet Explorer 上で実行している ActiveX コントロールを停止する方法」を参照してください。

重要重要:
レジストリ設定は、変更した場合の結果に関して十分な知識と経験があるユーザー以外は変更しないでください。レジストリを誤って変更すると、重大な問題が発生する場合があります。万一に備えて、レジストリを変更する前にバックアップをとってください。問題が発生した場合、レジストリを復元することができます。

レジストリ内の Office COM Kill Bit の設定に関係する場所は、HKLM/Software/Microsoft/Office/Common/COM Compatibility/{CLSID} です。ここで、CLSID は COM オブジェクトのクラス識別子です。Office COM Kill Bit を有効にするには、レジストリ キー (ActiveX コントロールの CLSID を含む) を追加し、さらに値 0x00000400 を Compatibility Flags REG_DWORD に追加する必要があります。

メモメモ:
Kill Bit (Internet Explorer と Office COM の両方) の動作は、Office 2013 の COM の分類を有効にすると影響を受けます。詳細については、「Office 2013 の COM オブジェクトの分類の設定を計画する」を参照してください。

Office の拒否リストに配置できるコントロール:

Microsoft HTA Document 6.0 - 3050F5C8-98B5-11CF-BB82-00AA00BDCE0B

htmlfile - 25336920-03F9-11CF-8FD0-00AA00686F13

htmlfile_FullWindowEmbed - 25336921-03F9-11CF-8FD0-00AA00686F13

mhtmlfile - 3050F3D9-98B5-11CF-BB82-00AA00BDCE0B

Web ブラウザー コントロール - 8856F961-340A-11D0-A96B-00C04FD705A2

DHTMLEdit - 2D360200-FFF5-11d1-8d03-00a0c959bc0a

Office 2013 には、SFI、UFI、およびセーフ モードのパラメーターに基づいて ActiveX コントロールの初期化の方法を制御する設定があります。SFI、UFI、およびセーフ モードは、開発者が ActiveX コントロールを作成するときに構成できるパラメーターです。SFI としてマークされた ActiveX コントロールは、初期化の際、安全なデータ ソースを使用します。安全なデータ ソースとは、信頼できる既知の、セキュリティ違反の原因とならないデータ ソースです。SFI としてマークされていないコントロールは UFI であると見なされます。

セーフ モードは、ActiveX コントロールの安全性を確実にするために開発者が使用できるもう 1 つのセキュリティ機構です。開発者がセーフ モードを実装する ActiveX コントロールを作成すると、そのコントロールはセーフ モードと非セーフ モードの 2 つの方法で初期化できます。ActiveX コントロールがセーフ モードで初期化された場合は、機能を制限する特定の制限がコントロールに適用されます。一方、ActiveX コントロールが非セーフ モードで初期化された場合は、その機能は制限されません。たとえば、ファイルの読み取り/書き込みを行う ActiveX コントロールの場合、セーフ モードで初期化されるとファイルの読み取りのみが可能になり、非セーフ モードで初期化されると読み取りと書き込みが可能になります。セーフ モードでは、SFI である ActiveX コントロールのみを初期化できます。UFI である ActiveX コントロールは、常に非セーフ モードで初期化されます。

ActiveX コントロールの既定の初期化が組織の条件を満たしていないが、ActiveX コントロールを無効にしたくない場合は、以下のガイドラインに従って、ActiveX コントロールの初期化をどう変更するかを決定してください。

グループ ポリシーの設定名:ActiveX コントロールの初期化

説明: この設定は、Office 2013 のすべてのアプリケーションについて、ActiveX コントロールの初期化の方法を指定します。これはグローバルな設定であり、アプリケーション単位で構成することはできません。この設定では、初期化に関する次の 6 種類のセキュリティ レベルのいずれかを選択できます。

  • セキュリティ レベル 1   どのようにマークされていても、コントロールを読み込み、保持されている値があればそれを使用します。この設定ではユーザーへの確認が禁止されます。

  • セキュリティ レベル 2   SFI とマークされている場合、コントロールをセーフ モードで読み込み、保持されている値があればそれを使用します。SFI とマークされていない場合は、保持されている値 (ある場合) を使用して非セーフ モードで読み込むか、既定の (最初の初期化) 設定を使用します。このレベルは既定の構成と似ていますが、ユーザーへの通知が行われないという点で異なります。

  • セキュリティ レベル 3   SFI とマークされている場合、コントロールを非セーフ モードで読み込み、保持されている値があればそれを使用します。SFI とマークされていない場合は、安全でないとマークされたコントロールであることをユーザーに知らせます。ユーザーがそのコントロールを拒否すると、コントロールを読み込みません。受け入れると、既定の (最初の初期化) 設定で読み込みます。

  • セキュリティ レベル 4   SFI とマークされている場合、コントロールをセーフ モードで読み込み、保持されている値があればそれを使用します。SFI とマークされていない場合は、安全でないとマークされたコントロールであることをユーザーに知らせます。ユーザーがそのコントロールを拒否すると、コントロールを読み込みません。受け入れると、既定の (最初の初期化) 設定で読み込みます。

  • セキュリティ レベル 5   SFI とマークされている場合、コントロールを非セーフ モードで読み込み、保持されている値があればそれを使用します。SFI とマークされていない場合は、安全でないとマークされたコントロールであることをユーザーに知らせます。ユーザーがそのコントロールを拒否すると、コントロールを読み込みません。受け入れると、保持されている値を使用して読み込みます。

  • セキュリティ レベル 6   SFI とマークされている場合、コントロールをセーフ モードで読み込み、保持されている値があればそれを使用します。SFI とマークされていない場合は、安全でないとマークされたコントロールであることをユーザーに知らせます。ユーザーがそのコントロールを拒否すると、コントロールを読み込みません受け入れると、保持されている値を使用して読み込みます。

影響: SFI とマークされていないコントロールは、コンピューターに悪影響を及ぼす可能性があります。つまり、開発者がコントロールをあらゆる状況でテストしていないので、今後、それが問題を起こす場合もあります。また、ActiveX コントロールの中にはセーフ モードのレジストリ設定に対応していないものもあるので、これを設定していても保持されている値が読み込まれる場合があります。この場合、ActiveX コントロールはセーフ モードで初期化されます。この設定を有効にし、セキュリティ レベル 2、4、または 6 を選択すると、明示的に SFI とマークされた ActiveX コントロールに対するセキュリティだけが向上します。悪意のあるコードや適切に設計されていないコードを含む状況では、ActiveX コントロールが誤って SFI とマークされる可能性があります。

ガイドライン: ほとんどの組織は、この設定を有効にし、セキュリティ レベル 2 を選択します。これで、既定の構成と同じ初期化基準が使用されますが、メッセージ バーでのユーザーへの通知は行われません。セキュリティの制限を厳しく設定する組織は、通常、この設定を無効にします。既定値の設定は Disabled です。

Office 2013 のアプリケーションでも ActiveX コントロールの動作に影響を与える設定が、このほかにもいくつかあります。特殊なセキュリティ環境に合わせて ActiveX コントロールの設定を変更する場合は、次の設定を評価することをお勧めします。

Forms3 でコントロールを読み込む   この設定は、UserForm での ActiveX コントロールの初期化の方法を決定します。

セキュリティの問題に関するセキュリティ バーの通知をすべて無効にする   この設定は、安全でない ActiveX コントロールに関する警告も含め、ユーザーのメッセージ バーに警告を表示しないようにします。

メモメモ:
ポリシー設定に関する最新情報については、Office 2013 の管理用テンプレート ファイルに含まれている Excel 2013 ブック Office2013GroupPolicyAndOCTSettings_Reference.xls を参照してください。詳細については、TechNet 記事の「Office 2013 のグループ ポリシー管理用テンプレート ファイル (ADMX、ADML) および Office カスタマイズ ツール (OCT) ファイル」を参照してください。

表示: