Microsoft har upptäckt ett problem i Office Visual Basic for Applications (VBA) makroprojektsignering. Det här problemet kan göra att en illvillig användare kan ändra ett signerat VBA-projekt utan att den digitala signaturen blir ogiltig. Därför rekommenderar vi att användarna tillämpar de säkerhetsuppdateringar som listas i Microsoft Common Vulnerabilities and Exposures CVE-2020-0760.
För att förbättra säkerheten för Office VBA-makroprojektsignering tillhandahåller Microsoft en säkrare version av VBA-projektsignaturschemat: V3-signatur. V3-signaturen är tillgänglig i följande produkter:
-
Microsoft 365 version 2102 (version 16.0.13801.20266) och senare versioner av den aktuella kanalen
-
Volymlicensierade versioner Office 2019 version 1808 (version 10372.20060) och senare versioner
-
Återförsäljarversioner av klicka-och-kör-versioner från Office 2016 och Office 2019 version 2102 (version 16.0.13801.20266) och senare versioner
-
Microsoft Installer-.msi (version) av Office 2016 som har följande uppdateringar eller senare versioner av uppdateringar:
Vi rekommenderar att organisationer använder V3-signaturen på alla makron för att eliminera risken för manipulering.
För att säkerställa bakåtkompatibilitet fortsätter VBA-filer som har befintliga signaturer att fungera och filer som är signerade med hjälp av V3-signaturen kan öppnas och köras i tidigare versioner av Office eller i icke-uppdaterade Office-klienter. Vi rekommenderar dock att administratörer uppgraderar de befintliga VBA-signaturerna till V3-signaturen så snart som möjligt efter att de Office uppgraderar till de angivna versionerna. När administratörerna har verifierat att organisationen inte har några kompatibilitetsförluster kan de inaktivera de gamla VBA-signaturerna genom att aktivera inställningen Endast VBA-makron som använder V3-signaturprincip. Mer information om den här principinställningen finns i avsnittet "Aktivera principinställning: Lita bara på VBA-makron som använder V3-signaturer".
Uppgradera signerade VBA-filer till V3-signaturen
Administratörer kan använda följande avsnitt för att uppgradera befintliga VBA-signaturfiler till V3-signaturen.
Skapa en inventering av signerade VBA-filer
Om du redan har ett lager med alla befintliga signerade VBA-filer kan du hoppa över det här avsnittet. I annat fall kan du använda readiness toolkit för Office-tillägg och VBA för att skapa en inventering av befintliga signerade VBA-filer som måste uppgraderas. Verktyget genererar en rapport med en lista över filer som ska uppgraderas tillsammans med deras filplatser. Mer information om beredskapsverktyg finns i Använda beredskapsverktyg för att bedöma programkompatibilitet för Microsoft 365-applikationer.
-
Ladda ned Readiness Toolkit Office tillägg och VBA.
-
Kör PowerShell eller öppna ett kommandotolkfönster som administratör och gå sedan till installationsmappen för Readiness Toolkit:
C:\Program Files (x86)\Microsoft Readiness Toolkit för Office -
Kör följande kommando för att skanna en mapp där VBA-filerna finns (till exempel C:\Test_ToolKit):
ReadinessReportCreator.exe -sigscan -p C:\Test_ToolKit -r -output C:\outputEfter genomsökningen skapas en JSON-resultatfil i mappen C:\output.
-
Från installationsmappen för Readiness Toolkit kör du ReadinessReportCreator.exe filen för att öppna resultatfilen.
Leta reda på alla osäkra makrofiler som du behöver uppgradera till V3-signaturen i resultatfilen.
Använda VBA-redigeraren för att signera om VBA-filer
Om du har privata certifikat använder du VISUAL BASIC FOR APPLICATIONS-redigeraren (VBA) som finns i ett Office-program för att signera OM VBA-filerna.
-
Om du vill signera om en VBA-fil trycker du på Alt + F11 inifrån filen för att öppna VBA-redigeraren.
-
Om du vill ersätta en befintlig signatur med V3-signaturen väljer du Verktyg> Digital signatur. Dialogrutan Digital signatur öppnas.
Obs!: Den privata nyckeln måste vara korrekt installerad för att signera ett VBA-projekt. Mer information finns i Signera ditt makroprojekt digitalt.
-
Välj Välj för att välja den privata certifikatnyckeln som ska användas för att signera VBA-projektet och välj sedan OK.
-
Spara filen igen om du vill generera de nya signaturerna. De nya digitala signaturerna ersätter de tidigare signaturerna.
Använda SignTool för att signera om VBA-filer
SignTool i Windows 10 SDK kan hjälpa dig att signera om VBA-filerna via en kommandorad. Om du vill batcha arbetet med omsignering mot inventeringslistan som identifieras i avsnittet "Skapa en inventering av signerade VBA-filer" kan du integrera SignTool i dina egna administrationsverktyg.
Obs!: För närvarande har SignTool inte stöd för Microsoft Access.
Om du vill signera om VBA-filer med SignTool gör du så här:
-
Ladda ned och installera Windows 10 SDK.
-
Ladda Officesips.exe från Microsoft Office Subject Interface-paket för digital signering av VBA-projekt.
-
Om du vill signera filer och verifiera signaturer i filer registrerar du Msosip.dll Msosipx.dll och kör sedan Offsign.bat. Detaljerade anvisningar finns i filen Readme.txt i installationsmappen för Officesips.exe.
Obs!: Använd x86-versionen av SignTool i mappen "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86" när du kör Offsign.bat.
Aktivera principinställningen: "Lita bara på VBA-makron som använder V3-signaturer"
När du har slutfört uppgraderingen till V3-signaturerna rekommenderar vi att du aktiverar inställningen Lita bara på VBA-makron som använder principinställningen V3-signaturer för att säkerställa att endast V3-signerade filer är betrodda.
Den här principinställningen är tillgänglig i Grupprincip eller Office Molnprinciptjänst. Den finns i Användarkonfiguration\Principer\Administrativa mallar\Microsoft Office 2016\Security Inställningar\Säkerhetscenter. Om den här inställningen är aktiverad anses endast V3-signaturen vara giltig när Office verifierar den digitala signaturen i filer. Signaturer i VBA-filer i tidigare format ignoreras.