20.02.2020

Можно ли верить цифровой подписи PDF-файла?

Можно ли верить цифровой подписи PDF-файла?

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

Если подписанный PDF документ открыть любой программой для просмотра, то она уведомит пользователя кем подписан файл и откроет доступ к меню валидности подписи. Группа исследователей поставила задачу: изменить ранее подписанный файл так, чтобы подпись оставалась валидной. При проведении эксперимента были использованы 22 популярные программы для просмотра и редактирования PDF-файлов, разработанные для разный платформ, и методично скармливали им результаты своих экспериментов.

При чем тут злоумышленники?

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

Структура PDF-файла

Для начала рассмотрим, как устроен формат PDF. Файл состоит из четырех основных файлов:

  • Заголовок – Header, то где хранится версия PDF;

  • Тело – Body, в нем размещена основная информация, которую видит пользователь;

  • Трейлер – Trailer, раздел, с которого программы PDF начинают обработку документа.

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

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

Атака типа «инкрементальное сохранение» (ISA)

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

После чего исследователи задумались: что будет, если в цифровую подпись скопировать в свое «ручное» обновление. Но это шаге споткнулись еще две программы – Foxit и MasterPDF.

Атака типа «заворачивание подписи» (SWA)

Системным условием для подписания файла является два важных фактора, а именно добавление двух полей:

1) /Contents, в нем содержатся подпись;

2) /ByteRange, в нем содержится информация, о том, что именно подписано.

Цифровая подпись – это последовательность символов, полученных криптографическими методами из кода PDF-файла. Экспериментаторы попытались добавить еще одно поле /ByteRange сразу после подписи. Первые два значения остались неизменными, затронут был лишь адрес конца подписи. В результате манипуляций, в файле появилось дополнительное пространство для добавления каких-либо объектов. Если бы файл читался верно, то до взломанного раздела программа не дошла. Однако 17 из 22 приложений оказались уязвимыми к подобному типу атаки.

Универсальная подделка подписи (USF)

Исследователи проверяли приложения и стандартными пентестерскими методами – заменой значений в разных полях на некорректные. Изменялось и поле /ByteRange, при этом сохраняя информацию в поле содержания. Итого, 4 программы из 22 не прошли тест.

В таблице ниже, мы указали итоги тестирования наших коллег. Как итого, 21 программу так или иначе удалось обмануть. 

store-kaspersky.png  

Выводы и советы

Во-первых, не стоит слепо доверять цифровой подписи PDF-файла.

Во-вторых, подписанный документ может таить опасность. Прежде чем открывать любые файлы, полученные по почте или скаченные из Интернета, и уж тем более переходить по ссылкам, следует убедиться, что на компьютере стоит надежное защитное решение, например, Kaspersky Endpoint Security для бизнеса – Стандартный.

Для продукта действую акции и предложения:

  • Вернем 10% от покупки подарочными сертификатами OZON;

  • Гарантированные подарки от «Лаборатории Касперского»;

  • Скидка 30% на защиту почты.

Вы можете купить антивирус для бизнеса от 1 465 ₽ со скидкой 10%. Лицензионная защита применяется на устройствах Windows, Mac и Linux. 

Мы не раз поднимали тему необходимости приобретения антивирусных решений, рекомендуем Вам ознакомиться с ними, для предотвращения возможных атак на личные и коммерческие данные.


Возврат к списку