Когда вы нажимаете правой кнопкой на .exe, .msi или .dll — выбираете «Свойства» → «Цифровые подписи» → «Подробнее» — и видите строку «Издатель» (Publisher), перед вами не просто текстовая метка. Это значение извлекается из сертификата подписи кода (Code Signing Certificate), выданного удостоверяющим центром (CA) после проверки юридического лица или индивидуального предпринимателя. Понимание того, что именно там написано — и, главное, чего там нет — помогает принимать решения о запуске ПО, особенно в корпоративной среде или при анализе подозрительных файлов.
- Откуда берётся имя в поле «Издатель»
- Что поле «Издатель» гарантирует — а чего не гарантирует
- Что подтверждается
- Что не подтверждается
- Как проверить подлинность подписи и издателя
- 1. Проверка цепочки доверия (Chain of Trust)
- 2. Статус отзыва (Revocation Check)
- 3. Временная метка (Timestamp)
- 4. Соответствие имени ожиданиям
- Типичные сценарии и как их интерпретировать
- Практическая проверка перед запуском: чек-лист
- Особенности EV Code Signing и SmartScreen
- Что делать, если подпись вызывает подозрение
- Ограничения поля «Издатель» в современных цепочках поставок
- Резюме: главное правило при работе с полем «Издатель»
Откуда берётся имя в поле «Издатель»
Имя издателя не вводит разработчик вручную при сборке. Оно зашито в сертификат X.509, который CA выдаёт после процедуры валидации (validation). Существует два основных типа сертификатов для подписи кода, и они определяют, что вы увидите в этом поле:
- OV (Organization Validation) — стандартная валидация организации. CA проверяет юридическое существование компании: регистрационные документы, адрес, телефон, домен. В поле «Издатель» попадает точное юридическое название из учредительных документов (например, «ООО «Рога и Копыта»» или «Microsoft Corporation»).
- EV (Extended Validation) — расширенная валидация. Более строгая процедура: проверяются уставной капитал, история деятельности, физическое присутствие, полномочия подписанта. Технически EV-сертификаты часто хранятся на аппаратных токенах (HSM/USB-ключи) и требуют двухфакторной авторизации при каждой подписи. В поле «Издатель» также указывается юридическое имя, но сам сертификат имеет расширенные атрибуты политики (Certificate Policies OID), которые Windows и антивирусы распознают как маркер более высокого доверия.
Для индивидуальных разработчиков (Individual Code Signing) в поле может фигурировать ФИО частного лица, прошедшего верификацию личности (паспорт, подтверждение адреса, видеозвонок). Это легально, но встречается реже и вызывает больше вопросов у систем безопасности.
Что поле «Издатель» гарантирует — а чего не гарантирует
Понимание границ доверия критично. Поле «Издатель» подтверждает только одно: файл был подписан закрытым ключом, соответствующим публичному ключу в сертификате, который CA выдал именно этой юридической персоне после проверки её документов.
Что подтверждается
- Целостность файла: после подписи ни один байт не менялся (иначе подпись не пройдёт верификацию).
- Принадлежность ключа организации, указанной в сертификате, на момент выпуска сертификата.
- Факт прохождения процедуры KYC (Know Your Customer) удостоверяющим центром.
Что не подтверждается
- Качество или безопасность кода. Подпись не означает отсутствие багов, уязвимостей или вредоносного функционала, заложенного самим издателем.
- Актуальность прав собственности. Компания могла быть продана, переименована, ликвидирована или потерять контроль над ключом после выпуска сертификата. Сертификат действует 1–3 года (обычно), и в этом окне данные в поле «Издатель» могут устареть.
- Исключительность использования. Если закрытый ключ скомпрометирован (утечка с билд-сервера, фишинг у разработчика, вредонос на рабочей станции), злоумышленник может подписать свой вредонос легальным сертификатом. В поле «Издатель» будет честное имя жертвы атаки.
- Связь с конкретным продуктом. Сертификат выдаётся организации, а не продукту. Одна компания может подписывать десятки разных программ одним сертификатом.
Как проверить подлинность подписи и издателя
Сам факт наличия подписи и заполненного поля «Издатель» — лишь начало. Полная верификация включает несколько шагов, которые можно выполнить без сторонних инструментов.
1. Проверка цепочки доверия (Chain of Trust)
В окне «Подробнее» нажмите «Просмотреть сертификат» → вкладка «Путь сертификации» (Certification Path). Вы должны увидеть иерархию: корневой CA → промежуточный CA → сертификат издателя. Все три должны иметь статус «ОК» (зеленая галочка). Если корневой CA не доверен системой (нет в Trusted Root Certification Authorities), подпись не будет считаться валидной Windows, даже если криптографически верна.
2. Статус отзыва (Revocation Check)
На той же вкладке «Подробнее» или через «Просмотреть сертификат» → «Состав» → «Точки распространения списка отзыва» (CRL Distribution Points) / OCSP. Windows проверяет это автоматически при валидации, но можно убедиться вручную: сертификат не должен быть в списке отозванных (CRL) или иметь статус «Revoked» по OCSP. Причины отзыва: компрометация ключа, прекращение деятельности, ошибка при выдаче.
3. Временная метка (Timestamp)
Вкладка «Подробнее» → «Просмотреть сертификат» → «Состав» → «Подпись с меткой времени» (Timestamp). Если есть валидная метка от доверенного TSA (Time Stamping Authority), подпись считается действительной даже после истечения срока действия сертификата. Без метки подпись становится недействительной сразу после expiry даты сертификата — файл будет помечен как с недействительной подписью.
4. Соответствие имени ожиданиям
Сравните имя в поле «Издатель» с тем, от кого вы ожидаете ПО. Если скачали драйвер видеокарты, а издатель — «ООО «Вектор»» (вымышленное название) вместо «NVIDIA Corporation» или «Advanced Micro Devices, Inc.» — это повод для проверки. Обратите внимание на точное написание: злоумышленники регистрируют похожие юрлица («Microsft Corporation», «Google LLC.» с точкой в конце) и получают OV-сертификаты.
Типичные сценарии и как их интерпретировать
| Сценарий | Что видите в поле «Издатель» | Как интерпретировать |
|---|---|---|
| Официальный инсталлятор с сайта вендора | Точное юр. имя вендора (Microsoft Corporation, Adobe Inc., JetBrains s.r.o.) | Ожидаемая норма. Проверьте цепочку доверия и метку времени — если всё ОК, риск минимален. |
| ПО из корпоративного репозитория (SCCM, Intune, Chocolatey внутренний) | Имя вашей организации или имени подрядчика, собирающего пакеты | Нормально, если процесс сборки и подписи контролируется ИБ. Внешние пользователи не должны доверять такому имени автоматически. |
| Open Source утилита с GitHub Releases | Имя мейнтейнера (ФИО) или название проекта/организации | Часто индивидуальные сертификаты. Проверьте, совпадает ли имя с автором репозитория. Нет имени — выше риск, но не все OSS-проекты платят за сертификат ($200–600/год). |
| Драйвер или системная утилита от неизвестного бренда | Название ООО/ИП, которое ничего не говорит о назначении ПО | Требует проверки: поиск по имени организации, проверка сайта, репутации, VirusTotal. Подпись подтверждает личность, а не качество. |
| Файл с меткой «Издатель не проверен» / «Unknown Publisher» | Поле пустое или «Unknown Publisher» | Файл не подписан или подпись повреждена/недоверена. В корпоративной среде — блокировка AppLocker/WDAC. Дома — запуск только если вы сами компилируете или абсолютно доверяете источнику. |
| Подпись валидна, но имя — «Microsoft Corporation», а файл — не от Microsoft | Microsoft Corporation (или другое известное имя) | Возможна компрометация сертификата легатимной компании или кража EV-токена. Немедленно проверяйте хеш файла в VirusTotal, ищите бюллетени безопасности вендора. Это инцидент. |
Практическая проверка перед запуском: чек-лист
- Откройте «Свойства» → «Цифровые подписи». Если список пуст — файл не подписан. Решение: не запускать в продакшене без анализа в песочнице.
- Выберите подпись → «Подробнее». Проверьте строку «Эта цифровая подпись действительна» (This digital signature is OK). Любое другое сообщение — стоп.
- Нажмите «Просмотреть сертификат» → вкладка «Общие». Сверьте «Выдан» (Issued to) с полем «Издатель» в предыдущем окне — они должны совпадать.
- Вкладка «Путь сертификации» — все звенья с зелеными галочками. Корневой CA должен быть в хранилище Trusted Root (Microsoft, DigiCert, GlobalSign, Sectigo, Entrust и т.д.).
- Вкладка «Состав» → найдите «Политики сертификата» (Certificate Policies). OID вроде 2.23.140.1.2 (EV Code Signing) или 1.3.6.1.4.1.311.2.1.21 (OV Microsoft) подтверждают тип валидации.
- Проверьте даты: «Действителен с» / «По». Если текущая дата вне диапазона — нужна метка времени (Timestamp).
- При необходимости — скачайте тот же файл с официального источника и сравните хеши (SHA-256) через certutil -hashfile
SHA256 или PowerShell Get-FileHash.
Особенности EV Code Signing и SmartScreen
EV-сертификаты (Extended Validation) дают практическое преимущество: Windows SmartScreen и Defender Application Control (WDAC) относятся к ним с более высоким доверием «из коробки». Файл, подписанный EV-сертификатом, реже вызывает предупреждение «Windows защитила ваш компьютер» (SmartScreen Unrecognized App) и быстрее набирает репутацию в облаке Microsoft. Это не магия — EV требует аппаратного хранения ключа (FIPS 140-2 Level 2 HSM или токен), что сильно снижает риск утечки ключа.
Однако EV не делает код безопасным. В 2021–2023 годам фиксировались случаи подписи вредоносов скомпрометированными EV-ключами (например, кампания Lazarus с украденными сертификатами корейских компаний). Репутация в SmartScreen накапливается по хешу файла и издателю со временем — новый EV-подписанный файл всё равно может получить предупреждение при первом распространении.
Что делать, если подпись вызывает подозрение
- Загрузите файл на VirusTotal (или используйте локальный сканер с облачной репутацией). Смотрите не только детект/нет детект, а вкладку «Details» → «Signature Verification»: там видно, валидна ли подпись, отозван ли сертификат, совпадает ли издатель с ожидаемым.
- Проверьте сертификат в Certificate Transparency логах (crt.sh, Google Transparency Report). Введите имя организации или SHA-256 сертификата — увидите все выданные сертификаты, их сроки, CA. Если организация, которой не должно быть сертификатов для подписи кода, имеет их — повод для расследования.
- Сравните с известными добрыми хешами вендора. Многие крупные компании публикуют SHA-256 своих релизов в блогах безопасности или на страницах загрузки.
- В корпоративной среде — используйте WDAC / AppLocker с правилами на основе издателя (Publisher rules) и хешей. Правило «Allow Publisher: Microsoft Corporation» безопаснее правила по пути или хешу, но требует контроля за компрометацией ключей вендоров.
- Сообщите в CA (через их abuse/revocation форму), если нашли файл с валидной подписью очевидно вредоносного назначения. CA обязаны расследовать и отозвать сертификат при подтверждении компрометации.
Ограничения поля «Издатель» в современных цепочках поставок
С ростом Supply Chain атак (SolarWinds, Codecov, 3CX) стало понятно: имя в поле «Издатель» — это аттестация кем подписан файл, а не что в нём находится. Современные подходы (SLSA, in-toto, Sigstore, SBOM) смещают фокус на:
- Воспроизводимые сборки (reproducible builds) — любой может проверить, что бинарник получен из указанных исходников.
- Прозрачные логи подписей (Transparency Logs) — публичный аудит того, что и когда подписывалось.
- Кепсулирование контекста сборки (Provenance) — метаданные о CI/CD, зависимостях, коммитах, подписанные вместе с артефактом.
Для конечного пользователя Windows поле «Издатель» остаёт основным доступным индикатором. Его ценность — в сочетании с проверкой цепочки доверия, метки времени, статуса отзыва и репутации конкретного файла/издателя. Изолированно оно отвечает только на вопрос «кто подписал?», но не на «безопасно ли запускать?».
Резюме: главное правило при работе с полем «Издатель»
Считайте поле «Издатель» утверждением личности подписанта на момент выпуска сертификата, подтверждённым третьей стороной (CA). Оно не заменяет анализ поведения ПО, репутацию файла, проверку хешей и политики запуска в вашей среде. Практический алгоритм:
- Подпись есть и валидна (цепочка, отзыв, метка времени) — продолжаем.
- Имя издателя соответствует ожидаемому источнику ПО — хорошо, но не достаточно.
- Проверяем репутацию файла (VirusTotal, внутренний TI, SmartScreen) и контекст распространения (официальный сайт, корпоративный репозиторий, случайная ссылка в мессенджере).
- При любом расхождении — изолируем, анализируем в песочнице, запрашиваем подтверждение у вендора/ИБ.
Цифровая подпись — это замок на двери. Поле «Издатель» — табличка с именем того, кто поставил замок. Это важно знать, но войти в дом стоит только после проверки, кто действительно держит ключи и что внутри.
Материал носит информационный характер и не заменяет профессиональную оценку безопасности информации. При обнаружении подозрительно подписанных файлов в корпоративной инфраструктуре обратитесь к специалистам ИБ и следуйте инцидент-регламенту организации. Репутация издателя и валидность сертификата не гарантируют отсутствие вредоносного кода или уязвимостей в самом ПО.
