Купить решения «Лаборатории Касперского»
в интернет-магазине Kaspersky-Security.ru |
(800) 350-59-04 |
|
Новости
Можно ли прочитать зашифрованный PDF-файл?Исследователь Фабиан Айзинг на Chaos Communications Congress показал, насколько надежно шифрование в PDF-файлах.Формат файлов PDF, согласно спецификациям, поддерживает шифрование. В нем используется алгоритм AES с режимом Cipher Block Chaining. Так что в теории человек или компания, защитившие файл, могут быть уверены, что содержимое документа станет известно кому-либо только в том случае, если он знает пароль. В продолжение исследования безопасности PDF, о котором мы уже писали, исследователь Фабиан Айзинг из Мюнстерского университета прикладных наук решил проверить, насколько надежна имплементация шифрования в этом формате. И пришел к неутешительным выводам. В теории зашифрованные PDF-файлы нужны для передачи данных через незащищенный канал или канал, которому нельзя доверять. Представьте, что кто-то загружает файл в облачное хранилище, доступ к которому имеют многие. Исследователь решил найти способ модификации исходного файла таким образом, чтобы при вводе пароля информация отправлялась третьей стороне, но при этом получатель не заметил изменений в файле. Кто и для чего использует зашифрованные PDF на практике?Прежде чем приступать к анализу, исследователи задались вопросом, а применяет ли кто-нибудь зашифрованные PDF на практике. Оказалось, что да. Вот что они нашли навскидку:
Прямая эксфильтрация (атака типа direct exfiltration)Первый вариант атаки исследователи называют «взлом шифрования в обход криптографии». Изучая документацию формата, они выяснили, что в PDF-файлах шифруется только само содержимое — объекты типов string и stream. Остальные объекты, отвечающие за структуру документа, остаются незащищенными. То есть при желании можно узнать количество и размер страниц, объектов, ссылок. А эту информацию, по большому счету, не следовало бы оставлять потенциальным злоумышленникам. Исследователи задумались, нельзя ли добавить в материал собственный контент. Они подробнее изучили документацию стандарта и нашли любопытный момент. Оказывается, в PDF 1.5 была добавлена функция гранулярного контроля над шифрованием контента. Иными словами, он допускает частичное шифрование – можно, например, зашифровать только вышеупомянутые объекты типа string или stream. А значит, часть контента может быть незашифрованной. Более того, проверка целостности не производится. Это позволяет добавить в зашифрованный документ что-то постороннее. В том числе функцию submit-form action, которая позволят встроить в PDF-файл форму, отправляющую данные на сторонний сайт. При желании она активируется при открытии документа (то есть сразу после введения пароля). Так вот, в качестве отправляемых данных можно указать весь зашифрованный контент файла. Так что легитимный получатель вводит пароль, содержимое расшифровывается, а потом вся информация отправляется на сторонний сайт. Впрочем, это не единственный метод эксфильтрации — при необходимости можно встроить простое обращение к сайту злоумышленников, добавив в URL все содержимое файла. Или использовать JavaScript. Разумеется, при обращении к сайту некоторые программы для чтения уточняют, уверены ли вы, что это достойный доверия сайт. Но, во-первых, не все приложения это делают, а во-вторых, далеко не каждый пользователь задумается над этим вопросом. Криптографическая атака (Malleability attack)Второй недостаток формата — использование известного изъяна в режиме сцепления блоков шифрования (Cipher Block Chaining, CBC) без контроля целостности. Его суть заключается в том, что если часть зашифрованной информации известна злоумышленнику, то он может изменить содержимое одного из блоков. Согласно спецификациям формата PDF, часть шифрованных данных — 12 байт различных разрешений (раздел /Perm), которые шифруются тем же AES-ключом, что и остальной документ. Это сделано для того, чтобы злоумышленники не пытались самовольно изменять их (например, выдавая читателю возможность редактировать файл). Но в результате получается, что атакующему заранее известна часть незашифрованных данных. В итоге он может добавить в защищенный файл все тот же механизм эксфильтрации данных, который вышлет содержимое файла на сторонний сайт. ИтогИсследователи проверили свои методы на 23 разных программах для чтения PDF и четырех браузерах. И обнаружили, что каждая из программ хотя бы частично уязвима к одной из этих атак. ![]() Сводная таблица уязвимостей в приложениях для чтения PDF. Источник. К сожалению, справиться с этой проблемой непросто. Все каналы эксфильтрации данных перекрыть не удастся — это сделает использование формата бессмысленным. Исследователи связались с разработчиками программ и сообщили о существующей проблеме. Некоторые компании, в частности Apple, постарались сделать более заметным предупреждение о том, что файл обращается к стороннему сайту. Другие решили прекратить попытки «починить то, что починить невозможно». По большому счету, тут спасет только изменение стандарта. Единственное, что мы можем порекомендовать в данной ситуации — использовать альтернативные методы передачи конфиденциальных данных. Например, зашифрованные контейнеры, которые можно создавать при помощи наших решений. Источник: Лаборатория Касперского 22.02.2020
|