PDF файлы в массовых email рассылках

Главная цель использования PDF файлов в массовых почтовых рассылках – скрыть или максимально замаскировать активные ссылки, текстовый и графический контент. Для чего? Для того, чтобы облегчить попадание во входящие (инбокс) у почтовых систем. Это понимают все, кто использет рассылку с вложениями в виде pdf файлов. Но мало кто понимает, как действительно устроен PDF внутри и какие возможности для анализа его содержимого есть у анти-спам почтовых систем. Что ж…. Давайте попробуем немного прояснить эти моменты 🙂

📜 1. История, предназначение и развитие PDF

Portable Document Format (PDF) был создан компанией Adobe в начале 1990-х (анонсирован в 1991, выпущен в 1993 году). Идейным вдохновителем был сооснователь Adobe Джон Уорнок, который хотел реализовать концепцию “цифровой бумаги”.

Изначальное предназначение — создать формат файла, который бы выглядел и печатался абсолютно одинаково на любом компьютере и в любой операционной системе, независимо от установленных шрифтов или программного обеспечения. Это решало огромную проблему 1990-х, когда отправленный документ Word или PageMaker полностью “разъезжался” на компьютере получателя.

Развитие:

  • Изначально ПО для создания PDF (Adobe Acrobat) было платным, а для просмотра (Acrobat Reader) — бесплатным. Это была ключевая стратегия для быстрого распространения формата.
  • Формат постепенно эволюционировал, вбирая в себя поддержку гиперссылок, закладок, интерактивных форм, мультимедиа (аудио/видео), 3D-моделей и аннотаций.
  • Ключевым моментом стал 2008 год, когда Adobe передала PDF в руки Международной организации по стандартизации (ISO), сделав его открытым стандартом ISO 32000-1. Это позволило сотням других компаний легально и бесплатно создавать ПО для работы с PDF, что привело к его взрывному росту.
  • Сегодня PDF — это де-факто мировой стандарт для обмена документами, архивирования, цифровой печати и юридически значимых документов (благодаря поддержке цифровых подписей).

🏗️ 2. Краткое описание внутреннего формата

Если не вдаваться в детали, PDF-файл — это, по сути, векторная инструкция по “рисованию” страницы. В отличие от .docx, который хранит поток текста, PDF хранит точные команды:

  • “Использовать шрифт ‘Times New Roman’ размером 12”.
  • “Перейти к координатам X=50, Y=700”.
  • “Нарисовать текст ‘Привет, мир!'”.
  • “Нарисовать синюю линию от (10,10) до (100,100)”.
  • “Вставить вот это (сжатое) изображение в этой рамке”.

Внутренне он состоит из:

  1. Объектов: Это базовые “кирпичики” — числа, строки, словари (пары ключ-значение) и потоки.
  2. Потоков (Streams): В них хранится основное “тяжелое” содержимое: сжатый текст, изображения, команды отрисовки страниц.
  3. Таблицы перекрестных ссылок (XRef Table): Это “оглавление” файла, которое находится в конце. Оно сообщает программе-читалке точное байтовое смещение, по которому можно найти каждый объект. Именно поэтому PDF-файлы могут открываться очень быстро (не нужно читать весь файл с начала) и поддерживают “инкрементальное сохранение” (когда вы вносите правку, программа просто дописывает изменения и новую XRef-таблицу в конец файла).

📧 3. Реакция почтовых провайдеров (Gmail, Outlook) на вложенный PDF файл

  • Тотальное сканирование: Абсолютно все PDF-вложения сканируются мощными антивирусами.
  • “Песочница” (Sandbox): Многие системы “открывают” PDF в изолированной виртуальной среде и анализируют его поведение. Если файл пытается соединиться с подозрительным сайтом или запустить команду — он блокируется.

При отсутствии в pdf файле опасного содержимого (вирусы, активные компоненты и т.п.), в работу включается анти-спам анализатор. Последний использует множество непрерывно обучающихся в реальном времени нейросетей, которые анализируют контент PDF файла и присваивают ему определенный SPAM-SCORE. Точно так же, как и самому письму после анализа присваивается уже общий SPAM-SCORE на основе всех составляющих.

Нейросетевые анализаторы способны выделять и запоминать как схожесть структур повторяющихся PDF файлов, так и использование схожих текстов и изображений в них. Ну и конечно, же, внимание уделяется и активным ссылкам в pdf файлах. В не зашифрованных PDF файлах все содержимое доступно для анализа. В случае наличия в pdf текста в прямом виде (как набора байтов – кодов символов), производиться его анализ: поиск в нем так называемых спам-триггеров – слов или словосочетаний, которые автоматически дабавляют очки к итоговому SPAM-SCORE файла. Если присутствует изображение, то при необходимости и оно может быть подвергнуто: 1) Операции распознавания текста с него для опять же дальнейшего анализа; 2) Определению нейросетями объектов на изображении и их классификации для понимания общего смысла графического контента.

Пример цепочек анализа:

  • человек — девушка — контент 18+ — красных флаг
  • животное — кошка — безопасно
  • логотипы криптовалют, игровые автоматы, казино — красных флаг

Конечно, приведенные выше рассуждения – теория, так как алгоритмы работы систем безопасности почтовых провайдеров это закрытая информация компаний, которая не разглашается публично. Но примерно оценить порядок действий мы можем исходя из публичных докладов анти-спам отделов и иной просочившейся в паблик информации.

Также можно предположить, что в основной массе все PDF не анализируются “на полные 100%” по всем имеющимся критериям и способам анализа. Такому полному анализу подвергаются лишь те PDF, которые либо сами содержат предупреждающие флаги, либо пришли от адресата, который уже известен почтовой системе как отправитель спама. Поэтому наша задача максимально запутать анализаторы и либо постараться не довести до детального анализа нашего контента, либо сделать так, что этот контент станет невозможно распознать вообще. Для решения этих задач и создан генератор PDF «Ceres». В нем есть множество инструментов для генерации массово уникальных PDF и даже специальный режим генерации изображений, с которых очень сложно или совсем невозможно распознать текст программными системами оптического распознавания текста.


🔒 4. Шифрация содержимого PDF

На 99,9% все PDF файлы почтовых вложений имеют открытый, не зашифрованный контент. Поэтому почтовые системы предварительно анализируют такие файлы и даже формируют для них маленькие графические изображения предварительного просмотра, которые адресат может увидеть в своем веб-интерфейсе входящей почты.

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

Шифрование в PDF служит для конфиденциальности (чтобы никто, кроме адресата, не прочел) и управления правами (чтобы ограничить действия с документом).

Существует два основных типа шифрации:

  1. Парольная защита (Password Security). Это самый распространенный метод. Он делится на два разных пароля: Пароль пользователя (User Password) / Пароль на открытие и Пароль владельца (Owner Password) / Пароль на ограничения.
  2. Сертификатная защита (Certificate Security). Это гораздо более надежный и сложный метод, используемый в корпоративной и государственной среде. Предназначение – строгая конфиденциальность для конкретных получателей.

Теперь посмотрим, как в генераторе PDF «Ceres» реализуется парольная шифрация. Для начала посмотрим, как выглядят в текстовом редакторе незашифрованый, зашифрованный с защитой контента и полностью зашифрованный PDF файлы:

Так выглядит незашифрованный PDF файл в текстовом редакторе

Как видим, визуально содержимое зашифрованных опциями 1 и 2 PDF файлов похоже. Но между ними существует огромная разница.

Что происходит с PDF файлом, созданным с опцией “1. Защита контента”?

Это файлы, на которые установлен только пароль для редактирования (owner password). библиотека делает следующее:

  1. Шифруется все содержимое файла. Именно поэтому в текстовом редакторе вы видите “мусор”. Алгоритм шифрования (обычно RC4 или AES с 128-битным ключом) применяется ко всем объектам документа: тексту, метаданным, шрифтам и т.д.
  2. Устанавливаются флаги разрешений (Permissions). Установлен запрет на любые модификации файла.
  3. Создаются два пароля:
    • Пароль пользователя (User Password): Остается пустым. Это ключевой момент. Система проверяет его, и, не найдя, разрешает доступ к документу.
    • Пароль владельца (Owner Password): Устанавливается тот, который вы задали. Он используется не для открытия файла, а для снятия ограничений.

Механизм доступа для программ и пользователей

Когда вы или программа (например, Adobe Acrobat, веб-браузер с открытым сайтом почтовой системы) открываете такой PDF, происходит следующее:

  1. Программа запрашивает пароль у документа.
  2. Документ “отвечает”, что пароль пользователя пустой. Программа понимает, что файл можно открыть для просмотра.
  3. Программа использует встроенный в стандарт PDF механизм: она берет пустой пароль пользователя (или его отсутствие) и на его основе генерирует ключ дешифровки. Поскольку файл был зашифрован с учетом того, что пароль пользователя пустой, этот ключ оказывается верным.
  4. Программа расшифровывает содержимое и показывает его вам. Одновременно с этим она читает флаги разрешений и блокирует соответствующие функции в интерфейсе (например, grey-out кнопки “Редактировать”, “Печать”).
  5. Чтобы снять ограничения, пользователь должен ввести пароль владельца. Программа проверяет его, и если он верный, разблокирует все запрещенные операции.

Почему этот вид шифрации не защитит содержимое PDF от анализа почтовыми системами?

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

С точки зрения анти-спам и антивирусных систем: такой файл не представляется сложным для анализа, так как его содержимое легко извлекается и сканируется на наличие вредоносных ссылок или для более углубленного анализа. Да, потребуется несколько больше ресурсов, чем для анализа незашифрованного pdf файла, но доступ к содержимому такого pdf по-прежнему возможен.

Именно поэтому вы видите миниатюру предварительного просмотра содержимого PDF в браузере интерфейсе почтовой системы. Это даже удобно, так как позволяет быстрее привлечь внимание адресата к нашему предложению внутри pdf.

Gmail проанализировал PDF вложение (шифрация с защитой контента) и сформировал маленькое изображение для предварительного просмотра содержимого первой страницы этого PDF.

Как ведет себя полностью зашифрованный PDF файл (опция “2. Полная шифрация”)?

При полной шифрации pdf файла задействуются и Пароль пользователя (User Password) и Пароль владельца (Owner Password). В этом случае расшифровка содержимого возможна только после ввода пароля. Этот тип шифрации делает наш PDF файл полностью закрытым для анализа любой почтовой ситемы и любой программной системы в целом. Ни текст, ни ссылки, ни изображения – ничего в таком файле не доступно.

Но есть и минус – без ввода пароля невозможно также просто просмотреть наш PDF файл. И почтовая система не сможет сформировать изображение предварительного просмотра такого PDF. И наш адресат не сможет посмотреть этот PDF, если ему не сообщить пароль. На скриншоте ниже пример письма с вложением полностью зашифрованного PDF. Обратите внимание – в тексте письма придется явно указать адресату пароль для открытия этого pdf файла.

Скриншот из интерфейса Gmail – вид письма c полностью зашифрованным PDF

Немаловажно, что на такие полностью зашифрованные PDF будет обращаться более пристальное внимание. Gmail, к примеру, будет выводить предупреждающую плашку. И это может насторожить адресата и даже отпугнуть от открытия такого файла наиболее впечатлительных особ 🙂


5. Итоги

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

Использовать шифрацию (полную или только зашиту контента) – решать вам. Целесообразность определяется конкретными условиями и, как всегда, подтверждается практическими тестами. Если что-то дает результат, то надо это использовать.

Благодарю за внимание. Всем инбокса и профита!


Руководство пользователя генератора PDF «Ceres» смотрите тут.
Информацию о новых версиях генератора PDF «Ceres», примеры работы, анонсы и акции смотрите в телеграм-канале “Bulk Email software by Sfinx”. Там же смотрите примеры сгенерированных PDF файлов, дополнительную информацию по использованию, стоимость программы и т.п. Ccылка на автора генератора PDF «Ceres» в Телеграм.