Что может быть причиной того, что VirusTotal помечает пустую программу как троян?

В Visual Studio я делаю новый пустой проект, даю ему файл .c и помещаю в него только это, затем компилирую для x86 с оптимизациями, и VirusTotal помечает его как троян.

  1. Что может быть причиной этого?
  2. Что я могу сделать, чтобы это исправить?
int main(void) {
    return 0;
}

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

Обзор изображения

Связано: Virustotal помечает 32-разрядную версию моей программы как вредоносное ПО


person Sparky    schedule 21.02.2020    source источник
comment
Я никогда не слышал об этих двух антивирусных программах. Я бы не слишком заботился об этом. Эти две антивирусные программы, вероятно, слишком осторожны.   -  person Jabberwocky    schedule 21.02.2020
comment
Это С или С++? Я мог воспроизвести это с помощью C, но это вызвало не Jangmin, а Cylance.   -  person Jabberwocky    schedule 21.02.2020
comment
@Jabberwocky Plain C. Это пустой проект C++, но это файл .c, поэтому он будет компилироваться как C. Возможно, это мошенническая DLL в файлах языка C или во время выполнения?   -  person Sparky    schedule 21.02.2020
comment
Часто антивирус срабатывает, если исполняемый файл не подписан, так что это может быть одной из причин, почему?   -  person Toothless204    schedule 21.02.2020
comment
@Toothless204 это правда, см. мой ответ ниже   -  person Jabberwocky    schedule 21.02.2020
comment
@Sparky Это пустой проект C++, но это файл .c, поэтому он будет скомпилирован как C Но тогда он, вероятно, связан как исполняемый файл C++, поэтому он будет перетаскивать библиотеки времени выполнения C++.   -  person Andrew Henle    schedule 21.02.2020
comment
@AndrewHenle на самом деле с Visual Studio 2019 даже невозможно создать проект C, только проекты C++.   -  person Jabberwocky    schedule 21.02.2020
comment
@AndrewHenle У него есть этот символ @__security_check_cookie@4 и другие вещи, которых я раньше не видел. Я предполагаю, что они связаны со связанными библиотеками, потому что, когда я использую /NODEFAULTLIB, он выдает ошибки, говорящие о том, что внешний символ и внешний символ _mainCRTStartup не распознаны.   -  person Sparky    schedule 21.02.2020
comment
@Jabberwocky Я использую Visual Studio 2017. Я предполагаю, что дело также в 2017 году, как вы упомянули, в 2019 году. Сейчас меня интересует только сборка моего программного обеспечения для Windows, но я возьму то, что узнал отсюда, и применить его к сборкам для других операционных систем.   -  person Sparky    schedule 21.02.2020


Ответы (2)


Вирусные сканеры ищут всевозможные шаблоны, поведение и другие вещи в коде.

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

Я только что отправил точно такой же .exe на Virustotal, один раз подписанный, другой неподписанный.

Подписанная версия инициировала 2 обращения, неподписанная версия инициирует 16 обращений.

Я бы не слишком заботился об этом. Но если вы пишете профессиональное программное обеспечение, вам обязательно следует подписывать все файлы .exe и .dll перед отправкой, но подписание не дает никаких гарантий.

Исходный код С++:

int main()
{
}
  • Скомпилировано с Visual Studio 2019 16.4.3 в режиме выпуска
  • Свойства конфигурации->C/C++->Библиотека времени выполнения: многопоточная (/MT)
  • Свойства конфигурации-> Общие-> Набор инструментов платформы: Visual Studio 2019 (v142)
  • Свойства конфигурации-> Общие-> Версия Windows SDK: 10.0.17134.0
person Jabberwocky    schedule 21.02.2020
comment
Не могли бы вы пояснить, как существуют (32-разрядные) программы, которые не помечаются как вирусы, если есть программы, которые ничего не делают и которые помечаются как вирус? Должен ли я просто игнорировать эти конкретные антивирусные сканеры, или я должен что-то делать, кроме подписи своего программного обеспечения, которое пройдет тест с 0 обнаружениями? Учитывая, что у вас были другие сканеры, отличные от моего, я думаю, что упустить это из виду проблематично. Я просто не знаю, что делают в этой ситуации профессиональные издатели программного обеспечения. - person Sparky; 21.02.2020
comment
@Sparky, как я уже писал в своем ответе, подписание ваших двоичных файлов снижает вероятность того, что какой-либо антивирусный сканер обнаружит ложное срабатывание, но нет никакой гарантии. Не спрашивайте меня, почему некоторые антивирусные сканеры обнаруживают ложные срабатывания в одних двоичных файлах, а в других нет, это знают только антивирусные компании. AV-сканеры могут быть настоящим PITA. - person Jabberwocky; 21.02.2020
comment
@Спарки, ты мало что можешь сделать. Компания, в которой я работаю, сталкивается с этой проблемой каждые 15 месяцев или около того. Затем мы связываемся с каждой из AV-компаний (обычно менее 4) и работаем с ними индивидуально. Это ПИТА. - person Jabberwocky; 21.02.2020
comment
Проблема в том, что я должен принимать их с меньшим количеством соли, чем я уже делаю. Я проходил мимо, 3 или более обнаружения означают, что будьте осторожны, но, глядя на наши тесты здесь ... Я думаю, что публикация хэша SHA-256 - это все, что я действительно могу сделать в противном случае. - person Sparky; 21.02.2020

Современные антивирусные сканеры ищут необычные программы. Большинство программ что-то делают. Ваш ничего не делает, что делает его необычным. Добавьте немного кода.

person MSalters    schedule 21.02.2020
comment
У меня такая же проблема с безобидной программой, которая действительно что-то делает. Я попробовал программу, которая ничего не делает, и вот мы здесь. Другая программа: virustotal.com/gui/file/ Я посмотрел файл . exe в IDA Freeware, но я в недоумении; основная функция ничего не делает, кроме остального, я не знаю, как расшифровать. - person Sparky; 21.02.2020
comment
Это, вероятно, причина. Я только что попробовал несколько конфигураций, все они обнаруживаются как минимум двумя антивирусными программами, худшим результатом была пустая программа на c++ со статической линковкой (многопоточность (/MT)) и платформа Visual Studio 2019 (v142), где 16 AV что-то зафиксировал.... - person Jabberwocky; 21.02.2020
comment
@Jabberwocky Видите ли вы сходство между другой программой, на которую я ссылался в своем комментарии здесь, и вашими тестами? - person Sparky; 21.02.2020
comment
@Sparky нет, это не те AV, которые сработали в моих тестах. - person Jabberwocky; 21.02.2020
comment
@Jabberwocky Переключение между параметрами встраивания библиотеки времени выполнения /MD и /MT также изменяет обнаружение другим антивирусным программным обеспечением. - person Sparky; 23.02.2020