Информационная безопасность, Разработка ПО, VirusTotal, Гайд, Reverse Engineering

Привет, Хабр!

Вы — разработчик. Вы ночами не спали, пили литры кофе, писали чистый и элегантный код. И вот, ваше детище — полезная утилита, инди-игра или хитрый скрипт для автоматизации — готово. Вы с гордостью выкладываете его на сайт, делитесь с друзьями, и тут... в чат прилетает сообщение: «Эй, а твой экзешник — троян! VirusTotal ругается».

Знакомая боль? Если вы пишете под Windows, особенно на языках вроде AutoIt, Python (с PyInstaller), Go или используете коммерческие протекторы, то наверняка сталкивались с этой несправедливостью. Ваш абсолютно легитимный софт помечается красным флажком из-за эвристики, слишком "подозрительного" поведения или просто потому, что звёзды так сошлись.

Это называется ложное срабатывание, или False Positive (FP). И это не просто обидно. Это бьет по репутации, отпугивает пользователей и может похоронить ваш проект.

Сегодня мы разберем, что с этим делать. Как не просто смириться, а дать бой, доказать невиновность своей программы и помочь антивирусным вендорам стать немного умнее.

Шаг 0: Убедитесь, что это действительно False Positive

Прежде чем стучать кулаком по столу и кричать о несправедливости, давайте наденем шляпу параноика. А вы уверены, что ваш код чист?

  1. Проверьте сборочную среду. Не мог ли вирус заразить ваш компьютер и внедрить свой код в билд на этапе компиляции? Это редкий, но возможный сценарий (вспомним атаку на Xcode).

  2. Проверьте зависимости. Все ли библиотеки, которые вы используете, из надежных источников? Возможно, одна из них была скомпрометирована.

  3. Изучите отчет на VirusTotal. Не ограничивайтесь вкладкой Detection. Зайдите во вкладку Behavior. Что ваша программа делает при запуске в песочнице? Не лезет ли она на странные IP? Не создает ли подозрительные файлы? Если поведение выглядит странным, возможно, проблема глубже, чем кажется.

Убедились, что всё чисто? Отлично. Переходим к активным действиям.

Шаг 1: Идентификация "виновных"

Откройте отчет VirusTotal. Нам нужен список антивирусных движков, которые подняли тревогу. Не нужно писать всем 70+ вендорам. Сосредоточьтесь на:

  • Лидерах рынка: Kaspersky, Dr.Web, ESET, Bitdefender, Avast, McAfee, Microsoft, Symantec. Именно их вердикты наиболее важны для большинства пользователей.

  • Движках, дающих конкретное имя угрозы: Если какой-то антивирус пишет не просто Generic.Trojan, а что-то более конкретное (например, Packed.PyInstaller.Gen), это может дать подсказку о причине срабатывания.

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

Шаг 2: Ищем "лабораторию" для отправки образцов

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

Ниже приведен список контактов для самых популярных вендоров. Не забудьте заархивировать ваш файл с паролем infected или virus перед отправкой!

Вендор

Предпочтительный способ (Форма)

Email (если нет формы или для доп. связи)

Microsoft

Microsoft Security Intelligence

submit@microsoft.com

Kaspersky

Kaspersky Threat Intelligence Portal

newvirus@kaspersky.com

Dr.Web

Форма для репорта

vms@drweb.com

ESET

Submit a sample for analysis

samples@eset.com

Avast

Submit a file sample (FP)

submit@avast.com (для вирусов, но можно попробовать)

AVG

Submit a file sample (FP)

(используют общую с Avast инфраструктуру)

Bitdefender

Submit a False Positive

(предпочитают только формы)

McAfee

Sample Submission Form

virus_research@avertlabs.com

Symantec/Broadcom

Submission Form

(предпочитают только формы)

Trend Micro

Submit a Sample

(предпочитают только формы)

Comodo

Submit a Sample

files@avlab.comodo.com

Malwarebytes

Support Form (FP)

research@malwarebytes.com

Sophos

SophosLabs Sample Submission

samples@sophos.com

G-Data

Submission Form

(предпочитают только формы)


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

Группа 1: Основные игроки (Must Contact)

Это самые популярные и влиятельные антивирусы. Если у вас ложное срабатывание, в первую очередь пишите им.

Вендор

Предпочтительный способ (Форма)

Email (альтернатива)

Microsoft

Microsoft Security Intelligence

submit@microsoft.com

Kaspersky

Kaspersky Threat Intelligence Portal

newvirus@kaspersky.com

Dr.Web

Форма для репорта

vms@drweb.com

ESET

Submit a sample for analysis

samples@eset.com

Avast

Submit a file sample (FP)

submit@avast.com

AVG

Submit a file sample (FP)

(общая инфраструктура с Avast)

Bitdefender

Submit a False Positive

(предпочитают только формы)

McAfee

Sample Submission Form

virus_research@avertlabs.com

Symantec/Broadcom

Submission Form

(предпочитают только формы)

Malwarebytes

Support Form (FP)

research@malwarebytes.com

Google

(см. примечание 1)

(см. примечание 1)

ClamAV

Официальная инструкция

false-positives@clamav.net


Группа 2: Другие важные и отзывчивые вендоры

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

Вендор

Предпочтительный способ (Форма)

Email (альтернатива)

Acronis

Форма техподдержки (указать FP в теме)

(предпочитают только формы)

AhnLab (Южная Корея)

ASEC Report Center

(предпочитают только формы)

Comodo/Xcitium

Submit a Sample

files@avlab.comodo.com

CrowdStrike

Support Portal (см. примечание 2)

support@crowdstrike.com

Cynet

Support Portal (см. примечание 2)

support@cynet.com

F-Secure

Submit a sample

sample@f-secure.com

G-Data

Submission Form (через FAQ)

(предпочитают только формы)

Panda Security

Submit a sample

(предпочитают только формы)

SentinelOne

Support Portal (см. примечание 2)

support@sentinelone.com

Sophos

SophosLabs Sample Submission

samples@sophos.com

Trend Micro

Submit a Sample

(предпочитают только формы)

Vipre

Submit a Sample

(предпочитают только формы)

Webroot

Support Form

(предпочитают только формы)

ZoneAlarm

Submit a Sample

(используют движок Check Point)


Группа 3: Региональные, OEM и B2B вендоры (сложные случаи)

Найти прямые контакты для этих вендоров крайне сложно. Часто у них нет публичных форм для репортов от сторонних разработчиков. В 99% случаев вам не нужно с ними связываться.

Вендор

Статус и комментарий

Alibaba

B2B/Cloud. Нет публичной формы для FP.

Arcabit

Польский вендор. Есть форма, но требует польского языка.

Avira

Интегрирован в другие продукты (Gen Digital). Используйте формы Avast/AVG.

Baidu

Китайский вендор. Нет публичной международной формы.

Bkav

Вьетнамский вендор. Форма на вьетнамском. Bkav@bkav.com.vn.

Cylance

Теперь часть BlackBerry. B2B, требует портала клиента.

Cyren

Компания прекратила деятельность. Движок может быть устаревшим.

Emsisoft

Используют движки Bitdefender/других. Рекомендуют писать вендору-источнику.

eScan

Индийский вендор. samples@escanav.com.

Fortinet

B2B. Требует портала клиента. submitvirus@fortinet.com (для вирусов).

Gridinsoft

support@gridinsoft.com.

Ikarus

Австрийский вендор. virus.submission@ikarus.at.

Jiangmin

Китайский вендор. Нет публичной международной формы.

K7

Индийский вендор. avlab@k7computing.com.

Kingsoft

Китайский вендор. Нет публичной международной формы.

Lionic

Тайваньский вендор. support@lionic.com.

MAX

Вероятно, MaxSecure. Индийский вендор. research@maxpcsecure.com.

NANO-Antivirus

Российский вендор. support@nanoav.ru.

Palo Alto Networks

B2B. Требует портала клиента.

Qihoo-360

Китайский вендор. Нет публичной международной формы.

Rising

Китайский вендор. Нет публичной международной формы.

Sangfor

B2B. Нет публичной формы.

Scantool

Часто это кастомные или внутренние сканеры. Нет публичных контактов.

SecureAge

Сингапурский вендор. Используют универсальный движок. support@secureage.com.

SUPERAntiSpyware

samples@superantispyware.com.

Tencent

Китайский вендор. Нет публичной международной формы.

Tesk

Турецкий вендор. destek@tesk.com.tr.

Trustlook

support@trustlook.com.

Varist

Иранский вендор. support@varist.com.

ViRobot

Корейский вендор. Нет публичной международной формы.

Yandex

(см. примечание 3)

Zillya

Украинский вендор. support@zillya.com.

Zoner

Чешский вендор. podpora@zoner.cz.

Примечания:

  1. Google: Движок "Google" на VirusTotal — это их собственные технологии, в первую очередь Google Safe Browsing. Если ваш сайт или файл блокируется как опасный, вы должны использовать Google Search Console для запроса пересмотра. Прямого email для репорта о FP для файлов не существует.

  2. B2B / Enterprise вендоры (CrowdStrike, SentinelOne, Cynet и др.): Эти компании в основном работают с корпоративными клиентами. У них нет публичных форм для сторонних разработчиков. Их клиенты могут сообщать о ложных срабатываниях через свои личные кабинеты (порталы поддержки). Прямое обращение по email, скорее всего, будет проигнорировано.

  3. Yandex: Как и Google, Yandex использует свои технологии Safe Browsing. Если проблема с сайтом, используйте Яндекс.Вебмастер. Если проблема с файлом, который блокируется Яндекс.Браузером, репорт нужно отправлять через интерфейс самого браузера.

Примечание: ссылки и адреса актуальны на момент написания статьи, но вендоры могут их изменять. Если ссылка не работает, воспользуйтесь поиском по ключевым словам: "[Vendor Name] false positive report".

Шаг 3: Составляем грамотный репорт

Это самый важный шаг. Недостаточно просто кинуть файл со словами «Это не вирус!». Чем больше информации вы предоставите аналитикам, тем быстрее они разберутся и внесут изменения в свои базы.

Что обязательно нужно указать в форме/письме:

  1. Тип запроса: Четко укажите, что это "False Positive" или "Incorrect Detection".

  2. Файл: Прикрепите саму программу. Лучше всего заархивировать ее с паролем infected или virus (это стандартная практика, чтобы почтовые фильтры не удалили ваше вложение). Пароль укажите в тексте сообщения.

  3. Ссылка на VirusTotal: Обязательно приложите ссылку на отчет о проверке вашего файла. Это сэкономит аналитику кучу времени.

  4. Описание программы: Кратко, на английском языке (это международный стандарт для таких репортов), опишите, что делает ваша программа.

    • Good example: "This is a utility for batch renaming image files based on EXIF data. It does not make any network connections or modify system files."

    • Bad example: "My program."

  5. Шаги для воспроизведения (если нужно): Если программа требует каких-то особых действий для запуска, опишите их.

  6. Контактная информация: Укажите ваш email, чтобы получить ответ.

Пример "идеального" сообщения (на английском):

Subject: False Positive Report for [Your Program Name]

Hello,

I am the developer of [Your Program Name], a legitimate software application.

It has been incorrectly detected as malicious by your antivirus engine. I believe this is a false positive.

Program Name: [Your Program Name] v1.2
Program Description: A free utility that helps users organize their desktop icons into custom layouts. It is written in C++ and does not contain any adware or malicious code.

VirusTotal Report Link: [https://www.virustotal.com/gui/file/ваша-длинная-ссылка-на-отчет]

The application is attached in a password-protected zip file.
Password: infected

Could you please analyze the file and correct the detection in your next signature update?

Thank you for your time.

Best regards,
[Your Name/Nickname]
[Link to your website/GitHub repository, if available]

Ссылка на GitHub-репозиторий с исходным кодом — это огромный плюс к доверию.

Шаг 4: Терпение и ожидание

Отправили репорты? Теперь ждем. Реакция может занять от нескольких часов до нескольких недель. Некоторые вендоры отвечают автоматически, другие присылают ответ от живого аналитика.

Периодически нажимайте кнопку "Reanalyze" на странице отчета VirusTotal. Вы увидите, как счетчик детектов постепенно пойдет на спад по мере того, как вендоры будут обновлять свои базы.

Превентивные меры: как снизить вероятность FP в будущем

Полностью избавиться от ложных срабатываний невозможно, но можно значительно снизить их вероятность.

  • Цифровая подпись (Code Signing): Это самый эффективный способ. Покупка сертификата для подписи кода (Code Signing Certificate) стоит денег, но это мгновенно повышает уровень доверия к вашему приложению. Подписанные файлы гораздо реже вызывают подозрения у эвристических анализаторов.

  • Избегайте "агрессивных" упаковщиков/протекторов: Программы вроде Themida или VMProtect, хоть и защищают ваш код, являются красной тряпкой для антивирусов, так как их же используют и создатели вредоносов.

  • Чистые установщики: Не используйте инсталляторы, которые пытаются "в нагрузку" установить рекламные модули, тулбары или изменить домашнюю страницу браузера. Это верный путь к вердикту PUA (Potentially Unwanted Application).

  • Поддерживайте "белый" профиль: Если у вас есть сайт, ведите его аккуратно, используйте HTTPS. Хорошая репутация домена также влияет на доверие.

Заключение

Борьба с False Positives — это не спринт, а марафон. Это часть работы современного разработчика, особенно в мире инди-софта. Не опускайте руки после первого же красного вердикта.

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

Удачи в борьбе за справедливость! Поделитесь в комментариях своими историями успеха (или провала) в этом нелегком деле.

Комментарии (2)


  1. orekh
    03.10.2025 10:58

    Узнаю стиль ЧатГПТ


    1. EvgeniyRasyuk Автор
      03.10.2025 10:58

      Не корысти ради / а ради помощи коллегам , что бы не паниковали