PDF-файл может содержать больше, чем вы видите на странице. Встроенный JavaScript, скрытые поля формы, вызовы удаленных ресурсов и пользовательские метаданные — все это можно использовать для отслеживания того, когда открывается документ, откуда он открывается и что с ним делает читатель. PDF Security Сканирование механизмов отслеживания становится стандартным этапом комплексной проверки бизнеса, особенно при получении PDF-файлов из неизвестных или ненадежных источников. Вопрос не только в том, существует ли код отслеживания, но и в том, есть ли у вас инструменты для его обнаружения перед открытием конфиденциального документа.
Код отслеживания в PDF-файлах делится на две категории: преднамеренный и безопасный. При намеренном отслеживании используется JavaScript для звонка домой при открытии документа и отправки IP-адреса открывающего документа, приблизительного местоположения и продолжительности чтения на сервер отслеживания. Удобное отслеживание включает в себя такие функции, как уведомления о прочтении, встроенные в счета в формате PDF, или управление цифровыми правами, которое проверяет лицензию перед отображением контента. Оба типа используют схожие технические механизмы, и описанные здесь методы обнаружения подходят для обоих.
Функции PDF Privacy WukongPDF включают инструменты проверки безопасности, которые сканируют документы на наличие встроенных сценариев перед обработкой. Выполнение быстрой проверки перед открытием PDF-файла от незнакомого отправителя добавляет уровень защиты от отслеживания, который большинство программ чтения PDF-файлов не обеспечивают по умолчанию.

Как технически работает код отслеживания PDF
Файлы PDF поддерживают JavaScript через API Acrobat JavaScript, подмножество JavaScript, которое работает в механизме сценариев программы чтения PDF-файлов. Скрипты уровня документа выполняются автоматически при открытии PDF-файла, при просмотре страницы, при печати документа или при его закрытии. Сценарий отслеживания обычно запускается на событии DocOpen, собирает информацию, доступную через API JavaScript, такую как IP-адрес читателя, посредством HTTP-запроса, и отправляет эти данные на удаленный сервер с помощью методов app.launchURL или Net.HTTP.request.
Данные, которые может собирать PDF JavaScript, ограничены по сравнению с браузерным JavaScript. Он не может получить доступ к файлам на компьютере пользователя, читать файлы cookie браузера или взаимодействовать с другими открытыми документами. Однако он может отправлять сетевые запросы, что является основной функцией, обеспечивающей отслеживание. PDF-файл, открытый в Adobe Acrobat Reader с включенным JavaScript, автоматически выполнит сценарий отслеживания. PDF-файл, открытый в браузерной программе просмотра, не поддерживающей Acrobat JavaScript API, не будет выполнять сценарий, и попытка отслеживания завершится неудачно.
Попробуйте защитить PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
Метод 1. Проверка наличия JavaScript в Adobe Acrobat Pro
Самый прямой способ проверить наличие кода отслеживания — проверить содержимое JavaScript PDF-файла. В Adobe Acrobat Pro откройте PDF-файл, перейдите в меню «Правка», выберите «Настройки», затем щелкните категорию «JavaScript». Снимите флажок «Включить Acrobat JavaScript», чтобы глобально отключить выполнение всего JavaScript в программе чтения. Это предотвращает запуск скриптов отслеживания при открытии файла. Прежде чем отключать JavaScript, вы можете проверить, какие сценарии существуют, не выполняя их.
Чтобы проверить сценарии, откройте PDF-файл в Acrobat Pro, выберите «Инструменты», затем «JavaScript» и выберите «Документ JavaScript» в раскрывающемся списке. В диалоговом окне перечислены все сценарии уровня документа по имени. Выберите имя сценария и нажмите «Изменить», чтобы просмотреть его исходный код. Ищите шаблоны, указывающие на отслеживание: URL-адреса, указывающие на внешние домены, вызовы app.launchURL, вызовы Net.HTTP.request или ссылки на события this.docOpened или this.docClosed. Если сценарий выполняет сетевые запросы, а вы не ожидали, что документу потребуется доступ к сети, рассматривайте его как потенциальный код отслеживания.
Вы можете удалить отдельные сценарии из диалогового окна «JavaScripts документа». Выберите имя сценария и нажмите «Удалить». После удаления всех подозрительных сценариев сохраните PDF-файл под новым именем, чтобы сохранить оригинал в качестве доказательства. Очищенный PDF-файл сохраняет все видимое содержимое и функциональность форм, но больше не выполняет удаленные сценарии.
Метод 2. Проверка внутреннего содержимого PDF с помощью текстового редактора
Для более глубокой проверки, не требующей использования Acrobat Pro, изучите необработанную внутреннюю структуру PDF-файла. Файлы PDF используют текстовый формат объекта, в котором удобочитаемые строки и ключевые слова чередуются с двоичными данными. Откройте PDF-файл в текстовом редакторе, способном обрабатывать большие файлы, например VS Code, Notepad++ или Sublime Text. Найдите строку /JavaScript или /JS. Эти ключевые слова отмечают начало объектов кода JavaScript. Исходный код сценария следует за ключевым словом, обычно между круглыми скобками или между маркерами потока и конца потока.
Также выполните поиск по /URI или /URL, чтобы найти жестко закодированные веб-адреса, встроенные в PDF-файл. Сценарий отслеживания может включать URL-адрес сервера отслеживания. Найдите /AA или /OpenAction — ключи словаря PDF, определяющие действия, которые необходимо выполнить при открытии документа. Запись /OpenAction, указывающая на объект JavaScript, является наиболее распространенным механизмом запуска кода отслеживания при открытии документа.
Этот подход к проверке вручную требует некоторого знания синтаксиса PDF, но позволяет выявить код отслеживания, который могут пропустить автоматизированные инструменты. Это тот же метод, который исследователи безопасности используют для анализа подозрительных вложений PDF в ходе расследований фишинга. Если вы обнаружили структуры отслеживания и хотите нейтрализовать их без Acrobat Pro, вы можете удалить соответствующие объекты из необработанного PDF-файла с помощью такого инструмента, как qpdf, с флагом --remove-restrictions, хотя этот подход требует осторожности, чтобы не повредить структуру файла.
Метод 3: Автоматические сканеры безопасности PDF
Несколько бесплатных и коммерческих инструментов автоматизируют обнаружение трекингового и вредоносного кода в PDF-файлах. DID-SIEM и аналогичные инструменты анализа безопасности анализируют структуру PDF и помечают объекты, содержащие JavaScript, внешние URL-адреса, действия запуска и встроенные файлы. Онлайн-проверщики безопасности PDF принимают загрузку файла и возвращают отчет со списком всех потенциально отслеживаемых элементов. Для рутинной проверки PDF-файлов, полученных из внешних источников, автоматический сканер работает быстрее и тщательнее, чем проверка вручную.
| Индикатор | Что это значит | Как проверить |
|---|---|---|
| Документ JavaScript | Скрипты, которые выполняются при открытии, закрытии или печати PDF-файла. | Acrobat: Редактирование, Настройки, панель JavaScript. |
| Вызовы внешних ресурсов | PDF-файл загружает изображения, шрифты или данные с удаленных URL-адресов при открытии. | Проверьте свойства документа на наличие встроенных URL-адресов |
| Скрытые поля формы | Невидимые поля, которые предварительно заполняются идентификаторами отслеживания или токенами. | Откройте панель «Формы» и найдите флаги скрытых полей. |
| Скрипты метаданных | Метаданные XMP, содержащие пользовательские идентификаторы отслеживания. | Просмотр свойств документа и необработанных данных XMP |
Что делать, если вы нашли код отслеживания
Обнаружение кода отслеживания в полученном вами PDF-файле не обязательно означает, что отправитель действует злонамеренно. Счета-фактуры в формате PDF обычно включают сценарии подтверждения прочтения, которые уведомляют отправителя об открытии счета-фактуры. Маркетинговые материалы могут включать отслеживание взаимодействия, аналогичное пикселям отслеживания открытия электронной почты. Вопрос в том, раскрыто ли отслеживание и соответствует ли оно типу документа. Ожидается уведомление о прочтении в счете-фактуре. Скрытый трекер в контракте, отправленный во время переговоров, является проблематичным.
Если вам нужно поделиться документом с другими людьми без кода отслеживания, удалите JavaScript, как описано в методе 1, и сохраните чистую копию. Если код отслеживания является частью системы DRM или системы обеспечения соблюдения лицензий, его удаление может привести к нарушению условий использования документа. В отношении юридически важных документов проконсультируйтесь с юридическим отделом или отделом безопасности вашей организации, прежде чем удалять какой-либо встроенный код, поскольку механизмы отслеживания могут быть частью системы обеспечения соответствия или аудита, которую вы обязаны сохранять по контракту.
Код отслеживания PDF можно обнаружить с помощью правильных инструментов. Выполнение быстрой проверки JavaScript перед открытием PDF-файлов из незнакомых источников занимает меньше минуты и фиксирует большинство механизмов отслеживания. Если сделать эту проверку частью стандартной процедуры обработки документов, это снизит вероятность того, что вы по незнанию поделитесь своей деятельностью по чтению с внешними сторонами. Для организаций, работающих с конфиденциальными документами, политика отключения JavaScript в программе чтения PDF-файлов по умолчанию и включения его только для доверенных документов обеспечивает надежную базовую защиту без необходимости постоянной проверки каждого документа.
Отключение JavaScript во всех программах чтения PDF-файлов в организации
Индивидуальная проверка каждого PDF-файла на наличие кода отслеживания удобна для периодического использования, но не подходит для организаций, ежедневно получающих сотни внешних PDF-файлов. Более систематический подход — отключить выполнение JavaScript на уровне читателя на всех устройствах. В Adobe Acrobat Reader этот параметр находится в разделе «Правка», «Настройки», «JavaScript», где снятие флажка «Включить Acrobat JavaScript» блокирует выполнение всех сценариев. Этот параметр можно развернуть с помощью групповой политики в Windows, через профиль конфигурации на Mac и через управляемые настройки в корпоративных развертываниях Acrobat Reader.
Глобальное отключение JavaScript имеет функциональное влияние. Некоторые формы PDF используют JavaScript для проверки полей, автоматических вычислений и динамического поведения формы. Эти функции перестают работать, если отключен JavaScript. Для организаций, которые полагаются на интерактивные PDF-формы, подход должен заключаться в отключении JavaScript по умолчанию и включении его только для форм из доверенных внутренних источников, а не в принятии риска безопасности, связанного с выполнением JavaScript в каждом PDF-файле от каждого внешнего отправителя. Проверка безопасности PDF-файлов на предмет кода отслеживания — это современный навык документальной грамотности. Потратив одну минуту на проверку JavaScript, внешних URL-адресов и скрытых полей формы перед открытием или публикацией PDF-файла из незнакомого источника, вы предотвратите скрытую форму утечки информации, о существовании которой большинство пользователей PDF даже не подозревают. Подход к обработке PDF-файлов, ориентированный на безопасность, защищает как личную конфиденциальность, так и информационную безопасность организации, не требуя специального программного обеспечения или передовых технических знаний.
Попробуйте защитить PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
