注意: 本文包含向您示範如何控制 Office 安全性設定的資訊。您可以變更這些安全性設定,以提高或降低您的安全性狀態。進行這些變更之前,建議您針對設定此設定時所做的任何變更評估相關風險。
簡介
本文說明的設定可供使用者和 IT 系統管理員用來透過 Microsoft Office 刪除位元清單,控制是否要載入 COM 物件及其載入方式。
如需據以執行此功能的 Windows Internet Explorer 刪除位元行為的詳細資訊,包括如何設定允許載入已更新 ActiveX 控制項的 AlternateCLSID,請參閱如何停止在 Internet Explorer 中執行 ActiveX 控制項。
本指南適用於 Microsoft Word、Microsoft Excel、Microsoft PowerPoint、Microsoft Publisher 和 Microsoft Visio。
Office COM 刪除位元
Office COM 刪除位元是在安全性更新 MS10-036 中引進,可防止內嵌於 Office 文件或從文件中連結的特定 COM 物件執行。
已在 KB3178703 中更新 COM 刪除位元功能,以完全封鎖由 Office 在程序內啟用的 COM 物件。此更新是原始行為的超集,其中除了會封鎖 Office 文件中內嵌或連結的 COM 物件之外,還會透過增益集等其他方式,封鎖 Office 程序內載入的任何 COM 物件執行個體。
這些特定的 COM 物件包括 ActiveX 控制項和 OLE 物件。透過登錄,便可以在使用 Office 時獨立控制要封鎖哪些 COM 物件。
注意:不建議您移除為 COM 物件所設定刪除位元。如果這樣做,可能產生安全性弱點。刪除位元通常是為了重要的原因而設定。因此,取消刪除 ActiveX 控制項時,請務必非常小心。
當您必須將新 ActiveX 控制項的 CLSID (然後此 ActiveX 控制項會經過修改已降低安全性威脅) 關聯至套用 Office COM 刪除位元的 ActiveX 控制項 CLSID 時,可以新增 AlternateCLSID (稱為「Phoenix 位元」)。使用 ActiveX 控制項 COM 物件時,Office 僅支援 AlternateCLSID。
注意:Office 的刪除位元清單優先於 Internet Explorer 的刪除位元清單。例如,可能會為相同的 ActiveX 控制項設定 Office COM 刪除位元與 Internet Explorer ActiveX 刪除位元。但只會對 Internet Explorer 的清單設定 AlternateCLSID。此案例中的兩個設定之間會發生衝突。在此情況下,Office COM 刪除位元設定的優先權較高,而不會載入控制項。
設定 Office COM 刪除位元
重要:
-
此節、方法或工作包含示範如何修改登錄的步驟。不過,如果您不正確地修改登錄,可能會發生嚴重問題。因此,請務必謹慎依照這些步驟進行。為了額外提供保護,請先備份登錄,再進行修改。之後,如果發生問題,則可以還原登錄。如需如何備份和還原登錄的詳細資訊,請按一下下列文章編號,即可檢視 Microsoft 知識庫中的文章:
-
322756 如何在 Windows 中備份及還原登錄
在登錄中設定 Office COM 刪除位元的位置如下所示:
對於 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 刪除位元,請依照下列步驟進行:
-
新增登錄子機碼,以及您要封鎖載入的 ActiveX 控制項或 OLE 物件的 CLSID。
-
將 REG_DWORD 新增到這個名為 Compatibility Flags 的子機碼,並將其值設定為 0x00000400。
例如,若要對 Office 2016 上其 CLSID 為 {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的物件設定 Office COM 刪除位元,請依照下列步驟進行:
-
找出下列登錄子機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility -
新增值為 {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的子機碼。在此情況下,產生的路徑如下所示:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{77061A9C-2F18-4f38-B294-F6BCC8443D24} -
將 REG_DWORD 新增到這個名為 Compatibility Flags 的子機碼,並將其值設定為 0x00000400。
Office COM 刪除位元現在已設定為封鎖在 Office 內啟動這個物件。
如何只封鎖連結和內嵌案例中的 COM
如前面所述,COM 刪除位元功能已經過更新,可封鎖從 Office 內啟動的所有指定 COM 物件。
為了只封鎖 Office 文件中內嵌或連結的 COM 物件,請執行下列步驟:
-
依照「設定 Office COM 刪除位元」下的指示,將 CLSID 新增到 COM 刪除位元 (若尚未列於清單中的話)
-
在遭封鎖 CLSID 的子機碼下,新增名為 ActivationFilterOverride 的 REG_DWORD 值,然後將其值設為 0x00000001。
例如,若要將 COM 刪除位元設定為僅在 Office 2016 上為具有 CLSID {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的物件封鎖連結和內嵌案例,請執行以下步驟:
-
找出下列登錄子機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility -
新增其值為 {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的子機碼。在此情況中,產生的路徑如下所示:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{77061A9C-2F18-4f38-B294-F6BCC8443D24} -
將 REG_DWORD 值新增到這個名為 Compatibility Flags 的子機碼,並將其值設定為 0x00000400。
-
將 REG_DWORD 新增到這個名為 ActivationFilterOverride 的子機碼,並將其值設定為 0x00000001。
Office COM 刪除位元現在已設定為只在這個 COM 物件連結或內嵌於 Office 文件時,才加以封鎖。
預設為封鎖啟動的控制項
控制項 |
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 |
HTML 應用程式 |
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 |
宏媒體 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 |
注意:此清單是已封鎖控制項的快照集,並可能隨時有所變更