Microsoft откри уязвимост при подписването на проект с макроси на Office Visual Basic for Applications (VBA). Тази уязвимост може да позволи на злонамерен потребител да използва неправомерно подписан VBA проект, без да направи неговия цифров подпис невалиден. Затова препоръчваме на потребителите да приложат актуализациите на защитата, които са изброени в Microsoft Common Vulnerabilities and Exposures 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, които имат следните актуализации или по-нови версии на актуализации:
- Актуализация от 1 декември 2020 г. за Office 2016 (KB4486747)
- Описание на актуализацията на защитата за Excel 2016: 8 декември 2020 г. (KB4486754)
- Описание на актуализацията на защитата за PowerPoint 2016: 8 декември 2020 г. (KB4484393)
- 1 декември 2020 г., актуализация за Project 2016 (KB4486749)
- 1 декември 2020 г., актуализация за Publisher 2016 (KB4484334)
- 1 декември 2020 г., актуализация за Visio 2016 (KB4486709)
- 1 декември 2020 г., актуализация за Word 2016 г. (KB4486756)
- 2 март 2021 г., актуализация за Access 2016 (KB4493188)
- 2 март 2021 г., актуализация за Office 2016 (KB4493153)
- Описание на актуализацията на защитата за Office 2016: 9 март 2021 г. (KB4493225)
Препоръчваме на организациите да прилагат сигнатура V3 към всички макроси, за да се елиминира рискът от подправяне.
По подразбиране, за да се осигури обратна съвместимост, VBA файловете, които имат съществуващи подписи, ще продължат да работят, а файловете, подписани с помощта на V3 подпис, могат да бъдат отваряни и изпълнявани в по-стари версии на Office или в неактуализирани клиенти на Office. Препоръчваме обаче администраторите да надстроят съществуващите VBA подписи до V3 подпис възможно най-скоро след надстройката на Office до изброените версии. След като администраторите се уверят, че няма загуба на съвместимост за организацията, те могат да забранят старите VBA подписи, като разрешат настройката за правилата за правила за подписи "Само надеждни VBA макроси, които използват V3 макроси ". За повече информация за тази настройка на правилата вижте раздела "Разрешаване на настройката на правила: Доверявай се само на VBA макроси, които използват подписи V3".
Надстройване на подписани VBA файлове до подписа V3
Администраторите могат да използват следните теми, за да надстроят съществуващите файлове с VBA подписи до V3 подпис.
Използване на редактора на VBA за повторно подписване на VBA файлове
Ако имате лични сертификати, използвайте редактора на Visual Basic for Applications (VBA), който е предоставен в приложение на Office, за да подпишете повторно VBA файловете.
За да подпишете повторно VBA файл, натиснете Alt+F11 от файла, за да отворите редактора на VBA.
За да замените съществуващ подпис с V3 подпис, изберете "Инструменти>" Цифров подпис. Отваря се диалоговият прозорец "Цифров подпис ".
Забележка
За да подпишете VBA проект, личният ключ трябва да е правилно инсталиран. За повече информация вж. "Цифрово подписване на проект на макрос".
Изберете частния ключ на сертификата, който да се използва, за да подпишете VBA проекта, след което изберете OK.
За да генерирате новите подписи, запишете файла отново. Новите цифрови подписи ще заменят предишните подписи.
Използване на SignTool за повторно подписване на VBA файлове
SignTool в SDK на Windows 10 може да ви помогне да подпишете повторно VBA файловете чрез командния ред. За да партидирате работата по повторно подписване в списъка с наличности, който е посочен в раздела "Създаване на опис на подписани VBA файлове", можете да интегрирате SignTool в собствените си инструменти на администратора.
Забележка
В момента SignTool не поддържа Microsoft Access.
За да подпишете повторно VBA файлове с помощта на SignTool, изпълнете следните стъпки:
- Изтегляне и инсталиране на SDK за Windows 10.
- Изтеглете Officesips.exe от Microsoft Office Subject Interface Packages за цифров подпис VBA проекти.
- За да подпишете файлове и да проверите подписите във файлове, регистрирайте Msosip.dll и Msosipx.dll, след което стартирайте Offsign.bat. Подробните стъпки са включени в Readme.txt файл в папката за инсталиране на Officesips.exe.
Забележка
Използвайте x86 версията на SignTool в папката "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86", когато стартирате Offsign.bat.
Разрешаване на настройка на правила: "Доверявай се само на VBA макроси, които използват подписи V3"
След като завършите надстройката до подписите V3, ви препоръчваме да разрешите настройката на правилата за правила "Само надеждни макроси на VBA, които използват подписи V3 ", за да сте сигурни, че само файлове, подписани с подпис, версия 3, са надеждни.
Тази настройка на правила е налична в групови правила или в услугата за правила в облака на Office. Намира се в User Configuration\Policies\Administrative Templates\Microsoft Office 2016\Security Settings\Trust Center. Ако тази настройка е разрешена, само подписът V3 ще се счита за валиден, когато Office проверява цифровия подпис във файлове. Подписите във VBA файлове с по-ранен формат ще бъдат игнорирани.