Читатели в формате PDF, такие как Adobe Reader, были источником многих уязвимостей безопасности на протяжении многих лет. Это связано с тем, что PDF-файл - это не просто документ - он может содержать скрипты, встроенные медиа и другие сомнительные вещи.
PDF-файлы - это не просто документы
Формат файла PDF на самом деле очень сложный. Он может содержать много вещей, а не только текст и изображения, как и следовало ожидать. PDF поддерживает множество функций, которые, вероятно, не должны, которые открыли много дыр в безопасности в прошлом.
- JavaScript: PDF-файлы могут содержать код JavaScript, который является тем же языком, который используется веб-страницами в вашем браузере. PDF-файлы могут быть динамическими и запускать код, который изменяет содержимое PDF или манипулирует функциями просмотра PDF-файлов. Исторически, многие уязвимости были вызваны PDF-файлами с использованием кода JavaScript для использования Adobe Reader. Реализация JavaScript Adobe Reader даже содержит API-интерфейсы JavaScript для JavaScript, некоторые из которых были небезопасными и были использованы.
- Встроенная вспышка: PDF-файлы могут содержать встроенный Flash-контент. Любая уязвимость во Flash также может использоваться для компрометации Adobe Reader. До 10 апреля 2012 года в Adobe Reader был встроен встроенный Flash Player. Исправления безопасности, исправленные в главном Flash Player, возможно, не были исправлены в комплекте Flash Player от Adobe Reader до тех пор, пока не будут выпущены через несколько недель, оставив дыры безопасности открытыми для эксплуатации. Adobe Reader теперь использует Flash Player, установленный на вашей системе, а не внутренний проигрыватель.
- Действия запуска: Файлы PDF имели возможность запускать любую команду после появления окна подтверждения. В старых версиях Adobe Reader файл PDF может попытаться запустить опасную команду, пока пользователь нажал кнопку «ОК». Теперь Adobe Reader содержит черный список, который ограничивает файлы PDF от запуска исполняемых файлов.
- GoToE: Файлы PDF могут содержать встроенные PDF-файлы, которые могут быть зашифрованы. Когда пользователь загружает основной файл PDF, он может сразу загрузить встроенный PDF-файл. Это позволяет злоумышленникам скрывать вредоносные файлы PDF внутри других файлов PDF, обманывая антивирусные сканеры, не позволяя им просматривать скрытый файл PDF.
- Встроенные средства управления мультимедиа: В дополнение к Flash, файлы PDF могут исторически содержать средства Windows Media Player, RealPlayer и QuickTime. Это позволит PDF использовать уязвимости в этих встроенных средствах управления мультимедийными проигрывателями.
В формате PDF-файла есть еще много возможностей, которые увеличивают его поверхность атаки, включая возможность встраивания любого файла в PDF-файл и использования 3D-графики.
Безопасность PDF улучшилась
Теперь вы должны надеяться понять, почему Adobe Reader и PDF-файлы были источником стольких уязвимостей безопасности. Файлы PDF могут выглядеть как простые документы, но не обманываться - на поверхности может быть гораздо больше.
Хорошей новостью является то, что безопасность PDF улучшилась. Adobe добавила в Adobe Reader X песочницу под названием «Защищенный режим». Она запускает PDF-файл в ограниченной, заблокированной среде, где он имеет доступ только к определенным частям вашего компьютера, а не к всей вашей операционной системе. Это похоже на то, как песочница Chrome изолирует веб-страницы от остальных компьютеров. Это создает гораздо большую работу для злоумышленников. Они не просто должны найти уязвимость безопасности в средстве просмотра PDF - они должны найти уязвимость безопасности, а затем использовать вторую уязвимость безопасности в песочнице, чтобы избежать песочницы и повредить остальную часть вашего компьютера. Это невозможно сделать, но в Adobe Reader было обнаружено и использовано гораздо меньше уязвимостей, поскольку была введена песочница.
Хотя мы можем задаться вопросом, действительно ли PDF-файлы действительно могут делать все это, безопасность PDF, по крайней мере, улучшилась. Это больше, чем мы можем сказать для плагина Java, который ужасен и в настоящее время является основным вектором атаки в Интернете. Chrome предупреждает вас, прежде чем запускать Java-контент, если у вас установлен подключаемый модуль Java.