Microsoft 在 Office Visual Basic for Applications (VBA) 巨集專案簽署中發現弱點。此弱點可讓惡意使用者竄改已簽署的 VBA 專案,卻不會讓專案的數位簽章失效。因此,建議使用者套用 Microsoft 一般弱點及安全風險 CVE-2020-0760 中列出的安全性更新。
為了增強 Office VBA 巨集專案簽署的安全性,Microsoft 提供更安全的 VBA 專案簽章配置版本:V3 簽章。V3 簽章可在下列產品中使用:
-
目前通道的 Microsoft 365 版本 2102 (組建16.0.13801.20266) 版本及更新版本
-
大量授權版本的 Office 2019 版本 1808 (組建 10372.20060) 及更新版本
-
零售版本的 Office 2016 隨選即用版本和 Office 2019 版本 2102 (組建 16.0.13801.20266) 及更新版本
-
Microsoft Installer (.msi) 版本的 Office 2016,具有下列更新或其更新版本:
建議組織將 V3 簽章套用至所有巨集,以降低竄改風險。
根據預設,為了確保回溯相容性,具有現有簽章的 VBA 檔案可繼續使用,而使用 V3 簽名章簽署的檔案,則可在較舊版本的 Office 或未更新的 Office 用戶端中開啟及執行。不過,建議系統管理員在將 Office 升級至列出的版本後,儘快將現有的 VBA 簽章升級為 V3 簽章。系統管理員確認不會對組織造成任何相容性損失後,即可以啟用 [僅信任使用 V3 簽章的 VBA 巨集] 原則設定來停用舊的 VBA 簽章。如需有關此原則設定的詳細資訊,請參閱啟用原則設定:僅信任使用 V3 簽章的 VBA 巨集一節。
將已簽署的 VBA 檔案升級至 V3 簽章
系統管理員可以使用下列主題,將現有的 VBA 簽章檔案升級至 V3 簽章。
建立已簽署 VBA 檔案的庫存
如果您已擁有所有已簽署 VBA 檔案的庫存,可以略過本節。如果沒有,請使用 Readiness Toolkit for Office add-ins and VBA,針對必須升級的現有已簽署 VBA 檔案建立庫存。此工具會產生一份報告,列出必須升級的檔案及其檔案位置。如需有關 Readiness Toolkit 的詳細資訊,請參閱使用 Readiness Toolkit 評估 Microsoft 365 Apps 的應用程式相容性。
-
以系統管理員角色執行 PowerShell 或開啟命令提示字元視窗,然後瀏覽至 Readiness Toolkit 安裝資料夾:
C:\Program files (x86)\Microsoft Readiness Toolkit for Office -
執行下列命令以掃描 VBA 檔案所在的資料夾 (例如,C:\Test_ToolKit):
ReadinessReportCreator.exe -sigscan -p C:\Test_ToolKit -r -output C:\output掃描後,隨即會在 C:\output 資料夾中建立 JSON 結果檔案。
-
從 Readiness Toolkit 安裝資料夾中,執行 ReadinessReportCreator.exe 檔案以開啟結果檔案。
在結果檔案中,找出所有必須升級至 V3 簽章的不安全巨集檔案。
使用 VBA 編輯器重新簽署 VBA 檔案
如果您有私人憑證,請使用 Office 應用程式中提供的 Visual Basic for Applications (VBA) 編輯器重新簽署 VBA 檔案。
-
若要重新簽署 VBA 檔案,請在檔案內按 Alt+F11 以開啟 VBA 編輯器。
-
若要以 V3 簽章取代現有的簽章,請選取 [工具]> [數位簽章]。[數位簽章] 對話方塊隨即開啟。
附註: 要簽署 VBA 專案,就必須正確地安裝私密金鑰。如需詳細資訊,請參閱數位簽署巨集專案。
-
選取 [選擇] 以選擇要用於簽署 VBA 專案的憑證私密金鑰,然後選取 [確定] 。
-
要產生新的簽章,請再次儲存該檔案。新的數位簽章隨即取代先前的簽章。
使用 SignTool 重新簽署 VBA 檔案
Windows 10 SDK 中的 SignTool 可協助您透過命令列重新簽署 VBA 檔案。若要針對建立已簽署 VBA 檔案的庫存一節中所識別的庫存清單批次重新簽署工作,您可以將 SignTool 整合至自己的系統管理工具。
附註: SignTool 目前不支援 Microsoft Access。
若要使用 SignTool 重新簽署 VBA 檔案,請依照下列步驟執行:
-
下載並安裝 Windows 10 SDK。
-
從適用於數位簽署 VBA 專案的 Microsoft Office 主體介面套件 (英文) 下載 Officesips.exe。
-
若要簽署檔案並驗證檔案中的簽章,請登錄 Msosip.dll 與 Msosipx.dll,Offsign.bat。含有詳細步驟會的 Readme.txt 檔案位在 Officesips.exe 的安裝資料夾中。
附註: 執行 Offsign.bat 時,請使用 "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86" 資料夾中的 x86 版 SignTool。
啟用原則設定:僅信任使用 V3 簽章的 VBA 巨集
完成升級至 V3 簽章後,建議啟用 [僅信任使用 V3 簽章的 VBA 巨集] 原則設定,確保只有以 V3 簽章簽署的檔案受到信任。
群組原則或 Office 雲端原則服務中均提供此原則設定。其位於使用者設定\原則\系統管理範本\Microsoft Office 2016\安全性設定\信任中心。如果已啟用此設定,當 Office 驗證檔案中的數位簽章時,只會將 V3 簽章視為有效。VBA 檔案中的先前格式簽章都會遭到忽略。
使用安全性原則建議程式分析套用原則設定的影響
目前通道的 Microsoft 365 版本 2103 (組建 16.0.13824.10000) 及更新版本的應用程式系統管理中心提供安全性原則建議程式。此程式可提供關於套用 [僅信任使用 V3 簽章的 VBA 巨集] 原則設定,對安全性與生產力有何影響的資訊。
要分析生產力影響,系統管理員可檢查 [建議詳細資料] 窗格,以查看哪些使用者可在套用此原則設定時受到保護。這些深入見解透過衡量套用此原則設定的優點和成本,協助系統管理員做出資料導向的明智決策。
此外,系統管理員能以單鍵部署此原則設定。安全性原則建議程式使用 Office 雲端原則服務,直接從雲端強制執行 Microsoft 365 Apps 企業版的 Office 原則設定。這適用於受控裝置和非受控裝置。使用 Office 雲端原則服務部署原則設定之後,系統管理員可以再次檢查 [建議詳細資料] 窗格,以監視該原則設定對使用者造成的影響。
如需有關如何在環境中啟用安全性原則建議程式,請參閱 Microsoft 365 Apps 企業版的安全性原則建議程式概觀。