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

Печать и не только

Американский разработчик Джон Уорнок еще в середине 1970-х годов задумался о том, как сделать процесс подготовки документов к печати более простым и быстрым. В то время текстовые редакторы не обладали многими привычными возможностями (да и редактировать текст было довольно сложно: попробуйте после привычных текстовых процессоров поработать в ed), а процесс подготовки документов к печати зависел во многом от используемого оборудования. Уорнок придумал концепцию языка для обработки документов. Каждый документ описывался с помощью специального кода: были придуманы команды для вывода слов на печать, поворота элементов страницы, работы с графикой и т.п. В 1984 году язык описания документов получил название PostScript и был представлен широкой публике.

Сначала основной целью создания PostScript было упрощение и унификация вывода документов на печать. Но в дальнейшем Уорнок решил, что созданный язык можно использовать и для подготовки электронных документов. Язык PostScript был использован для разработки компанией Adobe нового формата документов — IPS (Interchange PostScript). В 1993 году формат переименовали в PDF (Portable Document Format).

PDF не сразу приобрел популярность, но постепенно стал одним из самых распространенных форматов документов. Формат «оброс» множеством дополнительных функций: поддержкой RGB, CMYK и других цветовых режимов, возможностью внедрения в документы форм и сценариев на языке
JavaScript и т.д.

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

Сложность и безопасность

Современные версии формата PDF позволяют внедрять в документы векторную и растровую графику, гиперссылки, анимацию и даже видео. В документах могут присутствовать формы и сценарии, PDF-файлы могут защищаться от записи паролями и цифровыми подписями.

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

Например, в 2018 году был найден способ хищения идентификационных данных пользователей Windows с помощью специально подготовленных PDF-файлов. Атака использует стандартную возможность PDF — обращение к удаленному SMB-серверу для записи обезличенной информации о пользователе, работающем с защищенным файлом. Разумеется, подключается программа для чтения PDF к серверу, который контролируется злоумышленником. Конечно, в результате атаки нельзя увидеть пароль от учетной записи пользователя в незашифрованном виде, но можно получить его хеш, а затем взломать его. Если учесть, что большинство пользователей использует простые пароли, задача не выглядит слишком сложной.

Значительную опасность представляет и возможность запускать сценарии JavaScript, внедренные в PDF. Изначально эта функциональность предназначалась для совершения полезных действий — например, валидации значений, вводимых в форму внутри документа. Однако практически сразу же JavaScript-вставки стали использовать для подгрузки вредоносных файлов в систему. Например, несколько крупных компаний в Южной Америке пострадали от трояна-шифровальщика около трех лет назад. Распространялся троян с помощью PDF-документов со встроенным сценарием JavaScript. Опасный документ представлял собой изображение в низком разрешении, напоминающее счет-фактуру с подписями и печатями. В документе содержалась заметная надпись: «Чтобы увидеть оригинал документа в высоком разрешении, кликните на любом участке документа и согласитесь с загрузкой содержимого». Конечно, загружался при этом троян, а не желаемый документ.

Есть ли альтернативы?

Разумеется, PDF — не единственный формат для работы с документами и вывода их на печать. Для работы с отсканированными документами хорошо подходит DjVu, фиксированная разметка поддерживается форматом XPS от Microsoft (при этом в файлах нет опасных JS-вставок), для электронных читалок можно использовать FB2 или MOBI. Для всех указанных форматов документов существуют бесплатные утилиты, позволяющие читать и редактировать файлы. Словом, и без PDF можно жить.

Однако будем справедливы: формат PDF не слишком безопасен, но очень удобен для печати и позволяет сохранять документы в первозданном виде на любой операционной системе и в любой программе для просмотра файлов. Поэтому отказаться от него будет тяжело. Однако вы вполне можете обезопасить себя, не открывая PDF-файлы, полученные от незнакомых отправителей. Также стоит отключить выполнение JavaScript в программе для просмотра документов (это можно сделать, например, в Adobe Reader). Вообще же любые интерактивные вставки в PDF-документах стоит игнорировать, если вы не уверены в безопасности источника файла на сто процентов.