Основные типы встроенных сценариев в электронных документах и их риски

Встроенные сценарии — это фрагменты кода, помещённые непосредственно внутрь электронного документа и выполняемые при его открытии или при определённом действии пользователя. Они позволяют автоматизировать задачи, добавлять интерактивность и расширять функциональность файлов. Однако та же возможность делает их привлекательным инструментом для злоумышленников, которые могут использовать сценарии для доставки вредоносного ПО, кражи данных или обхода защитных механизмов.

Основные типы встроенных сценариев

В зависимости от формата документа и используемого приложения сценарии могут реализовываться на разных языках и технологиях. Ниже перечислены наиболее распространённые виды, с которыми пользователи сталкиваются в повседневной работе.

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 могут содержать теги