Office の COM オブジェクトに関するセキュリティ設定

適用先
Microsoft 365 Apps for enterprise Office 2013 SP1 Microsoft Office 2010 Service Pack 2 Office Professional Plus 2016

注意

この記事では、Office のセキュリティ設定を制御する方法について説明します。 これらのセキュリティ設定を変更して、セキュリティ態勢を増減できます。 これらの変更を行う前に、この設定を構成するために行った変更に関連するリスクを評価することをお勧めします。

はじめに

この記事では、ユーザーと IT 管理者が、Microsoft Office Kill Bit リストを使用して COM オブジェクトを読み込む場合とその方法を制御する際に使用できる設定について説明します。

更新された ActiveX コントロールの読み込みを許可する AlternateCLSID を設定する方法など、この機能に基づく Windows インターネット エクスプローラーキル ビット動作の詳細については、「インターネット エクスプローラーで ActiveX コントロールの実行を停止する方法」を参照してください。 
 
このガイダンスは、Microsoft Word、Microsoft Excel、Microsoft PowerPoint、Microsoft Publisher、Microsoft Visio に適用されます。  

Office COM Kill Bit

特定の COM オブジェクトが Office ドキュメントから埋め込まれるとき、またはリンクされるときに、そのオブジェクトが実行されないようにするために、セキュリティ更新プログラム MS10-036 に Office COM Kill Bit が導入されました。

COM Kill ビット機能は、 KB3178703 で更新され、COM オブジェクトが Office によってインプロセスでアクティブ化されるのを完全にブロックしました。 この更新プログラムは、Office ドキュメントに埋め込まれた、またはリンクされた COM オブジェクトをブロックするだけでなく、アドインなどの他の方法で Office プロセス内に読み込まれる COM オブジェクトのインスタンスをブロックする、元の動作のスーパーセットです。

これらの特定の COM オブジェクトには、ActiveX コントロールと OLE オブジェクトが含まれます。 レジストリを使用すると、Office を使用するときにブロックされる COM オブジェクトを個別に制御できます。

メモ: COM オブジェクトに設定されているキル ビットを削除することはお勧めしません。 これを行うと、セキュリティの脆弱性が発生する可能性があります。 通常、キル ビットは重要な理由で設定されます。 したがって、ActiveX コントロールのスキルを解除する場合は、非常に注意する必要があります。  
 
新しい ActiveX コントロールの CLSID (およびセキュリティ上の脅威を軽減するためにこの ActiveX コントロールが変更されました) を、Office COM の強制終了ビットが適用された ActiveX コントロールの CLSID に関連付ける必要がある場合は、AlternateCLSID ("Phoenix ビット" とも呼ばれます) を追加できます。 Office では、ActiveX コントロール COM オブジェクトが使用されている場合にのみ、AlternateCLSID がサポートされます。  
 
メモ:Office の kill ビット リストは、インターネット エクスプローラーの kill ビット リストよりも優先されます。 たとえば、Office COM kill bit とインターネット エクスプローラー ActiveX kill bit は、同じ ActiveX コントロールに設定できます。 ただし、AlternateCLSID はインターネット エクスプローラーの一覧にのみ設定されます。 このシナリオでは、2 つの設定の間に競合があります。 このような場合、Office COM の強制終了ビット設定が優先され、コントロールは読み込まれません。

Office COM Kill Bit の設定

重要

  • このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 そのため、この手順は必ず慎重に行ってください。 さらなる保護のため、レジストリは変更する前にバックアップしてください。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
  • 322756 Windows でレジストリをバックアップおよび復元する方法

レジストリ内の Office COM Kill Bit を設定する場所は以下のとおりです。

Office 2013 と Office 2010 の場合:

  • 64 ビット版 Windows 上の 64 ビット版 Office (または 32 ビット版 Windows 上の 32 ビット版 Office) の場合。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Common\COM Compatibility\{CLSID}

64 ビット版 Windows 上の 32 ビット版 Office の場合。

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{CLSID}

Office 2016 の場合:

  • 64 ビット版 Windows 上の 64 ビット版 Office (または 32 ビット版 Windows 上の 32 ビット版 Office) の場合。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID}
  • 64 ビット版 Windows 上の 32 ビット版 Office の場合。
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID}

この場合、CLSID は COM オブジェクトのクラス識別子です。

Office COM Kill Bit を有効にするには、次の手順を実行します。

  1. 読み込みをブロックする ActiveX コントロールまたは OLE オブジェクトの CLSID と一緒に、レジストリ サブキーを追加します。
  2. Compatibility Flags というこのサブキーに REG_DWORD を追加し、その値を 0x00000400 に設定します。

たとえば、Office 2016 で CLSID が {77061A9C-2F18-4f38-B294-F6BCC8443D24} のオブジェクトに Office COM Kill Bit を設定するには、次の手順を実行します。

  1. 次のレジストリ サブキーを見つけます。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility

  2. 値 {77061A9C-2F18-4f38-B294-F6BCC8443D24} のサブキーを追加します。 この場合、結果のパスは次のようになります。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{77061A9C-2F18-4f38-B294-F6BCC8443D24}

  3. Compatibility Flags というこのサブキーに REG_DWORD を追加し、その値を 0x00000400 に設定します。

これで、このオブジェクトが Office 内で有効にならないように Office COM Kill Bit が設定されました。

リンクと埋め込みのシナリオで COM のみをブロックする方法

前述のように、COM Kill Bit 機能は、指定した COM オブジェクトの Office 内からの有効化がすべてブロックされるように更新されました。

Office ドキュメント内から埋め込まれた、またはリンクされた COM オブジェクトのみをブロックするには、次の手順を実行します。

  1. Office Kill Bit の設定」の指示に従って CLSID を COM Kill Bit に追加します (まだ設定されていない場合)
  2. ブロック対象の CLSID のサブキーに、ActivationFilterOverride という REG_DWORD を追加し、その値を 0x00000001 に設定します。

たとえば、Office 2016 で CLSID が {77061A9C-2F18-4f38-B294-F6BCC8443D24} のオブジェクトの場合、リンクおよび埋め込みのシナリオで COM Kill Bit のみをブロックするように構成するには、次の手順を実行します。

  1. 次のレジストリ サブキーを見つけます。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility

  2. 値 {77061A9C-2F18-4f38-B294-F6BCC8443D24} を持つサブキーを追加します。 この場合、結果のパスは次のようになります。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{77061A9C-2F18-4f38-B294-F6BCC8443D24}

  3. Compatibility Flags というこのサブキーに REG_DWORD を追加し、その値を 0x00000400 に設定します。

  4. ActivationFilterOverride というこのサブキーに REG_DWORD を追加し、その値を 0x00000001 に設定します。

これで、Office ドキュメントにリンクまたは埋め込まれている場合にのみ、この COM オブジェクトをブロックするように Office COM Kill Bit が設定されました。

既定で有効化がブロックされるコントロール

コントロール CLSID
ScriptMoniker 06290BD3-48AA-11D2-8432-006008C3FBFC
SoapActivator ECABAFD0-7F19-11D2-978E-0000F8757E2A
SoapMoniker ECABB0C7-7F19-11D2-978E-0000F8757E2A
PartitionMoniker ECABB0C5-7F19-11D2-978E-0000F8757E2A
QueueMoniker ECABAFC7-7F19-11D2-978E-0000F8757E2A
HTMLApplication 3050F4D8-98B5-11CF-BB82-00AA00BDCE0B
ScripletContext 06290BD0-48AA-11D2-8432-006008C3FBFC
ScripletConstructor 06290BD1-48AA-11D2-8432-006008C3FBFC
ScripletFactory 06290BD2-48AA-11D2-8432-006008C3FBFC
ScripletHostEncode 06290BD4-48AA-11D2-8432-006008C3FBFC
ScripletTypeLib 06290BD5-48AA-11D2-8432-006008C3FBFC
ScripletHandler_Automation 06290BD8-48AA-11D2-8432-006008C3FBFC
ScripletHandler_Event 06290BD9-48AA-11D2-8432-006008C3FBFC
ScripletHandler_ASP 06290BDA-48AA-11D2-8432-006008C3FBFC
ScripletHandler_Behavior 06290BDB-48AA-11D2-8432-006008C3FBFC
XMLFeed 528D46B3-3A4B-4B13-BF74-D9CBD7306E07
Scriptlet AE24FDAE-03C6-11D1-8B76-0080C744F389
HtmlFile_FullWindowEmbed 25336921-03F9-11CF-8FD0-00AA00686F13
Mhtmlfile 3050F3D9-98B5-11CF-BB82-00AA00BDCE0B
Microsoft HTA ドキュメント 6.0 3050F5C8-98B5-11CF-BB82-00AA00BDCE0B
DHTMLEdit.DHTMLEdit.1 2D360200-FFF5-11D1-8D03-00A0C959BC0A
DHTMLSafe.DHTMLSafe.1 2D360201-FFF5-11D1-8D03-00A0C959BC0A
VBスクリプト言語 B54F3741-5B07-11cf-A4B0-00AA004A55E8
VBスクリプト言語の作成 B54F3742-5B07-11cf-A4B0-00AA004A55E8
VBScript 言語エンコード B54F3743-5B07-11cf-A4B0-00AA004A55E8
VBScript ホストエンコード 85131631-480C-11D2-B1F9-00C04F86C324
Shockwave Flash オブジェクト D27CDB6E-AE6D-11cf-96B8-444553540000
Macromedia Flash Factory オブジェクト D27CDB70-AE6D-11cf-96B8-444553540000
Microsoft Silverlight DFEAF541-F3E1-4c24-ACAC-99C30715084A
Adobe Shockwave Player 233C1507-6A77-46A4-9443-F871F945D258
Python コントロール DF630910-1C1D-11D0-AE36-8C0F5E000000

既定で埋め込みがブロックされるコントロール

コントロール CLSID
Shell.Explorer.2 8856F961-340A-11D0-A96B-00C04FD705A2
Htmlfile 25336920-03F9-11CF-8FD0-00AA00686F13
ポップアップ ウィンドウ用の Microsoft HTML ドキュメント 3050F67D-98B5-11CF-BB82-00AA00BDCE0B

: この一覧は、ブロックされ、変更される可能性のあるコントロールのスナップショットです