Как проверить подозрительный шрифт (.ttf, .otf) на вредоносный код — пошаговое руководство

Как проверить подозрительный шрифт (.ttf, .otf) на вредоносный код — пошаговое руководство

Ты скачал шрифт с сайта, который выглядит подозрительно — может, с торрента, с форума или в пакете с «бесплатным шаблоном». Файл — .ttf или .otf. Ты знаешь, что шрифты — это просто графика, но твои коллеги в IT шепчут: «А вдруг в нём эксплойт?». И ты не уверен — стоит ли ставить его на рабочий компьютер или лучше отбросить.

Ты не paranoid. Ты просто разумный человек, который не хочет, чтобы его система заразилась через шрифт.

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

Почему шрифт может быть опасен

Шрифт — это не просто картинка букв. Это сложный файл с программным кодом. В .ttf и .otf есть таблицы, которые описывают, как рендерить символы: контуры, кернинг, лигатуры, подстановки. И в этих таблицах можно спрятать вредоносный код — через уязвимости в рендеринге шрифтов в ОС или приложениях.

Примеры реальных уязвимостей:

  • FontBleed (2020) — уязвимость в Windows, позволявшая выполнить код через специально сформированный шрифт в .ttf;
  • FontParser — баги в библиотеках FreeType (используется в Linux, Android, macOS), где переполнение буфера в обработке таблиц шрифтов;
  • Вредоносные лигатуры — когда последовательность символов (например, «fi») заменяется на код, запускающий вредоносную команду.

Это не теория. Это реальные эксплойты, которые использовались в целевых атаках. Ты не целишься в государственные органы — но если ты работаешь с клиентскими файлами, дизайнерскими пакетами, шаблонами от неизвестных поставщиков — ты находишься в зоне риска.

Как проверить шрифт — пошагово

Не устанавливай шрифт. Не открывай его в Word или Photoshop. Не копируй в папку Fonts. Делай всё в изоляции.

  1. Скачай шрифт в изолированную среду — создай виртуальную машину (VM) с Windows 10/11 или Linux (без доступа к твоей основной системе). Используй VirtualBox или VMware. Не используй облачные сервисы — они могут логировать твои действия.
  2. Проверь размер файла — обычный шрифт .ttf весит от 20 КБ до 2 МБ. Если файл 15 МБ — это подозрительно. Слишком большой размер = возможное вложение скриптов, мусора, или скрытых данных.
  3. Проверь хеш файла — открой терминал (Windows: PowerShell, macOS/Linux: Terminal) и выполни:
    Get-FileHash имя_файла.ttf

    или

    sha256sum имя_файла.otf

    Запиши хеш. Позже сравни его с хешами, опубликованными на официальных сайтах (если шрифт — из известного источника, типа Google Fonts или Adobe). Если хеш не совпадает — файл подменён.

  4. Проверь структуру файла — используй FontForge (бесплатный, для Windows/macOS/Linux). Открой шрифт в FontForge. Если он не открывается — это красный флаг. Если открывается, но показывает странные таблицы (например, с именами типа «A001», «X001», «EXPL»), это тревожный признак. Нормальные шрифты имеют стандартные таблицы: ‘cmap’, ‘glyf’, ‘head’, ‘hmtx’, ‘maxp’, ‘name’, ‘OS/2’.
  5. Проверь содержимое в текстовом редакторе — открой файл в Notepad++ или VS Code. Переключись в режим «Hex View» или «Raw». Ищи строки вроде:
    • «cmd»
    • «powershell»
    • «.exe»
    • «\x90\x90\x90» (NOP sled — признак эксплойта)

    Если видишь что-то похожее — шрифт заражён. Нормальный шрифт содержит только бинарные данные, метаданные и контуры — никаких команд.

  6. Запусти в песочнице — используй Any.Run (бесплатный аккаунт) или Cuckoo Sandbox. Загрузи файл туда. Система запустит его в изолированной среде и покажет: что делает файл — создаёт ли процессы, пишет ли в реестр, обращается ли к интернету. Если шрифт запускает powershell.exe или пытается скачать что-то — это вредоносный шрифт. Отбрасывай его.

Что можно использовать — сравнение инструментов

Вот что реально работает. Не теория. Практика.

Инструмент Для чего Сложность Бесплатно Надёжность
FontForge Просмотр структуры шрифта, проверка таблиц Средняя Да Высокая
Any.Run Песочница для анализа поведения Низкая Да (ограниченный план) Очень высокая
sha256sum / Get-FileHash Проверка целостности файла Очень низкая Да Высокая
Notepad++ (Hex View) Поиск подозрительных строк Низкая Да Средняя — только для грубых признаков
Онлайн-анализаторы (VirusTotal) Проверка на вирусы Очень низкая Да Средняя — шрифты часто не детектируются

ВирусTotal — не надёжный инструмент для шрифтов. Многие антивирусы не сканируют .ttf/.otf как исполняемые файлы. Ты можешь загрузить вредоносный шрифт — и он покажет «0/90» детекций. Это ложное спокойствие.

Что делать, если шрифт подозрительный — сценарии

Не все ситуации одинаковы. Вот как действовать в зависимости от твоей ситуации:

  • Ситуация: Ты дизайнер, скачал шрифт с сайта, который выглядит как «бесплатный премиум». — Проверь через FontForge и Any.Run. Если есть хоть один тревожный сигнал — не используй. Найди аналог на Google Fonts или Adobe Fonts. Там всё безопасно, лицензировано, и проверено.
  • Ситуация: Ты получил шрифт от клиента, который «сам нашёл в интернете». — Скажи: «Я не могу использовать этот файл — риски для системы. Давай я подберу безопасный аналог». Не ставь его на свой ПК. Никогда.
  • Ситуация: Ты в компании, и тебе нужно установить шрифт для печати. — Передай его ИТ-отделу. Пусть они проверят через внутреннюю песочницу. Не делай это сам — даже если ты «знаешь, как».
  • Ситуация: Ты просто любишь собирать шрифты. — Создай отдельную виртуальную машину под шрифты. Там всё, что скачал — проверяй, устанавливай, удаляй. Не смешивай с рабочей системой.

Частые ошибки — что не надо делать

Вот что делают люди — и потом жалеют.

  • Открывают шрифт в Word или Photoshop — чтобы «посмотреть, как он выглядит». Нет. Даже если ты не сохранишь файл — рендеринг шрифта в приложении может запустить эксплойт. Это как открывать .exe-файл в текстовом редакторе — он всё равно может сработать.
  • Доверяют VirusTotal — как панацею. Как уже сказано — шрифты редко детектируются. Это ложное чувство безопасности.
  • Устанавливают шрифт на рабочий компьютер — «на один раз». Нет. Даже один раз — достаточно для эксплойта. Не существует «безопасного» установления подозрительного шрифта.
  • Проверяют только размер файла — 5 МБ — это не всегда вредоносно. Некоторые шрифты с кириллицей, иконками, многими стилями — действительно большие. Но если размер больше 5 МБ — это повод проверить детальнее.
  • Игнорируют хеш — «а зачем?». Хеш — это твой единственный способ убедиться, что файл не был подменён. Если ты скачал «OpenSans.ttf» с сайта, а хеш не совпадает с официальным — это не «опечатка». Это подмена.

Как лучше сделать — практические рекомендации

Вот что реально работает в реальной жизни:

  • Используй только доверенные источники — Google Fonts, Adobe Fonts, Font Squirrel, DaFont (с осторожностью). Если шрифт не оттуда — будь настороже.
  • Всегда проверяй хеш — если шрифт на официальном сайте есть хеш (например, SHA-256), сравни его. Если нет — скачай с другого места.
  • Держи шрифты в отдельной папке — не смешивай их с системными. Создай папку «Шрифты_Проверенные» и «Шрифты_Подозрительные». Проверяй вторую в VM.
  • Установи шрифт только в VM — если ты не уверен — установи его в виртуальной машине. Запусти Photoshop, Word, InDesign — посмотри, как он работает. Если всё нормально — экспортируй его как PDF или изображение. Не копируй сам .ttf на основной ПК.
  • Обновляй ОС и приложения — многие уязвимости в рендеринге шрифтов закрыты обновлениями. Windows Update, macOS Updates, Adobe Creative Cloud — всё это должно быть актуально.
  • Используй шрифты в PDF — если тебе нужно передать дизайн клиенту — экспортируй в PDF с встроенными шрифтами. Тогда ты не передаёшь .ttf файл — ты передаёшь статичный документ. Это безопаснее.

Что выбрать — если ты не эксперт

Если ты не разбираешься в технических деталях — вот простой алгоритм:

  1. Скачал шрифт? Не открывай.
  2. Загрузи его на Any.Run — бесплатно, без регистрации.
  3. Если Any.Run говорит «нормально» — скачай официальную версию с Google Fonts и используй её.
  4. Если Any.Run показал хоть один подозрительный процесс — удали файл. Не хранить. Не переименовывать. Удалить.

Это не идеально. Но это безопасно. И это работает.

Итог — что делать прямо сейчас

Если ты читаешь это — значит, у тебя есть подозрительный шрифт. Не жди. Не откладывай.

Сделай следующее:

  1. Создай папку «Шрифты_Проверка» на рабочем столе.
  2. Скопируй туда подозрительный .ttf/.otf файл.
  3. Загрузи его на any.run — бесплатно, без регистрации.
  4. Если анализ показал что-то подозрительное — удали файл и забудь о нём.
  5. Если всё чисто — найди аналог на Google Fonts. Скачай его. Удали подозрительный файл.

Ты не обязан быть хакером, чтобы не стать жертвой. Ты просто должен действовать разумно. Шрифты — не безобидные картинки. Они — потенциальные ворота в систему. И ты можешь их закрыть — за 5 минут.

Следующий раз — скачивай шрифт только с Google Fonts. Это бесплатно. Это безопасно. Это работает.

Информация в этой статье носит ознакомительный характер. Решения о безопасности систем, установке файлов и работе с потенциально опасными данными следует принимать совместно с ИТ-специалистом или в соответствии с политиками вашей организации.

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