Как предотвратить ложное срабатывание вируса в моем программном обеспечении?

Возможный дубликат:
ложное срабатывание антивируса в моем исполняемом файле < / а>

До сих пор у меня было более 15 ложных срабатываний вирусов для моих программ. Большинство из них были от «Лаборатории Касперского», который ВСЕГДА сообщает об одном и том же вирусе: Trojan-GameThief.Win32.Lmir.pcd. Есть 3 вопроса:

  1. Почему появляется?
  2. Как это предотвратить?
  3. Как это обнаружить?

Что касается первого вопроса, поскольку он всегда обнаруживает один и тот же вирус, я предполагаю, что это из-за одной из моих подпрограмм, которую я использую во всех своих программах. Но какой именно, я не знаю. Что касается второго вопроса, я думал о том, чтобы немного изменить программу и перекомпилировать ее, достаточно, чтобы изменить ее код, чтобы антивирус больше не распознал его и выпустил новую версию. Третий вопрос - самый сложный. Как проверить ВСЕ мои программы на ВСЕХ антивирусных программах в мире?


Обновление:
Кто-нибудь знает, как решить эту проблему на законных основаниях? Похоже, что у многих разработчиков Delphi такая же проблема. Безрассудные антивирусные компании зарабатывают нам на спине, показывая множество ложных срабатываний тревог, заставляя своих клиентов думать, что они в безопасности, хотя на самом деле опасности не было. Пока мы теряем клиентов - они делают клиентов. Я проинформировал антивирусную компанию о проблеме, но они исправляют ее только для этой конкретной версии. В следующий раз, когда я выпущу обновление, ложная тревога снова появится. Им просто все равно.

Многие честные разработчики сталкиваются с проблемами из-за неосторожного обращения с антивирусами. См. Также: Как предотвратить ложное срабатывание вируса на мое программное обеспечение?

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

Обновление 2017 г.
* На прошлой неделе коэффициент обнаружения моей программы на VirusTotal составил около 50%. Я удалил одну строчку кода и волшебным образом обнаружение упало до 2 из 61 (антивирусы). Удивительно, насколько беспорядочно ведут себя эти антивирусные продукты.
* Обнаружение НАМНОГО выше, когда программа скомпилирована в «режиме выпуска» (с оптимизацией компилятора), чем когда она скомпилирована в «режиме отладки».
* Обнаружение неба ракеты при использовании EurekaLog.

Обновление 2019
Это произошло почти 9 лет спустя и не намного улучшилось.
К сожалению, InnoSetup также не обошел стороной. Я создал фиктивный установщик с InnoSetup и

Вывод:

  • В конце дня загрузите ваш exe-файл на VirusTotal. Если коэффициент обнаружения внезапно подскакивает, просмотрите изменения, которые вы внесли в свой код, и удалите «вредные».
  • Используйте WinRar 3 в качестве установщика. Он вызывает меньше флагов, чем WinRar 5 или InnoSetup.

person Z80    schedule 21.11.2010    source источник
comment
Хотя это действительно раздражает, AV-компании обычно не предназначены специально для того, чтобы вызывать ложные срабатывания с конкретной целью - заставить себя выглядеть лучше, чем у конкурентов; во всяком случае, от этого они будут выглядеть хуже, потому что это делает их AV который плакал волк. Проблема просто в том, что многие из них чрезмерно усердны при анализе программ, с которыми они не знакомы (и, следовательно, имеют тенденцию обнаруживать больше ложных срабатываний), что часто включает программы, которые вы компилируете самостоятельно.   -  person Justin Time - Reinstate Monica    schedule 26.12.2016
comment
Верно, но если он выдает подобные сообщения слишком часто или для программ, для которых другие антивирусные программы ничего не обнаруживают (особенно если в документации к программе или в FAQ явно указано, что эта конкретная антивирусная программа дает ложное срабатывание), люди начнут с подозрением относиться к программе AV.   -  person Justin Time - Reinstate Monica    schedule 03.01.2017
comment
Мне помогло: 1) отключить оптимизацию, 2) запаковать exe с помощью upx.exe   -  person Pavel Jiri Strnad    schedule 13.08.2017


Ответы (2)


Во-первых, убедитесь, что у вас нет вируса Win32.Induc delphi, который изменяет SysConst.dcu таким образом, что компилируемые вами приложения будут заражены.

  1. Используйте №3, чтобы сузить круг вопросов, которые в вашем коде вызывают ложные срабатывания. Вызовы API, изменяющие память процесса, запускают эвристические сканеры. Даже включение имен некоторых функций API (таких как WriteProcessMemory) вызовет запуск сканера. Внесите изменения в тестовое приложение и отправьте на № 3, пока не сузите проблему. Если вы используете упаковщик, то программа AV, вероятно, все равно распакует его, но протестируйте с упаковкой и без нее.

  2. Будет зависеть от №1.

  3. Virustotal используется разработчиками вирусов для проверки того, что их вирус не обнаружен, поэтому Virustotal отправит любой тестовый файл специалистам по антивирусам для анализа. Раньше была возможность отключить это, но несколько лет назад ее убрали. Это может усугубить вашу проблему, если вы отправите заявку несколько раз, поэтому я бы рекомендовал использовать http://virusscan.jotti.org/ для первоначального тестирования.

person user478955    schedule 21.11.2010
comment
Собственно, jotti.org отправляет отправленные файлы и AV-компаниям. Я не думаю, что это большая проблема, поэтому, возможно, используйте virustotal, поскольку он имеет наибольшее количество антивирусных движков (43 против 20 нечетных для jotti). - person user478955; 21.11.2010
comment
Нет. У меня нет Win32.Induc. Мне надоели эти антивирусные компании, которые обвиняют невинных разработчиков программного обеспечения только для того, чтобы убедиться, что они получают как можно больше сигналов тревоги (независимо от того, хорошие они или ложные). - person Z80; 22.11.2010

3-й вопрос: существует веб-сайт под названием вирусный итог, который сканирует файлы с помощью множества антивирусных движков. У них есть api, так что вы можете сделать это частью процесса сборки.

также могут помочь некоторые похожие вопросы:

Ложное срабатывание антивируса в моем исполняемом файле

Вирус в Delphi 7

https://stackoverflow.com/questions/3534050/my-software-is-not-a-virus-what-should-i-do (Снимок удаленного вопроса)

Случайно создали вирус?

person Colin Pickard    schedule 21.11.2010
comment
Постарайтесь включить информацию о версии в свое программное обеспечение, это может повысить его юридический авторитет! - person Kachwahed; 13.06.2011
comment
статья «Исправить антивирусное обнаружение моего программного обеспечения» была полезна, но модератор Stackoverflow в своей бесконечной мудрости удалил ее. - person Z80; 29.07.2019
comment
@Rigel Я добавил скриншот. Я не согласен с удалением и пометил его, но печальная правда в том, что сегодня StackOverflow таков. Быть модератором - трудная и неблагодарная задача, усложняющаяся общим упадком сайта: meta.stackoverflow.com/questions/386324/ - person Colin Pickard; 29.07.2019
comment
Еще одна ХОРОШАЯ статья об упадке SO: hackernoon.com/the-decline- of-stack-overflow-7cb69faa575d и hackernoon.com/ - person Z80; 30.07.2019