Microsoft е открила уязвимост в Office Visual Basic за приложения (VBA) за подписване на макроси. Тази уязвимост може да позволи на злонамерен потребител да подправя подписан VBA проект, без да обезсилва цифровия си подпис. Затова препоръчваме на потребителите да прилагат актуализациите на защитата, които са изброени в често срещаните уязвимости на Microsoft и експозицииТЕ CVE-2020-0760.

За да подобри защитата на подписването на Office на VBA макроси, Microsoft предоставя по-защитена версия на схемата за подпис на VBA проект: V3 подпис. Подписът V3 е наличен в следните продукти: 

Препоръчваме на организациите да прилагат подписа V3 към всички макроси, за да елиминират риска от фалшифициране. 

По подразбиране, за да се гарантира обратна съвместимост, VBA файловете, които имат съществуващи подписи, ще продължат да работят, а файловете, които са подписани с помощта на подписа V3, могат да се отварят и изпълняват в по-стари версии на Office или в не актуализирани Office клиенти. Препоръчваме обаче администраторите да надстроят съществуващите VBA подписи до подписа на V3 възможно най-скоро, след като надстроят Office до изброените версии. След като администраторите потвърдят, че няма загуба на съвместимост за организацията, те могат да забранят старите VBA подписи, като разрешите настройката само на vba макроси, които използват настройката за правила за подписи на V3. За повече информация относно тази настройка на правила вижте раздела "Разрешаване на настройката на правила: Доверявайте се само на VBA макроси, които използват V3 подписи".

Надстройване на подписани VBA файлове до подписа на V3

Администраторите могат да използват следните теми, за да надстроят съществуващите файлове с VBA подписи до подписа на V3.

Създаване на наличност на подписани VBA файлове

Ако вече имате наличност на всички съществуващи подписани VBA файлове, можете да пропуснете тази секция. Ако не, използвайте набора с инструменти за готовност за Office добавки и VBA, за да създадете наличност на съществуващите подписани VBA файлове, които трябва да бъдат надстроени. Инструментът ще генерира отчет, в който се изброяват файловете, които трябва да бъдат надстроени заедно с местоположенията на файловете им. За повече информация относно набора с инструменти за готовност вижте Използване на набора с инструменти "Готовност", за да оцените съвместимостта на приложенията за Приложения на Microsoft 365.

  1. Изтеглете набора с инструменти за готовност Office добавки и VBA.

  2. Изпълнете PowerShell или отворете команден прозорец като администратор и след това отидете до папката за инсталиране на Набора инструменти за готовност:

    C:\Програмни файлове (x86)\Microsoft Readiness Toolkit за Office

  3. Изпълнете следната команда, за да сканирате папка, където се намират вашите VBA файлове (например C:\Test_ToolKit):

    ReadinessReportCreator.exe -sigscan -p C:\Test_ToolKit -r -output C:\output

    Изпълнение на команден ред за сканиране на папка

    След сканирането се създава файл с резултати от JSON в папката C:\output.

  4. От папката Инсталация на набора с инструменти за готовност изпълнете ReadinessReportCreator.exe файл, за да отворите файла с резултати.

    Екранна снимка на изпълнението ReadinessReportCreator.exe

    Във файла с резултати намерете всички опасни файлове с макроси, които трябва да надстроите до подписа V3.

    Екранна снимка на файла с резултати

    Екранна снимка на опасни подписи на макроси

Използване на VBA редактор за повторно подписване на VBA файлове 

Ако имате лични сертификати, използвайте редактора Visual Basic приложения (VBA), който е предоставен в приложение Office, за да подпишете отново VBA файловете.

  1. За да подпишете отново VBA файл, натиснете Alt+F11 от файла, за да отворите VBA редактора.

  2. За да заместите съществуващ подпис с подписа V3, изберете Инструменти > цифров подпис. Отваря се диалоговият прозорец Цифров подпис.

    Забележка: За да подпишете VBA проект, личният ключ трябва да е инсталиран правилно. За повече информация вижте Цифрово подписване на вашия проект за макроси.

    Екранна снимка на избирането на цифров подпис

  3. Изберете Избор, за да изберете частния ключ на сертификата, който да използвате за подписване на VBA проекта, и след това изберете OK.

    Избор на сертификат

  4. За да генерирате новите подписи, запишете файла отново. Новите цифрови подписи ще заместят предишните подписи.

Използване на SignTool за повторно подписване на VBA файлове

SignTool в Windows 10 SDK може да ви помогне да подпишете отново VBA файловете чрез команден ред. За да запишете отново подписването на работата спрямо списъка със запаси, който е идентифициран в секцията "Създаване на наличност на подписани VBA файлове", можете да интегрирате SignTool в собствените си инструменти за администриране.

Забележка: В момента SignTool не поддържа Microsoft Access.

За да подпишете отново VBA файлове с помощта на SignTool, изпълнете следните стъпки:

  1. Изтеглете и инсталирайте Windows 10 SDK.

  2. Изтеглете Officesips.exe от Microsoft Office интерфейсни пакети за цифрово подписване на VBA проекти.

  3. За да подпишете файлове и да проверите подписите във файлове, Msosip.dll и Msosipx.dll и след това изпълнете Offsign.bat. Подробните стъпки са включени в Readme.txt файл в папката за инсталиране на Officesips.exe.

Забележка: Използвайте x86 версията на SignTool в папката "C:\Програмни файлове (x86)\Windows Kits\10\bin\10.0.18362.0\x86", когато изпълнявате Offsign.bat.

Разрешаване на настройката на правила: "Доверявайте се само на VBA макроси, които използват V3 подписи"

След като завършите надстройката до подписите на V3, ви препоръчваме да разрешите настройката само на vba макроси, които използват настройката на правилата за подписи на V3, за да се уверите, че само V3 подписаните с подпис файлове са надеждни.

Тази настройка на правила е налична в групови правила или услугата Office правила за облака. Той се намира в Конфигурация на потребителя\Правила\Административни шаблони\Microsoft Office 2016\Security Настройки\Trust Center. Ако тази настройка е разрешена, само подписът на V3 ще се счита за валиден, Office проверява цифровия подпис във файловете. Подписите с по-ранен формат във файлове на VBA ще бъдат игнорирани.

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×