Společnost Microsoft zjistila chybu zabezpečení při podepisování maker v jazyce VBA (Office Visual Basic for Applications). Tato chyba zabezpečení může umožnit uživateli se zlými úmysly manipulovat s podepsaným projektem VBA, aniž by zneplatněl jeho digitální podpis. Proto doporučujeme uživatelům používat aktualizace zabezpečení, které jsou uvedené v článku Microsoft Common Vulnerabilities and Exposures CVE-2020-0760.
Pokud chcete zvýšit zabezpečení podepisování projektů maker v jazyce VBA v jazyce Office, poskytuje Microsoft bezpečnější verzi schématu podpisů projektu JAZYKa VBA: podpis V3. Podpis V3 je dostupný v následujících produktech:
-
Microsoft 365 verze 2102 (build 16.0.13801.20266) a novější verze aktuálního kanálu
-
Multilicenční verze Office 2019 verze 1808 (build 10372.20060) a novější
-
Maloobchodní verze edicí Office 2016 Klikni a spouštět a Office 2019 verze 2102 (build 16.0.13801.20266) a novější verze
-
Edice Office 2016 založené na Instalační službě Microsoft Installer (.msi), které mají následující aktualizace nebo novější verze aktualizací:
Doporučujeme organizacím použít podpis V3 u všech maker, aby se eliminoval riziko manipulace.
Aby byla zajištěna zpětná kompatibilita, budou soubory jazyka VBA, které mají existující podpisy, dál fungovat a soubory podepsané pomocí podpisu V3 se budou otevírat a spouštět v dřívějších verzích Office nebo v ne aktualizovaném klientu Office. Doporučujeme ale správcům upgradovat stávající podpisy jazyka VBA na podpis V3 co nejdříve po upgradu Office na uvedené verze. Jakmile správci ověří, že organizace nemá žádnou ztrátu kompatibility, mohou staré podpisy jazyka VBA zakázat tím, že povolí nastavení zásad Pouze důvěryhodná makra jazyka VBA, která používají podpisy V3. Další informace o tomto nastavení zásad najdete v části Povolení nastavení zásad: Důvěřovat pouze makremjazyka VBA, která používají podpisy V3.
Upgrade podepsaných souborů jazyka VBA na podpis V3
Správci mohou pomocí následujících témat upgradovat existující soubory podpisů jazyka VBA na podpis V3.
Vytvoření inventáře podepsaných souborů jazyka VBA
Pokud už máte inventář všech existujících podepsaných souborů jazyka VBA, můžete tuto část přeskočit. Pokud ne, vytvořte inventář existujících podepsaných souborů jazyka VBA, které je třeba upgradovat, pomocí sady Nástrojů připravenosti pro doplňky Office a jazyka VBA. Nástroj vygeneruje sestavu se seznamem souborů, které je třeba upgradovat společně s umístěními souborů. Další informace o sadě nástrojů připravenosti najdete v článku Použití sady Nástrojů připravenosti k posouzení kompatibility aplikací pro aplikace Microsoft 365.
-
Stáhněte si sadu Readiness Toolkit prodoplňky Office a jazyk VBA .
-
Spusťte PowerShell nebo otevřete okno příkazového řádku jako správce a přejděte do instalační složky Sady nástrojů připravenosti:
C:\Program Files (x86)\Microsoft Readiness Toolkit for Office -
Spuštěním následujícího příkazu naskenujte složku, ve které jsou umístěné soubory jazyka VBA (například C:\Test_ToolKit):
ReadinessReportCreator.exe -sigscan -p C:\Test_ToolKit -r -output C:\outputPo dokončení kontroly se ve složce C:\output vytvoří soubor výsledku JSON.
-
V instalační složce sady Readiness Toolkit spusťte ReadinessReportCreator.exe soubor výsledků a otevřete tak soubor výsledků.
V souboru výsledků najděte všechny nebezpečné soubory maker, které musíte upgradovat na podpis V3.
Opětovné podepsání souborů jazyka VBA pomocí Editoru jazyka VBA
Pokud máte soukromé certifikáty, použijte k opětovné podepsání souborů jazyka VBA Editor jazyka VBA (Visual Basic for Applications), který je k dispozici v aplikaci Office.
-
Pokud chcete soubor VBA znovu podepsat, stiskněte Alt+F11 v souboru a otevřete Editor jazyka VBA.
-
Pokud chcete stávající podpis nahradit podpisem V3, vyberte Nástroje> digitální podpis. Otevře se dialogové okno Digitální podpis.
Poznámka: Pokud chcete podepsat projekt jazyka VBA, musí být soukromý klíč správně nainstalovaný. Další informace najdete v tématu Digitální podepisování projektu maker.
-
Vyberte Zvolit, pokud chcete zvolit soukromý klíč certifikátu, který chcete použít k podepsání projektu VBA, a pak vyberte OK.
-
Pokud chcete vygenerovat nové podpisy, uložte soubor znovu. Nové digitální podpisy nahradí předchozí podpisy.
Opětovné podepsání souborů jazyka VBA pomocí funkce SignTool
SignTool v sadě Windows 10 SDK vám může pomoct znovu podepsat soubory jazyka VBA pomocí příkazového řádku. Pokud chcete znovu podepisovat práci s inventářem, který je uvedený v části Vytvoření inventáře podepsaných souborůJAZYKa VBA,můžete aplikaci SignTool integrovat do vlastních nástrojů pro správu.
Poznámka: SignTool v současné době nepodporuje Microsoft Access.
Pokud chcete znovu podepsat soubory jazyka VBA pomocí nástroje SignTool, postupujte takto:
-
Stáhněte a nainstalujte sadu Windows 10 SDK.
-
Stáhněte Officesips.exe z balíčků Microsoft Office Subject Interface pro digitálně podepisování projektů VBA.
-
Pokud chcete podepisovat soubory a ověřovat podpisy v souborech, zaregistrujte Msosip.dll a Msosipx.dll a spusťte Offsign.bat. Podrobné kroky jsou zahrnuté v Readme.txt souboru v instalační složce Officesips.exe.
Poznámka: Použijte verzi SignTool pro x86 ve složce C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86, když spustíte Offsign.bat.
Povolit nastavení zásad: "Důvěřovat pouze makrem jazyka VBA, která používají podpisy V3".
Po dokončení upgradu na podpisy verze V3 doporučujeme povolit nastavení zásad Pouze důvěryhodná makra jazyka VBA, která používají podpisy V3, a zajistit tak, aby byly důvěryhodné jenom soubory podepsané podpisem verze V3.
Toto nastavení zásad je dostupné v Zásady skupiny. Nachází se ve složce Konfigurace uživatele\Zásady\Šablony pro správu\Microsoft Office 2016\Security Settings\Trust Center. Pokud je toto nastavení povolené, bude se za platný považovat jenom podpis V3, když Office ověří digitální podpis v souborech. Podpisy ve starším formátu v souborech jazyka VBA budou ignorovány.