PDF-файл может содержать исполняемый код. JavaScript, который запускается при открытии документа, при перелистывании страниц, когда поля формы получают фокус. Автоматизированные действия, которые запускаются без взаимодействия с пользователем. Скрытые объекты, запускающие внешние приложения. Большинство PDF-файлов не содержат ничего из этого. Когда это происходит, обычно это законно: форма, которая автоматически рассчитывает итоговые значения, интерактивный документ, навигация по которому осуществляется на основе ввода пользователя, презентация, которая автоматически перемещает слайды. Но сценарии и автоматизация также могут быть вредоносными, спрятанными кем-то, кто хочет, чтобы документ делал то, чего получатель не ожидает.
Удаление скрытых сценариев и автоматизации из PDF-файла — это мера безопасности, которую следует применять к любому документу из ненадежного или неизвестного источника перед его полным открытием, а также к любому документу, которым вы собираетесь поделиться с получателями, которые могут использовать более старые или менее безопасные программы чтения PDF-файлов. Процесс удаления прост, если вы знаете, где могут скрываться скрипты.
Согласно отчету SonicWall об угрозах за 2025 год, в период с 2023 по 2025 год количество атак вредоносных программ на основе PDF-файлов увеличилось на 42 процента, причем наиболее распространенным вектором атаки является встроенный JavaScript (SonicWall, «Отчет о киберугрозах», 2025 год). Большинство атак были нацелены на пользователей с устаревшими программами чтения PDF-файлов, которые автоматически выполняли встроенные сценарии. Угроза реальна, и способы ее устранения просты: удалите сценарии до того, как они смогут выполниться.

Где в PDF-файле прячутся сценарии и автоматизация
Сценарии можно прикрепить к нескольким местам в структуре PDF. Каждая локация представляет собой отдельный тайник, который необходимо проверять и очищать индивидуально. В таблице ниже перечислены общие места и типы автоматизации, которые обычно присутствуют в каждом из них.
| Местоположение | Триггерное событие | Типичное законное использование | Вредоносный риск |
|---|---|---|---|
| Уровень документа | Открытие документа, закрытие документа, сохранение документа, печать документа | Отображение приветственного сообщения, проверка документа при открытии, отслеживание момента печати документа. | Высокий: скрипт выполняется сразу при открытии документа, прежде чем пользователь увидит какой-либо контент. |
| Уровень страницы | Страница открыта, страница закрыта, страница видна | Запуск анимации или переходов при отображении определенной страницы | Средний: выполняется, когда пользователь переходит на определенную страницу. |
| Форма на уровне поля | Фокус поля, размытие поля, изменение поля, проверка поля, вычисление поля | Автоматический расчет итогов, проверка форматов ввода, автоматическое форматирование введенных данных | Средний: выполняется во время взаимодействия в обычной форме; может фиксировать нажатия клавиш или изменять введенные данные |
| Канальный уровень | Щелчок по ссылке, нажатие кнопки, ввод мыши, выход мыши | Переход к URL-адресу, отправка данных формы, отображение или скрытие содержимого | Низкий: для запуска требуется взаимодействие с пользователем; может направлять на вредоносные URL-адреса |
Попробуйте защитить PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
Обнаружение сценариев перед обработкой
Откройте PDF-файл в программе чтения, которая может отображать встроенные скрипты. Adobe Acrobat Pro включает в себя редактор JavaScript, в котором перечислены все сценарии в документе с указанием их местонахождения и триггерных событий. Большинство браузерных программ чтения PDF-файлов не выполняют сценарии, что защищает ваше устройство во время просмотра, но и не отображают их, а это значит, что вы не можете проверить, какие сценарии существуют. Если у вас нет доступа к инструменту аудита сценариев, предположите, что любой PDF-файл из ненадежного источника может содержать сценарии. Самый безопасный подход — заблаговременно удалить все сценарии, а не пытаться определить, является ли каждый из них безопасным. Сценарий, который вы не можете идентифицировать, следует рассматривать как потенциально вредоносный.
Принцип PDF Security для неизвестных сценариев заключается в удалении, а не оценке. Стоимость удаления безобидного сценария, обычно потеря некоторых интерактивных функций, намного ниже, чем стоимость разрешения выполнения вредоносного сценария.
Удаление сценариев с помощью очистки на основе браузера
Загрузите PDF-файл в браузерный инструмент, который предлагает выравнивание, очистку или очистку безопасности. Эти операции удаляют все интерактивные элементы: скрипты, логику полей формы, встроенные действия и ссылки. Результатом является статический PDF-файл, который отображает тот же визуальный контент, но не содержит исполняемого кода. Загрузите очищенный файл и проверьте, открыв его в программе чтения, поддерживающей скрипты, и убедитесь, что скриптов не осталось. WukongPDF обрабатывает PDF-файлы без выполнения встроенных сценариев. Платформа Fix PDF удаляет интерактивные элементы во время обработки, создавая чистый, статический результат.
Предотвращение внедрения сценариев в создаваемые вами документы
При экспорте документов в PDF из авторских приложений проверьте настройки экспорта на предмет параметров, связанных с интерактивными элементами. Отключите JavaScript, макросы и встроенные действия, если они не служат определенной, задокументированной цели, которую ожидает получатель. Форма, которая автоматически рассчитывает итоги, должна включать только сценарии расчета. PDF-презентация не должна включать автоматические действия, которые получатель не может контролировать. По умолчанию для любого распространяемого вами PDF-файла должно использоваться статическое содержимое без исполняемого кода. Скрипты и автоматизация должны быть добровольными, а не отказными.
Подход PDF Tools к гигиене сценариев такой же, как и для любой другой практики обеспечения безопасности: по умолчанию используется самая безопасная конфигурация и добавляется интерактивность только тогда, когда это необходимо и получатель этого ожидает. PDF-файл, поступивший без сценариев, — это PDF-файл, который не может выполнять вредоносный код.
Отличие доброкачественной автоматизации от вредоносного кода
Большинство скриптов в PDF-файлах не являются вредоносными. Форма, которая автоматически вычисляет итоговую сумму по позициям, документ, проверяющий форматы ввода в определенных полях, или презентация, навигация которой зависит от взаимодействия с пользователем, — все они используют законную автоматизацию. Проблема состоит в том, чтобы отличить их от вредоносных сценариев, когда у вас нет инструментов или опыта для аудита кода. Практическая эвристика: если поведение сценария видимо и предсказуемо, например, расчет, выдающий значение, которое вы можете проверить, или действие навигации, которое реагирует на преднамеренный щелчок, оно, скорее всего, безвредно. Если цель сценария не очевидна из видимого поведения документа, если он срабатывает при событиях, которые пользователь не контролирует, или если он пытается получить доступ к внешним ресурсам, он требует удаления. В случае сомнений удалите и примите потерю функциональности как цену безопасности.
Для документов, которые вы регулярно получаете из одного и того же источника, таких как ежемесячные счета или еженедельные отчеты от известного поставщика, устанавливайте доверие постепенно. Обработайте первый документ с включенным удалением скриптов. Просмотрите выходные данные на наличие отсутствующих функций. Если документ работает корректно без скриптов, продолжайте удалять их из последующих документов из этого источника. Если документ теряет важные функции, например форму, которая больше не подсчитывает итоговые значения, определите конкретные сценарии, обеспечивающие эту функциональность, и внесите их в белый список, удалив другие. Со временем вы разрабатываете политики сценариев для конкретного источника, которые обеспечивают баланс между безопасностью и функциональностью.
Ограничения антивирусного сканирования PDF-скриптов
Антивирусное программное обеспечение может обнаруживать известные вредоносные сценарии посредством сопоставления сигнатур, но этот подход имеет существенные ограничения. Обнаружение на основе сигнатур обнаруживает только те сценарии, которые соответствуют известным шаблонам вредоносного ПО. Новые или пользовательские вредоносные скрипты не будут обнаружены. Антивирусное программное обеспечение также может помечать безобидные сценарии, которые имеют общие характеристики с вредоносным ПО, что приводит к ложным срабатываниям. Использование антивирусного сканирования как единственного метода обнаружения сценариев создает ложное ощущение безопасности. Самый безопасный подход к PDF-файлам из ненадежных источников — удаление сценария, а не его оценка. Цена удаления безобидного сценария — потеря некоторых интерактивных функций. Стоимость разрешения вредоносного сценария, который ускользнул от обнаружения, потенциально намного выше.
Попробуйте защитить PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
