Не открывайте PDF-файл, не проверив предварительно эти три момента.

Большинство людей уже знают основные проверки, которые необходимо выполнить перед открытием любого файла.Это также относится к PDF-файлам: убедитесь, что отправитель выглядит законным, проявляйте осторожность перед открытием или загрузкой неожиданных вложений и избегайте PDF-файлов с двойным расширением (например, .pdf.exe). Это отличные привычки, которые значительно затрудняют попадание в ловушку фишинговых атак с минимальными усилиями.

Не открывайте PDF-файл, не проверив предварительно эти три момента.

Однако атаки на PDF-файлы развиваются и не всегда следуют предсказуемому пути. Эти документы представляют собой структурированные контейнеры, способные содержать скрытые объекты, цифровые подписи и криптографические метаданные; они также могут выполнять действия. Рассматривать их как пассивные документы означает доверять им, даже не понимая их содержимого. Это может быть опасно. Хотя современные программы для чтения PDF-файлов могут защитить от некоторых рисков, они не являются абсолютно надежными. Перед открытием любого PDF-файла следует провести тщательную проверку на наличие потенциальных угроз.

Перед открытием PDF-файла убедитесь, что он воспроизводится.

Активные объекты, автоматизированные процедуры и встроенные полезные нагрузки

Выполнение команды pdfid

PDF-файлы — это объектно-ориентированные форматы, созданные путем связывания объектов, таких как словари, таблицы, массивы и ссылки. Эти документы могут поддерживать скрипты и встроенные файлы. Они могут служить отправной точкой для определенных действий и автоматически запускать эти действия. Настоящая опасность PDF-файлов заключается не в том, что содержит документ, а в том, что он может делать.

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

python pdfid.py C:UsersYouDownloadssuspicious.pdf

На основании результатов испытаний установлено, что если какой-либо из следующих объектов имеет ненулевое значение, может возникнуть определенный риск:

  • /JS или /JavaScript
  • /OpenAction
  • /Запуск
  • /AA (Дополнительные действия)
  • /ВстроенныйФайл

В таблице ниже показано, что могут означать эти объекты:

СуществоЕго важность
/JS или /JavaScriptИспользуется для маскировки и подготовки к эксплуатации.
/OpenActionКод может запускаться автоматически при открытии документа.
/ЗапускВнешние приложения могут быть реализованы.
/ВстроенныйФайлОн может содержать вторичные полезные нагрузки.
/AA (Дополнительные действия)Очень похож на OpenAction.

Большинству легитимных файлов эти объекты не нужны. Например, `/Launch` бесполезен для счета-фактуры. Не ожидайте, что для статического отчета потребуются встроенные файлы. Большое количество любого из вышеупомянутых объектов не означает автоматически, что это вредоносное ПО. Однако они преобразуют PDF-файл из документа в интерактивный контейнер. Вам следует использовать инструмент для... pdf-parser.py Необходимо провести дальнейшее исследование, чтобы определить, возвращают ли результаты ненулевые значения для каких-либо из упомянутых основных объектов.

Однако, основное правило — открывать PDF-файл в изолированной среде или виртуальной машине, если у вас есть какие-либо сомнения. Кроме того, скриптинг не всегда очевиден, и его отсутствие не означает, что вредоносные объекты не могут использовать уязвимости в программах для чтения PDF-файлов. Было несколько случаев, когда CVE возникали из-за уязвимостей парсера без видимого скриптинга. JavaScript — это лишь один элемент исполняемых возможностей; другим важным фактором является сложность структуры и вероятность ее выполнения. Никогда не открывайте файлы, которые могут случайно выполняться, получать или сохранять полезные нагрузки.

Перед тем как доверять документу, проверьте его целостность с помощью шифрования.

Цифровые подписи, цепочки сертификатов и изменения, внесенные после подписания.

Отображение электронной подписи для PDF-файла

Само по себе наличие логотипа или видимой подписи на PDF-файле не гарантирует его целостность. Целостность проверяется только при наличии цифровой подписи. Криптографические подписи основаны на инфраструктуре открытых ключей (PKI) и могут подтвердить три вещи о PDF-файлах: что файл не был изменен (целостность), кто его подписал (подлинность) и его происхождение (неотказуемость).

Если какой-либо PDF-файл претендует на авторизацию, вы можете выполнить ту же проверку PDFiD, которую вы рассматривали ранее, и найти значение /AcroForm. Любое значение выше нуля указывает на наличие поля формы для подписи. Затем вы можете открыть файл отдельно. Adobe Reader или любой другой продвинутый инструмент для работы с PDF-файлами. Проверьте поле для подписи, там указано следующее:

  • Подпись действительна?
  • Можно ли отследить его до доверенного корневого авторитетного источника?
  • Срок действия сертификата истёк или он аннулирован?
  • Были ли внесены изменения в документ после его подписания?
  • Существует ли достоверная метка времени?

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

Статус подписизначение
Хороший и надежныйБезопасность обеспечена, личность объекта подтверждена.
Вполне справедливо, но в корыстных целях.Безопасность обеспечена, личность не установлена.
Поврежденный или модифицированныйБезопасность под угрозой
Подпись отсутствуетГарантий шифрования нет.

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

Перед взаимодействием с файлом проверьте его исходный код и структурную целостность.

Выравнивание метаданных, проверка цепочки поставок и структурные аномалии.

Неподписанные PDF-файлы с непроверяемым происхождением могут представлять опасность, даже если они не являются исполняемыми. Для защиты необходимо проверить путь доставки файла. Следует проверить три параметра: SPF (Sender Policy Framework), DKIM (Domain Keyed Mailing) и DMARC (Domain-Based Message Authentication, Reporting, and Compliance). Эти протоколы аутентификации электронной почты проверяют, действительно ли письмо отправлено с того домена, с которого оно заявлено. Чтобы проверить эти пути, выполните следующие шаги:

  1. Откройте электронное письмо с прикрепленным PDF-файлом.
  2. Нажмите на три точки в правом верхнем углу электронного письма и затем нажмите на Посмотреть оригинал.
  3. Проверьте значения SPF و DKIM و DMARCЕсли значения ​​являются ПАССИсточник проверен.

Вы также можете быстро просмотреть данные электронного письма, чтобы сравнить отображаемое имя с фактическим доменом отправителя. Но что еще важнее, если файл был загружен по ссылке, проверьте строки перенаправления. Для этого скопируйте ссылку и вставьте ее в такой инструмент, как... URL-сканирование Чтобы увидеть каждый шаг, пройденный файлом, включая исходную ссылку, вы можете проверить, является ли ссылка чистой, проверив её. Проверка URL-адресов от VirusTotalДалее, изучите сам файл. Вы можете его установить. ExifTool Выполните приведенную ниже команду, чтобы найти значения в файле, такие как автор, создатель, производитель, дата создания и дата изменения.

exiftool suspicious.pdf

Получив эти значения, сравните их с данными в PDF-файле. Например, если PDF-файл должен представлять собой счет-фактуру за 2026 год от вашего международного банка, но информация о продукте указывает на более старую потребительскую версию LibreOffice, это признак того, что что-то не так. Наконец, выполните команду. qpdf Это необходимо для обеспечения структурной целостности.

qpdf --check suspicious.pdf

Многократное увеличение дат, чрезмерные потоки объектов, странные слои давления и аномалии во взаимных отсчетах могут быть признаками того, что внутри происходит что-то опасное.

Рассматривайте PDF-файлы как исполняемые контейнеры, а не как пассивные документы.

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

Использование приложений для обеспечения безопасности — один из способов защитить себя в интернете.Однако, привычка делать паузу и проверять содержимое PDF-файла перед его открытием защитит вас в случае сбоев в работе приложений.

Перейти к верхней кнопке