Язык программирования Microsoft Visual Basic® for Applications (VBA) какое то время считался небезопасным, поскольку с его помощью можно выполнять макросы, содержащиеся в файлах или сообщениях электронной почты. Однако риск не связан непосредственно с самим языком VBA, а связан прежде всего с проблемами, возникающими при его использовании злоумышленниками в целях нарушения работы организации.
Теперь Visual Basic for Applications является компонентом Microsoft Office 2003. VBA можно включить или наоборот – исключить из состава устанавливаемых средств Office, изменив опции установки Office.
Примечание. Исключение VBA из установки Office не защищает от вредоносных программ, написанных и скомпилированных на других языках программирования, и не устраняет возможность злонамененного использования программ на основе сценариев.
VBA можно отключить, задав для него опцию установки Not Available (Компонент недоступен) или Not Available, Hidden, Locked на странице Set Feature Installation States программ Custom Installation Wizard и Custom Maintenance Wizard или на странице расширенной настройки приложений программы установки Office (Setup.exe). Все остальные опции установки включают VBA в состав устанавливаемых средств Office. Если для приложения Microsoft Office Access 2003 задается опция установки Запускать с моего компьютера (Run from My Computer), VBA также будет включен в установку, поскольку он необходимо для запуска Access.
Отключение VBA приведет к следующим значимым последствиям:
- Будет невозможно установить Microsoft Access 2003 на компьютер пользователя. Если это приложение уже установлено, при отключении VBA оно будет удалено.
- Будет невозможно запускать некоторые файлы, доступные для загрузки с веб-узла Microsoft Office Online или входящие в состав набора инструментов Microsoft Office 2003 Editions Resource Kit Toolbox.
- Будет невозможно выполнять макросы.
- Будет невозможно запускать все программы, надстройки и макросы, зависящие от VBA.
Рекомендуется не отключать Visual Basic for Applications. Вместо отключения VBA следует использовать функции безопасности Office для ограничения возможностей атак злоумышленников, нацеленных на нарушение работы аппаратных или программных компонентов компьютера.
Задание самых строгих ограничений в системе безопасности помогает защитить систему от вредоносных атак, осуществляемых с помощью сценариев, надстроек или других программ. Установка уровня защиты от макросов Высокая (High) или Средняя (Medium) позволяет организациям не отключать VBA; при попытке выполнения неподписанного макроса пользователь получает предупреждение и самостоятельно принимает решение о запуске этого макроса. Установка уровня защиты от макросов Очень высокая (Very High) блокирует выполнение VBA-макросов до тех пор, пока информация о них не будет помещена в специальное хранилище надежных издателей на компьютере пользователя.
VBA-макросы можно отключить, не отключая при этом VBA. Если на вкладке Надежные издатели (Trusted Publishers) (меню Сервис - Макрос - Безопасность (Tools - Macro - Security)) снят флажок Доверять всем установленным надстройкам и шаблонам (Trust all installed add-ins and templates), и установлен уровень защиты от макросов Очень высокая (Very High), VBA-макросы не будут выполняться.