Какво може да е причината VirusTotal да маркира празна програма като троян?

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

  1. На какво може да се дължи това?
  2. Какво мога да направя, за да го поправя?
int main(void) {
    return 0;
}

Използвах MalwareBytes, за да сканирам компютъра си за гадни неща и не откри нищо неочаквано... и нищо не беше показано като открито в паметта на компютъра.

Резюме на изображението

Свързани: Virustotal маркира 32-битова версия на моята програма като злонамерен софтуер


person Sparky    schedule 21.02.2020    source източник
comment
Никога не съм чувал за тези две антивирусни програми. Не бих се интересувал много от това. Тези две AV програми вероятно са прекалено предпазливи.   -  person Jabberwocky    schedule 21.02.2020
comment
C или C++ е? Можех да възпроизведа това с 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 файлове преди изпращане, но подписването не дава никаква гаранция.

C++ изходен код:

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 скенери намират фалшиви положителни резултати в определени двоични файлове, а не в други, само AV компаниите знаят. AV скенерите могат да бъдат истински PITA. - person Jabberwocky; 21.02.2020
comment
@Sparky не можеш да направиш много. Компанията, за която работя, изпитва този проблем на всеки 15 месеца или така. След това се свързваме с всяка от AV компаниите (обикновено по-малко от 4) и се занимаваме с тях поотделно. Това е PITA. - 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
Вероятно това е причината. Току-що опитах няколко конфигурации, всички те се откриват от поне две AV програми, най-лошият резултат беше празна c++ програма със статично свързване (Многонишково (/MT)) и платформата Visual Studio 2019 (v142), където 16 AV откри нещо.... - person Jabberwocky; 21.02.2020
comment
@Jabberwocky Виждате ли прилика между другата програма, която свързах в коментара си тук, и вашите тестове? - person Sparky; 21.02.2020
comment
@Sparky не, това не са същите AVs, които се задействаха при моите тестове. - person Jabberwocky; 21.02.2020
comment
@Jabberwocky Промяната между опциите за вграждане на /MD и /MT Runtime Library също променя откриването от различен антивирусен софтуер. - person Sparky; 23.02.2020