Как проверить .psd-файл на наличие внедрённого кода перед открытием

Получили от кого-то PSD-файл и сомневаетесь, стоит ли его открывать? Это не паранойя. Файлы формата Photoshop могут содержать встроенные скрипты и исполняемые данные, которые активируются при открытии. Расскажу, как проверить файл безопасно — от быстрых способов до глубокого анализа.

Почему PSD-файл может быть опасен

PSD — это не просто картинка. Формат поддерживает слои, метаданные, внедринные объекты и автоматизацию через JavaScript. Злоумышленники используют эту гибкость для внедрения вредоносного кода. Основные векторы:

  • JavaScript в метаданных — PSD может содержать скрипты, которые запускаются через встроенные механизмы обработки файлов в некоторых средах.
  • Embedded-объекты — внутри файла можно спрятать исполняемый файл или документ с макросами.
  • Заголовки и структура — повреждённые или подменённые заголовки могут эксплуатировать уязвимости в программах для просмотра.
  • EXIF и XMP метаданные — в метаданные внедряют вредоносные ссылки или команды.

Раньше существовали реальные эксплойты через PSD (например, CVE-2015-3153 в обработчике изображений Microsoft), поэтому проверка — не просто формальность.

Быстрая проверка без специальных инструментов

Если нужно быстро оценить файл, не устанавливая дополнительное ПО, выполните следующие шаги:

  1. Проверьте размер файла. Обычный PSD с несколькими слоями редко превышает 500 МБ. Если файл весит под гигабайт без видимых причин — это подозрительно.
  2. Откройте файл в HEX-редакторе. Даже бесплатный HEX-инструмент (например, HxD) позволит увидеть первые байты. Корректный PSD начинается с сигнатуры 38 42 50 53 (8BPS). Если в начале файла видите MZ-заголовок (4D 5A) — это исполняемый файл, замаскированный под PSD.
  3. Просмотрите метаданные через Проводник. В Windows: правый клик → Свойства → Подробно. Обратите внимание на необычно длинные поля или подозрительные значения.
  4. Проверьте расширение. Убедитесь, что файл действительно имеет расширение .psd, а не .psd.exe или двойное расширение.

Детальный анализ структуры файла

Для более глубокой проверки потребуются инструменты. Вот пошаговый алгоритм:

Шаг 1. Визуальный осмотр в HEX

Откройте файл в HEX-редакторе и проверьте:

  • Первые 4 байта — должны быть 38 42 50 53 (8BPS).
  • Байты 6–9 — версия (обычно 00 00 00 01).
  • Поищите строки JavaScript, JS, eval, function — признаки встроенного кода.
  • Ищите заголовки других форматов: MZ (EXE), PK (ZIP), %PDF — признаки внедрённых файлов.

Шаг 2. Анализ метаданных

Используйте ExifTool (бесплатный, командная строка) для извлечения всех метаданных:

exiftool -u -g1 имя_файла.psd

Обратите внимание на:

  • Нестандартные теги или поля с длинными двоичными данными.
  • Упоминания скриптов, URL-адресов, исполняемых команд.
  • Подозрительные значения в полях Author, Description, Keywords.

Шаг 3. Проверка через песочницу

Самый надёжный способ — открыть файл в изолированной среде:

  1. Создайте виртуальную машину без сетевого доступа или используйте Windows Sandbox.
  2. Установите Photoshop или GIMP внутри песочницы.
  3. Откройте файл и наблюдайте за поведением: появляются ли диалоговые окна, запросы на выполнение скриптов, необычные процессы.
  4. Проверьте системные журналы после открытия.

Сравнение методов проверки

Метод Сложность Надёжность Что обнаруживает
HEX-анализ Низкая Средняя Маскировка формата, встроенные заголовки
ExifTool Низкая Средняя Подозрительные метаданные, скрипты в тегах
Песочница Средняя Высокая Поведение при открытии, скрытые действия
Антивирус Низкая Низкая Известные сигнауры, не находит новые угрозы
Файрвол Средняя Средняя Сетевую активность после открытия

Что делать в зависимости от вашей ситуации

Если файл от знакомого дизайнера: достаточно HEX-проверки на маскировку и быстрого просмотра метаданных. Откройте в GIMP или Photoshop с отключённой автоматизацией (Edit → Preferences → General → uncheck «Allow Extensions to connect to the Internet»).

Если файл скачан из интернета: обязательно используйте песочницу. Проверьте HEX на внедрённые файлы, проанализируйте метаданные, только потом открывайте в основной системе.

Если вы получаете PSD-файлы регулярно (работа в студии, агентстве): настройте автоматическую проверку через ExifTool при получении файлов. Создайте скрипт, который сканирует метаданные и блокирует файлы с подозрительным содержимым.

Если файл содержит конфиденциальный дизайн: помимо проверки на вредоносный код, проверьте, не содержит ли он скрытых слоёв с водяными знаками или метаданными для отслеживания утечек.

Частые ошибки при проверке

  • Открытие файла напрямую в браузере. Некоторые браузеры или плагины могут интерпретировать содержимое нестандартно. Всегда используйте специализированный софт.
  • Проверка только расширения. Двойное расширение (.psd.exe) легко пропустить, если в системе отключено отображение расширений.
  • Игнорирование предупреждений Photoshop. Если Photoshop спрашивает, разрешить ли выполнение JavaScript — это сигнал. Отключите выполнение скриптов в настройках.
  • Использование онлайн-сервисов для проверки. Загрузка чужого PSD на сторонний сайт — риск утечки данных. Используйте локальные инструменты.
  • Проверка без отключения сети. Если файл всё-таки содержит вредоносный код, он может отправить данные наружу. Сначала проверка в офлайн-среде.

Практические рекомендации

  1. Настройте Photoshop на безопасный режим: Edit → Preferences → General → отключите «Allow Extensions to connect to the Internet» и «Automatically check for updates». Это блокирует автоматический запуск скриптов.
  2. Создайте скрипт для ExifTool: напишите простой batch-файл, который будет автоматически проверять все входящие PSD на наличие подозрительных тегов.
  3. Используйте виртуальную машину: держите лёгкую VM с установленным GIMP для быстрой проверки файлов. После работы можно откатить к снапшоту.
  4. Обновите ПО: используйте последние версии Photoshop, GIMP и других инструментов — они исправляют уязвимости обработки файлов.
  5. Проверяйте источник: если файл получен по email, убедитесь, что отправитель настоящий. Фишинг часто использует вложения с двойными расширениями.

Итог

Проверка PSD-файла перед открытием — это многоуровневый процесс. Начните с простого: проверьте расширение, загляните в HEX, проанализируйте метаданные через ExifTool. Для полной безопасности используйте песочницу или виртуальную машину. Главное — не игнорировать предупреждения программ и не открывать файлы напрямую из ненадёжных источников.

Помните: лучше потратить 10 минут на проверку, чем потом восстанавливать систему после заражения. Особенно если вы работаете с клиентскими дизайн-макетами регулярно — настройте автоматическую проверку один раз, и она будет защищать вас постоянно.

Оцените статью
PEFile — Безопасность и технологии простым языком