10. Приложение Windows: ложное обнаружение blunderDB как вредоносного программного обеспечения
Примечание
Следующее относится к операционным системам Windows 10 и 11.
В настоящее время Windows требует от компаний-разработчиков или независимых разработчиков программного обеспечения цифровой сертификации своих приложений либо их распространения через Windows Store. В связи с этим рекомендуется обращаться к сторонним компаниям для получения цифрового сертификата стоимостью несколько сотен евро (см., например, https://learn.microsoft.com/en-us/archive/blogs/ie_fr/certificats-de-signature-de-code-ev-extended-validation-et-microsoft-smartscreen).
Поскольку я распространяю blunderDB бесплатно, я не хочу прибегать к этим дорогостоящим возможностям. Был изучен бесплатный путь, предназначенный для программного обеспечения с открытым исходным кодом (SignPath Foundation, https://signpath.org/), но заявка не была одобрена; поэтому двоичные файлы Windows не имеют цифровой подписи. Поэтому весьма вероятно, что Windows предупредит вас о потенциальной угрозе или даже полностью заблокирует запуск blunderDB. В следующих разделах описаны действия для обхода предупреждений Windows, а также как проверить целостность загруженного двоичного файла.
10.1. Предупреждение Windows SmartScreen
После загрузки blunderDB при его запуске Windows может отобразить предупреждение вида
Если вы хотите разрешить запуск конкретного исполняемого файла, заблокированного SmartScreen:
Попробуйте запустить исполняемый файл:
При попытке запустить исполняемый файл SmartScreen может заблокировать его и отобразить предупреждение.
Нажмите «Подробнее»:
В окне предупреждения SmartScreen нажмите Подробнее.
Выберите «Выполнить в любом случае»:
Если вы доверяете исполняемому файлу, нажмите Выполнить в любом случае, чтобы обойти предупреждение SmartScreen для данного случая.
10.2. Блокировка Windows Defender
При некоторых настройках безопасности Windows даже после разблокировки SmartScreen (см. предыдущий раздел) Windows Defender может заблокировать запуск blunderDB с сообщениями вида
или
или даже поместить его в карантин.
Windows Defender известен случаями ложноположительных срабатываний. Эта проблема явно упоминается в FAQ на официальном сайте Golang (https://go.dev/doc/faq#virus) или в тикетах GitHub некоторых проектов на Go (https://github.com/golang/vscode-go/issues/3182).
Если вы хотите запретить Безопасности Windows анализировать blunderDB:
Откройте Безопасность Windows:
Нажмите Пуск и введите Безопасность Windows.
Перейдите в «Защита от вирусов и угроз»:
Нажмите Защита от вирусов и угроз.
Управление параметрами:
Прокрутите вниз и нажмите Управление параметрами в разделе «Параметры защиты от вирусов и угроз».
Добавьте или удалите исключения:
Прокрутите до раздела Исключения и нажмите Добавить или удалить исключения.
Добавьте исключение:
Нажмите Добавить исключение и выберите Файл. Затем перейдите к исполняемому файлу, который вы хотите исключить, и выберите его.
10.3. Проверка целостности загрузки (SHA256)
Каждый бинарный файл, опубликованный на странице releases, сопровождается файлом .sha256, содержащим его криптографический отпечаток. Проверка этого отпечатка позволяет убедиться, что загруженный файл подлинный и не был изменён, что является полезной гарантией при отсутствии подписи кода.
В Windows (PowerShell), в папке загрузок:
Get-FileHash .\blunderDB-windows-<version>.exe -Algorithm SHA256
Сравните отображаемое значение со значением из файла blunderDB-windows-<version>.exe.sha256. Они должны быть идентичны.
В Linux или macOS:
sha256sum -c blunderDB-linux-<version>.sha256 # Linux
shasum -a 256 -c blunderDB-macos-<version>.zip.sha256 # macOS