Security Lab

Windows защитила ваш компьютер. Почему SmartScreen блокирует программу и что проверить

1539
Windows защитила ваш компьютер. Почему SmartScreen блокирует программу и что проверить

Скачиваешь небольшую утилиту с сайта разработчика, открываешь установщик и получаешь синее окно «Система Windows защитила ваш компьютер». Звучит так, будто компьютер только что спасли от трояна. Но если дальше написано, что SmartScreen предотвратил запуск неопознанного приложения, Windows могла остановить файл просто потому, что пока недостаточно ему доверяет. Такое предупреждение само по себе не означает, что антивирус обнаружил вредоносный код.

Microsoft Defender SmartScreen оценивает репутацию скачанной программы, в том числе сведения о конкретном файле и его издателе. Новая безопасная утилита может ещё не накопить положительную историю, а действительная цифровая подпись не гарантирует запуск без предупреждений. Я воспринимаю такое окно как просьбу проверить происхождение файла. Называть программу безопасной только потому, что знаком её значок или название, тоже рано.

Что проверить до кнопки «Выполнить в любом случае»

Для начала прочитайте сообщение целиком. Windows показывает несколько похожих предупреждений, за которыми стоят разные механизмы. Цвет окна помогает меньше, чем название защиты и текст причины.

Windows защитила ваш компьютер
Что показывает Windows Что происходит С чего начать
SmartScreen сообщает о неопознанном приложении Программа не получила достаточного доверия репутационной системы Проверить источник, подпись и результаты антивирусного сканирования
Антивирус указывает угрозу, помещает файл в карантин или удаляет его Защита классифицировала файл как угрозу либо нежелательное приложение Прочитать подробности в журнале защиты, не восстанавливать файл автоматически
Контроль учётных записей спрашивает разрешение на изменения и показывает неизвестного издателя Программа запрашивает повышенные права, а Windows не показывает подтверждённого издателя Проверить происхождение файла и необходимость прав администратора
Smart App Control блокирует приложение Сработал отдельный механизм контроля запуска программ Уточнить причину блокировки и обратиться к разработчику за подходящей сборкой

Слово Defender встречается в названиях разных компонентов Microsoft и добавляет путаницы. Антивирус Microsoft Defender ищет угрозы с помощью нескольких методов, включая анализ содержимого и поведения. SmartScreen может остановить приложение ещё до запуска из-за недостаточной репутации. Поэтому чистый результат антивирусной проверки вполне может соседствовать с предупреждением SmartScreen.

Я начинаю с нескольких проверок, которые не требуют запускать подозрительную программу.

  1. Проверяю адрес загрузки. Открываю настоящий сайт проекта и нахожу страницу выпуска. Рекламное объявление, похожий домен или знакомый логотип не подтверждают происхождение установщика. Если сайт ведёт на GitHub или сервер раздачи файлов, переход должен начинаться со страницы самого проекта.
  2. Сверяю файл с выпуском. Проверяю название, версию, назначение и выбранную сборку. Один проект может предлагать установщик, переносную версию и несколько вариантов для разных процессоров. Контрольная сумма от соседнего файла здесь бесполезна.
  3. Смотрю цифровую подпись. Открываю свойства файла и, если доступна вкладка «Цифровые подписи», выбираю подпись и её сведения. Проверяю результат проверки и имя подписанта. Юридическое название может отличаться от бренда, но связь должна объясняться данными разработчика.
  4. Сканирую файл антивирусом. В Windows 11 нажимаю правой кнопкой по файлу, при необходимости выбираю «Показать дополнительные параметры», затем «Проверка с использованием Microsoft Defender». При установленном стороннем антивирусе использую его проверку.
  5. Разбираюсь с найденными угрозами. Если защита сообщает о заражении, открываю «Безопасность Windows» и «Журнал защиты». Смотрю название угрозы, затронутый файл и действие антивируса. Совет автора программы «просто добавьте папку в исключения» не заменяет объяснения.

Проверить подпись можно и в PowerShell. Откройте терминал с обычными правами, подставьте путь к своему файлу и выполните команды. Установщик при такой проверке не запускается.

$file = Join-Path $env:USERPROFILE 'Downloadssetup.exe'
 $sig = Get-AuthenticodeSignature -LiteralPath $file
 $sig | Format-List Status, StatusMessage
 $sig.SignerCertificate | Format-List Subject, Issuer, NotBefore, NotAfter

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

Затем можно вычислить SHA-256, цифровой отпечаток содержимого файла.

Get-FileHash -LiteralPath $file -Algorithm SHA256

Сравните значение Hash с SHA-256, опубликованным разработчиком именно для выбранной сборки. Совпадение помогает подтвердить, что скачался ожидаемый файл. Но контрольная сумма не доказывает безвредность программы. Если злоумышленник подменил сайт вместе с установщиком и указанным хешем, сравнение не обнаружит обман.

Готовый SHA-256 можно вставить в поиск VirusTotal и посмотреть существующий отчёт, не загружая сам файл. Отсутствие отчёта означает лишь, что сервис не нашёл запись по этому отпечатку. Ноль обнаружений тоже не даёт гарантии, особенно для свежего файла. При обычной загрузке образцы могут получать партнёры сервиса, поэтому внутренние сборки, документы и файлы с секретами не стоит отправлять на публичную проверку.

Все описанные действия предназначены для законной проверки программ на своих устройствах или с разрешения владельца. Соблюдайте законы своей страны, включая Россию, и правила организации. Не применяйте инструкции для несанкционированного доступа, слежки, взлома или незаконного обхода ограничений.

Почему подпись есть, а доверия всё равно нет

Здесь полезно разделить три вопроса. Антивирус пытается определить, содержит ли программа угрозу. Цифровая подпись помогает установить подписанта и проверить целостность подписанного содержимого. Репутационная система оценивает, достаточно ли накопленных сведений, чтобы доверять файлу и издателю. Ответ на один вопрос не закрывает остальные.

Подпись не означает, что Microsoft или удостоверяющий центр изучили весь исходный код и одобрили каждое действие программы. Подписанное приложение может содержать уязвимости, нежелательные функции или вредоносную логику. И наоборот, небольшая бесплатная утилита без подписи вполне может честно выполнять свою задачу. Только пользователю придётся внимательнее проверять происхождение такой утилиты.

Фраза «Неизвестный издатель» тоже требует точного прочтения. Windows не показывает издателя, подтверждённого доверенной подписью. Причиной может быть отсутствие подписи или проблема с её доверием. Поле «Автор» либо название компании во вкладке «Подробно» не заменяют криптографическую проверку, поскольку текстовые сведения внутри файла можно указать произвольно.

У SmartScreen есть репутация конкретного файла и сигнал доверия, связанный с подписантом. В описании механизма Microsoft прямо допускает предупреждение для нового подписанного приложения. Наличие сертификата помогает связать выпуски с издателем, но не выдаёт каждому установщику безусловный пропуск.

Отсюда неприятный для разработчика эффект. Вчерашняя версия запускалась спокойно, сегодня автор исправил ошибку, пересобрал программу и снова получил жалобы на SmartScreen. Содержимое изменилось, хеш стал другим, а история прежнего файла не превращается автоматически в историю нового. У неподписанных выпусков особенно мало возможностей унаследовать доверие через издателя.

При постоянной доверенной подписи репутация издателя может помочь следующим версиям. Но формула «один раз подписал и навсегда избавился от предупреждений» неверна. Не работает и старый совет купить дорогой сертификат EV ради гарантированного пропуска через SmartScreen. Тип EV больше не обеспечивает автоматического положительного решения.

Популярность неподписанного файла тоже может помочь ему накопить репутацию. Однако речь идёт об истории конкретного содержимого, а не о славе названия. Миллионы пользователей известного архиватора не делают безопасным любой файл с названием этого архиватора.

У такого подхода есть реальный недостаток. Репутационная защита создаёт дополнительные препятствия небольшим проектам и первым пользователям новых версий. При этом неизвестность опасна не сама по себе. Проблема в том, что одинаково мало сведений может быть и о честной новой утилите, и о только что собранном трояне.

Мы уже разбирали кампанию с уникальными установщиками. По описанию Microsoft, сервер раздачи менял содержимое вредоносных архивов между загрузками, из-за чего менялись и хеши. Такой приём затрудняет сопоставление образцов по одному отпечатку. Но новый хеш не делает вредонос невидимым для всех средств защиты. Антивирусы и другие защитные компоненты могут обнаружить опасный код или действия другими способами.

Поэтому я не считаю отсутствие предупреждения сертификатом качества. Репутация полезна как дополнительный сигнал, а не как окончательный ответ о безопасности.

Когда можно продолжить запуск и почему кнопки иногда нет

В обычном предупреждении SmartScreen о неопознанном приложении пункт «Подробнее» может раскрыть имя файла, издателя и кнопку «Выполнить в любом случае». Нажатие разрешает продолжить запуск вопреки предупреждению. Файл не проходит дополнительную проверку и не становится безопаснее от появления этой кнопки.

Для меня продолжить запуск после проверки допустимо, если программа действительно нужна, источник установлен, подпись и контрольная сумма соответствуют сведениям разработчика, когда такие сведения доступны, а антивирус не сообщает об угрозе. У небольшой неподписанной утилиты приходится сильнее полагаться на происхождение проекта и историю его выпусков. Остаточный риск сохраняется в обоих случаях.

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

На рабочем компьютере администратор может запретить продолжение после предупреждения SmartScreen. Тогда отсутствие кнопки предусмотрено политикой организации. Правильный следующий шаг состоит в том, чтобы передать ИТ-службе ссылку на выпуск, имя файла, его хеш и снимок сообщения. Запуск от имени администратора не служит проверкой безопасности и не является универсальным решением блокировки.

В Windows 11 дополнительно работает Smart App Control, или «Интеллектуальный контроль приложений». Механизм контролирует запуск шире, чем проверка скачанного установщика в SmartScreen. Когда облачная оценка считает приложение безопасным, запуск разрешается. При недостаточной уверенности система обращается к цифровой подписи. Неизвестная неподписанная программа может получить блокировку, хотя антивирус не обнаружил конкретного трояна.

Разница ощущается прежде всего в возможности продолжить работу. Для Smart App Control Microsoft не предлагает пользовательское исключение отдельного приложения. Поэтому искать в таком окне кнопку SmartScreen бессмысленно. Лучше запросить у разработчика корректно подписанную сборку или согласовать установку с администратором.

Проверить, какие механизмы включены, можно в приложении «Безопасность Windows», в разделе «Управление приложениями и браузером». Параметры SmartScreen находятся среди настроек защиты на основе репутации, а Smart App Control имеет отдельный раздел на поддерживаемых устройствах. Названия пунктов могут немного отличаться между сборками и языками Windows.

Ещё одна причина различий между компьютерами связана с происхождением файла. Windows и приложения могут сохранять метку загрузки из интернета, известную как Mark of the Web. Такая метка участвует в выборе защитных проверок. Способ передачи и распаковки файла влияет на сохранность метки, поэтому одинаковые байты не всегда вызывают одинаковые окна. Удаление метки через «Разблокировать» в свойствах не лечит файл, а меняет условия его обработки.

Я бы не отключал репутационную защиту ради одного установщика. Разумнее выяснить, какой компонент остановил программу, проверить конкретный выпуск и принять решение о конкретном файле. Постоянное отключение убирает предупреждения и для следующих загрузок, происхождение которых может оказаться совсем другим.

Что ещё спрашивают о блокировке программ

Почему SmartScreen предупреждает о программе с GitHub?

GitHub размещает проекты разных авторов и не превращает каждый установщик в проверенное приложение. Убедитесь, что открыли репозиторий нужного разработчика и скачали официальный выпуск. Наличие открытого исходного кода само по себе не доказывает, что готовый исполняемый файл собрали именно из опубликованного кода.

Если подождать несколько дней, предупреждение исчезнет?

Гарантии нет. Репутация зависит от накопленных сведений о файле и издателе, а не только от времени после выпуска. Ожидание не исправляет повреждённую подпись и не устраняет вредоносный код. Обещания точного срока или определённого числа загрузок не стоит принимать за универсальное правило.

Что означает сообщение «SmartScreen сейчас недоступен»?

Проверку не удалось выполнить штатно. Возможны проблемы с подключением к службе или её доступностью. Сообщение не подтверждает ни безопасность, ни заражение файла. Проверьте интернет-соединение и повторите попытку позже, сохранив обычные меры проверки источника.

Можно ли доверять программе, если VirusTotal показывает одно обнаружение?

Число обнаружений не позволяет надёжно ответить без контекста. Единичное срабатывание может оказаться ложным или первым сигналом новой угрозы. Посмотрите название детекции, свежесть отчёта, происхождение файла и объяснение разработчика. Автоматически списывать один результат на ошибку нельзя.

Нужно ли добавить программу в исключения Defender после разрешения SmartScreen?

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

Я уже нажал «Выполнить в любом случае». Компьютер заражён?

По одному нажатию определить заражение нельзя. Если программа происходила из сомнительного источника, проверьте журнал защиты и выполните полное антивирусное сканирование. При признаках кражи данных, отключения защиты или постороннего удалённого доступа отключите компьютер от сети и обратитесь за помощью. На рабочем устройстве сообщите ИТ-службе, какой файл запустили.

Мой ориентир простой. Предупреждение о неизвестном приложении требует проверки, но не доказывает заражение. Начните с источника, подписи и антивирусного результата, а затем решайте, оправдан ли запуск. Если объяснить происхождение файла не получается, нужная программа подождёт. Кнопка «Выполнить в любом случае» позволяет принять риск, но не умеет оценивать риск вместо пользователя.

SmartScreen windows 11 Microsoft Defender неизвестное приложение цифровая подпись репутация файла Smart App Control
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
Не тратьте ресурсы на реагирование на все угрозы подряд!
24 сентября в 11:00 (МСК) на бесплатном вебинаре Security Vision разберёт, как отделять релевантные угрозы от «белого шума», расставлять приоритеты и использовать Threat Intelligence для защиты на опережение.
18+. Реклама. Рекламодатель ООО «Интеллектуальная безопасность», ИНН 7719435412
Регистрируйтесь →

Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.