Встроенные сценарии — это фрагменты кода, помещённые непосредственно внутрь электронного документа и выполняемые при его открытии или при определённом действии пользователя. Они позволяют автоматизировать задачи, добавлять интерактивность и расширять функциональность файлов. Однако та же возможность делает их привлекательным инструментом для злоумышленников, которые могут использовать сценарии для доставки вредоносного ПО, кражи данных или обхода защитных механизмов.
- Основные типы встроенных сценариев
- VBA-макросы в документах Microsoft Office
- Office Scripts (TypeScript) в Excel и Word
- JavaScript в PDF-файлах
- ActionScript в Adobe Flash (устаревший)
- Встроенные скрипты в HTML-письмах и веб-страницах
- OLE-объекты и ActiveX-элементы
- Риски, связанные с использованием встроенных сценариев
- Как снизить риски: практические рекомендации
- Настройка безопасности макросов и сценариев Office
- Ограничение JavaScript в PDF‑ридерах
- Использование защитных режимов приложений
- Поддержание актуальности программного обеспечения
- Проверка цифровых подписей и источников
- Применение политик контроля приложений
- Обучение пользователей
- Типичные ошибки и как их избегать
- Сценарии выбора: когда допустимо использовать сценарии
- Практический итог
Основные типы встроенных сценариев
В зависимости от формата документа и используемого приложения сценарии могут реализовываться на разных языках и технологиях. Ниже перечислены наиболее распространённые виды, с которыми пользователи сталкиваются в повседневной работе.
VBA-макросы в документах Microsoft Office
Visual Basic for Applications (VBA) — язык программирования, встроенный в пакет Microsoft Office. Макросы записываются в файлы форматов .docm, .xlsm, .pptm и т.д. При открытии такого документа пользователь может увидеть запрос на включение содержимого; если он соглашается, код VBA выполняется с теми же привилегиями, что и само приложение Office.
Office Scripts (TypeScript) в Excel и Word
Современная альтернатива VBA, доступная в Office 365 и Office 2021+. Сценарии пишутся на TypeScript и сохраняются в отдельном файле или в облаке. Они выполняются в изолированной среде, но всё ещё имеют доступ к объектам документа и могут взаимодействовать с внешними сервисами через веб-запросы.
JavaScript в PDF-файлах
Формат PDF поддерживает встраивание JavaScript через объект /JS или /AA. Скрипты могут выполняться при открытии документа, при печати, при заполнении полей формы и т.п. Они часто используются для проверки ввода, вычислений или автоматизации workflow, но также могут инициировать запуск внешних приложений или эксплуатировать уязвимости ридера.
ActionScript в Adobe Flash (устаревший)
Ранее в документах PDF и в отдельных файлах SWF можно было встраивать код на ActionScript. Хотя поддержка Flash официально прекращена в 2021 году, старые документы могут всё ещё содержать такие сценарии, представляющие риск при открытии в уязвимых версиях ридера.
Встроенные скрипты в HTML-письмах и веб-страницах
Электронные письма в формате HTML могут содержать теги
