Цифровая подпись программы: проверить за минуту
Коротко. Цифровая подпись подтверждает две вещи: кто выпустил файл и не изменился ли он после подписи. Проверить её можно через свойства файла или командой в PowerShell. Подпись не гарантирует, что программа полезна, но её отсутствие у установщика — повод насторожиться.
Как устроена подпись
Microsoft использует технологию Authenticode. Издатель получает сертификат у удостоверяющего центра, подписывает файл, и в него добавляется цифровая подпись с цепочкой сертификатов.
Windows проверяет:
- есть ли подпись;
- доверенный ли издатель;
- доверен ли удостоверяющий центр;
- не изменялся ли файл после подписания.
Если файл изменили хотя бы на байт, подпись станет недействительной.
Проверка через свойства файла
- Правой кнопкой по установщику.
- «Свойства».
- Вкладка «Цифровые подписи».
Если вкладки нет, файл не подписан. Если есть:
- Выберите подпись в списке.
- Нажмите «Подробнее».
- Проверьте сообщение «Эта цифровая подпись действительна».
- Нажмите «Просмотр сертификата» и посмотрите издателя.
Сравните издателя с сайтом, с которого скачали файл. Для драйверов и системных утилит издатель обычно совпадает с производителем.
Проверка через PowerShell
Команда Get-AuthenticodeSignature показывает статус и сведения о подписанте.
Порядок:
- Откройте PowerShell.
- Введите команду с путём к файлу.
- Посмотрите поле Status.
Возможные значения:
- Valid — подпись действительна;
- NotSigned — подписи нет;
- HashMismatch — файл изменён;
- UnknownError — не удалось проверить;
- NotTrusted — сертификат не доверен системе.
Статус Valid означает, что подпись технически корректна. Дальше нужно ещё убедиться, что издатель — тот, кого вы ожидали.
Что означает «неизвестный издатель»
Предупреждение появляется, когда:
- файл не подписан;
- сертификат выпущен неизвестным центром;
- срок действия сертификата истёк;
- подпись повреждена;
- файл изменён после подписи.
Это не приговор, но и не мелочь. Многие легитимные программы для разработчиков не подписаны, а многие вредоносные — подписаны украденным сертификатом.
Подпись не гарантирует безопасность
Подписанный файл может быть вредоносным, если:
- сертификат украден;
- издатель выпускает нежелательное ПО;
- программа содержит рекламный модуль;
- установщик скачивает полезную нагрузку после запуска.
Поэтому подпись — один из признаков, а не замена антивирусу и здравому смыслу.
Проверка драйверов
Для драйверов подпись обязательна. Windows не загрузит драйвер без действительной подписи, если не включён особый режим тестирования.
Если драйвер не устанавливается из-за подписи:
- скачайте пакет с сайта производителя;
- проверьте, что версия подходит к системе;
- не отключайте проверку подписи ради установки.
Отключение проверки подписи — прямой путь к загрузке неподписанного драйвера с непредсказуемым поведением.
Проверка скачанного архива
Если программа поставляется в архиве:
- Проверьте контрольную сумму архива.
- Распакуйте в отдельную папку.
- Проверьте подпись исполняемого файла.
- Запустите антивирусную проверку.
Иногда подпись есть только у установщика, а вспомогательные файлы не подписаны. Это нормально для крупных пакетов, но проверять основной файл нужно.
Что делать, если подпись недействительна
- Не запускайте файл.
- Удалите его.
- Скачайте заново с официального сайта.
- Сравните контрольную сумму.
- Сообщите в поддержку, если файл получен от поставщика.
Повреждённая подпись чаще означает повреждённую загрузку, чем атаку, но проверять нужно оба варианта.
Чего не делать
- Не отключайте проверку подписи драйверов.
- Не устанавливайте программу «от известного блогера» без проверки.
- Не игнорируйте предупреждение, если издатель не совпадает.
- Не используйте «активаторы» и «кряки».
- Не считайте подпись гарантией качества.
Что запомнить
- Подпись подтверждает издателя и целостность.
- Проверяется через свойства файла или PowerShell.
- Отсутствие подписи — повод насторожиться.
- Подпись не делает программу безопасной.
- Драйверы без подписи не загрузятся.
Подпись и репутация в SmartScreen
Наличие подписи не гарантирует, что SmartScreen пропустит файл без предупреждения. Репутация строится постепенно: чем больше пользователей устанавливают программу и чем дольше она существует, тем выше доверие.
Новый подписанный установщик от малоизвестного издателя может получить предупреждение. Это нормально и не означает, что файл опасен. Но и игнорировать предупреждение без проверки не стоит.
Отдельно стоит помнить: с августа 2024 года Microsoft убрала различия между обычными и расширенными сертификатами в программе доверия. Издателю всё равно приходится завоёвывать репутацию.
Подпись внутри установщика
Крупные программы часто состоят из множества файлов. Установщик подписан, а часть внутренних библиотек — нет. Это не обязательно признак подделки: подписывают основной исполняемый файл и пакет обновления.
Проверять стоит тот файл, который вы запускаете. Если он подписан известным издателем и скачан с официального сайта, риск ниже.
Если же подпись отсутствует у самого установщика, а сайт предлагает «отключить антивирус» — это плохой признак, независимо от оформления страницы.
Как хранить проверенные установщики
Создайте папку для установщиков и подписывайте её содержимое понятными именами: программа, версия, дата. Перед сохранением проверяйте подпись и контрольную сумму.
Такая папка экономит время при переустановке системы и снижает соблазн скачать «что-нибудь похожее» с первого результата поиска.
Что делать, если сертификат отозван
Сертификат может быть отозван, если его скомпрометировали. Windows проверяет списки отзыва, но для этого нужен доступ к сети.
Если статус подписи «NotTrusted» или есть сообщение об отзыве, не запускайте файл. Скачайте программу заново с официального сайта: возможно, издатель выпустил новую версию с новым сертификатом.
Отсутствие сети может дать ложное сообщение о невозможности проверки. В таком случае подключитесь к интернету и повторите проверку, прежде чем принимать решение.
Итог
Подпись — быстрый способ понять, кто выпустил файл и не изменяли ли его. Она не заменяет антивирус, но отсутствие подписи у установщика всегда повод проверить источник.
FAQ
Обязательна ли подпись для программы?
Нет, но для драйверов — да.
Что значит «подпись действительна»?
Файл не изменялся после подписания.
Может ли вирус быть подписан?
Да, если сертификат украден или издатель недобросовестен.
Как проверить без программ?
Через вкладку «Цифровые подписи» в свойствах файла.
Что делать при ошибке HashMismatch?
Скачать файл заново из официального источника.
Влияет ли подпись на SmartScreen?
Косвенно: репутация подписанного издателя учитывается.