- Как проверить подозрительный шрифт (.ttf, .otf) на вредоносный код — пошаговое руководство
- Почему шрифт может быть опасен
- Как проверить шрифт — пошагово
- Что можно использовать — сравнение инструментов
- Что делать, если шрифт подозрительный — сценарии
- Частые ошибки — что не надо делать
- Как лучше сделать — практические рекомендации
- Что выбрать — если ты не эксперт
- Итог — что делать прямо сейчас
Как проверить подозрительный шрифт (.ttf, .otf) на вредоносный код — пошаговое руководство
Ты скачал шрифт с сайта, который выглядит подозрительно — может, с торрента, с форума или в пакете с «бесплатным шаблоном». Файл — .ttf или .otf. Ты знаешь, что шрифты — это просто графика, но твои коллеги в IT шепчут: «А вдруг в нём эксплойт?». И ты не уверен — стоит ли ставить его на рабочий компьютер или лучше отбросить.
Ты не paranoid. Ты просто разумный человек, который не хочет, чтобы его система заразилась через шрифт.
Да, это возможно. И да — вредоносные шрифты существуют. Не часто. Но бывают. И если ты работаешь с дизайном, версткой, печатью — ты сталкиваешься с ними чаще, чем думаешь. Ниже — как проверить шрифт, не устанавливая его, не рискуя системой и не тратя часы.
Почему шрифт может быть опасен
Шрифт — это не просто картинка букв. Это сложный файл с программным кодом. В .ttf и .otf есть таблицы, которые описывают, как рендерить символы: контуры, кернинг, лигатуры, подстановки. И в этих таблицах можно спрятать вредоносный код — через уязвимости в рендеринге шрифтов в ОС или приложениях.
Примеры реальных уязвимостей:
- FontBleed (2020) — уязвимость в Windows, позволявшая выполнить код через специально сформированный шрифт в .ttf;
- FontParser — баги в библиотеках FreeType (используется в Linux, Android, macOS), где переполнение буфера в обработке таблиц шрифтов;
- Вредоносные лигатуры — когда последовательность символов (например, «fi») заменяется на код, запускающий вредоносную команду.
Это не теория. Это реальные эксплойты, которые использовались в целевых атаках. Ты не целишься в государственные органы — но если ты работаешь с клиентскими файлами, дизайнерскими пакетами, шаблонами от неизвестных поставщиков — ты находишься в зоне риска.
Как проверить шрифт — пошагово
Не устанавливай шрифт. Не открывай его в Word или Photoshop. Не копируй в папку Fonts. Делай всё в изоляции.
- Скачай шрифт в изолированную среду — создай виртуальную машину (VM) с Windows 10/11 или Linux (без доступа к твоей основной системе). Используй VirtualBox или VMware. Не используй облачные сервисы — они могут логировать твои действия.
- Проверь размер файла — обычный шрифт .ttf весит от 20 КБ до 2 МБ. Если файл 15 МБ — это подозрительно. Слишком большой размер = возможное вложение скриптов, мусора, или скрытых данных.
- Проверь хеш файла — открой терминал (Windows: PowerShell, macOS/Linux: Terminal) и выполни:
Get-FileHash имя_файла.ttf
или
sha256sum имя_файла.otf
Запиши хеш. Позже сравни его с хешами, опубликованными на официальных сайтах (если шрифт — из известного источника, типа Google Fonts или Adobe). Если хеш не совпадает — файл подменён.
- Проверь структуру файла — используй FontForge (бесплатный, для Windows/macOS/Linux). Открой шрифт в FontForge. Если он не открывается — это красный флаг. Если открывается, но показывает странные таблицы (например, с именами типа «A001», «X001», «EXPL»), это тревожный признак. Нормальные шрифты имеют стандартные таблицы: ‘cmap’, ‘glyf’, ‘head’, ‘hmtx’, ‘maxp’, ‘name’, ‘OS/2’.
- Проверь содержимое в текстовом редакторе — открой файл в Notepad++ или VS Code. Переключись в режим «Hex View» или «Raw». Ищи строки вроде:
- «cmd»
- «powershell»
- «.exe»
- «\x90\x90\x90» (NOP sled — признак эксплойта)
Если видишь что-то похожее — шрифт заражён. Нормальный шрифт содержит только бинарные данные, метаданные и контуры — никаких команд.
- Запусти в песочнице — используй 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 файл — ты передаёшь статичный документ. Это безопаснее.
Что выбрать — если ты не эксперт
Если ты не разбираешься в технических деталях — вот простой алгоритм:
- Скачал шрифт? Не открывай.
- Загрузи его на Any.Run — бесплатно, без регистрации.
- Если Any.Run говорит «нормально» — скачай официальную версию с Google Fonts и используй её.
- Если Any.Run показал хоть один подозрительный процесс — удали файл. Не хранить. Не переименовывать. Удалить.
Это не идеально. Но это безопасно. И это работает.
Итог — что делать прямо сейчас
Если ты читаешь это — значит, у тебя есть подозрительный шрифт. Не жди. Не откладывай.
Сделай следующее:
- Создай папку «Шрифты_Проверка» на рабочем столе.
- Скопируй туда подозрительный .ttf/.otf файл.
- Загрузи его на any.run — бесплатно, без регистрации.
- Если анализ показал что-то подозрительное — удали файл и забудь о нём.
- Если всё чисто — найди аналог на Google Fonts. Скачай его. Удали подозрительный файл.
Ты не обязан быть хакером, чтобы не стать жертвой. Ты просто должен действовать разумно. Шрифты — не безобидные картинки. Они — потенциальные ворота в систему. И ты можешь их закрыть — за 5 минут.
Следующий раз — скачивай шрифт только с Google Fonts. Это бесплатно. Это безопасно. Это работает.
Информация в этой статье носит ознакомительный характер. Решения о безопасности систем, установке файлов и работе с потенциально опасными данными следует принимать совместно с ИТ-специалистом или в соответствии с политиками вашей организации.
