Подтвердить что ты не робот

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

Я видел, что это происходит довольно часто: я пишу приложение в Delphi, и когда я его компилирую, вирус-сканер сообщает мне, что я создал вирус, а затем сразу же удаляет исполняемый файл. Это раздражает, но разумно легко исправить, выполнив полную перестройку, сначала удалив файлы *.dcu, а иногда просто ожидая.

Это происходит с Delphi 6, 7, 2005 и 2007, насколько я знаю. И Symantec, Kaspersky, McAfee и NOD32 все были виновны в сообщении этих ложных срабатываний. Я знаю это, потому что Delphi добавляет временные метки к своим файлам DCU, и эти временные метки заканчиваются в конечном исполняемом файле и, по-видимому, являются частью некоторой случайной сигнатуры вируса.

Я не хочу отключать вирус-сканер, даже не для одной папки или файла. И я на самом деле не для решения, но мне интересно следующее:

  • Имеют ли эти ложные срабатывания другие компиляторы?
  • Это также происходит с исполняемыми файлами .NET?
  • Другие также замечают похожие проблемы с Delphi?
4b9b3361

Ответ 1

Имеются ли эти ложные срабатывания с другими компиляторами?

Да, это была распространенная проблема в прошлом для AutoIt, как описано в этом форуме post "Действительно ли мои файлы AutoIt EXE действительно заражены?" . В большинстве случаев, включая AutoIt, это связано с плохими эвристическими практиками. Поскольку AutoIt использует бесплатный и открытый UPX компрессор часто ошибочно принимается за вредоносный код, который также использует UPX.

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

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

Оказывается, есть большой список программного обеспечения AV в википедии, называемый 'Список антивирусных программ. Это более полно, чем мой список выше.

Участник форумов Autoit сделал отличный script, чтобы отправить ложное сообщение большому списку поставщиков AV для автоматизации этот процесс немного.

Ответ 2

Звучит скорее как эвристическая шумиха для меня. У вас включена эвристика (некоторые сканеры могут ссылаться на нее как на "вирусный код" )? Шансы, что отметки времени будут равняться "части некоторой сигнатуры вируса", кажутся слишком маленькими, чтобы все время происходить.

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

Ответ 4

Да, моя команда испытала это, возможно, полдюжины раз в 2-3 года с Sophos в корпоративной среде. Итак, очень редко, но это происходит.

Наш IT-кретин начал требовать, чтобы я просмотрел все 1.5M-строки кода в нашем приложении, чтобы "заставить его уйти", но он не слишком затягивал эту линию...

Справедливости ради следует сказать, что он изначально был обеспокоен тем, что наши клиенты также могут получить такое предупреждение, но мы только когда-либо видели его срабатывание при создании exe из среды IDE на компьютере разработчика, никогда в выпуске exe exe на тестового окна или в другом месте.

Лично это случается так редко, что мы не беспокоимся об этом.

Ответ 5

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

Ответ 6

Это не так уж редко встречается при использовании нестандартных компиляторов или при создании необычных низкоуровневых материалов: я помню создание ложных срабатываний, когда я занимался разработкой ОС: AntiVir не нравился некоторые из моих плоских двоичных файлов.

В последнее время сообщение о такой проблеме появилось в списке рассылки tinyCC, сохраняющем AVG.

Ответ 7

Я никогда не видел этого, выполнив большую часть разработки на С++ и .NET с помощью Visual Studio (начиная с версии от 1.5 до 2010).

Ответ 8

Я видел это только с ассемблерами. Например, MASM32 фактически предупреждает людей о том, что он может запускать антивирусные сканеры, так как EXE настолько малы (и/или некоторые вирусы написаны в монтаж). Мой сканер McAfee помешал некоторые из примеров программ как вирусы.

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

Ответ 9

В некоторых приложениях, если я использую RtlVclOptimize.pas, антивирус Avira сообщает, что я создал вирус.

Ответ 10

плюс к тому, что говорят другие, современные антивирусные программы повышают уровень вирусов, если ваши программы также используют некоторые "подозрительные" API (например, URLdownloadFile или другие связанные с API привязки). если вы используете Google delphi RAT FUD API undetectable, вы найдете много интересных тем.

Ответ 11

Некоторые антивирусные программы даже обозначают пакетный файл как вирус и не могут быть уверены, что это не так. Довольно раздражает, если этот файл является частью библиотеки сторонних разработчиков, и вирусное предупреждение запускается каждый раз, когда TortoiseSVN проверяет его. Я закончил отключать антивирусный сканер, удаляя файл и совершая фиксацию. (Без отключения сканера я даже не мог этого сделать:-()

Ответ 12

Несколько лет назад, каждый раз, когда мы обновляли GNU Linker из источников mingw и начали распространять его вместе с нашим компилятором, мы получили несколько сообщений о том, что vivusscanners классифицировал ld.exe как вирус. (.exes writing.exes...)

Ответ 13

Я бы не назвал это "ложным положительным", потому что, строго говоря, это неверно, и антивирусное программное обеспечение никоим образом не "виновато".

Я на 99% уверен, что это эвристический анализ, действующий (я уверен, он обнаруживает ваш исполняемый файл как нечто вроде строк win32.virus.generic - обратите внимание на общий, это знак, что это не его подпись db, а скорее была обнаружена эвристикой), и, будучи эвристикой и всеми, она не дает вам никакой гарантии, что все, что она находит, является злонамеренным, это просто объясняет вам, что исполняемый файл подозрительно с его точки зрения.

Самое простое решение для этого - просто добавить исключение для своего файла по имени (это всегда одно и то же имя, правильно?). Если вам неудобно, вы должны, вероятно, сделать свое антивирусное программное обеспечение, прежде чем предпринимать действия, чтобы вы могли пропустить файл вручную.

В общем, я обнаружил, что кодирование в окнах с антивирусным программным обеспечением несколько раздражает (не делайте этого много в наши дни, но все же), особенно если указанное программное обеспечение находится в "параноидальном режиме". Раздражающее, хотя и оно, неизбежно (IMO).

Ответ 14

Это случилось со мной. Крюковая клавиатура будет запускать почти любое эвристическое программное обеспечение для сканирования AV-сообщений для записи регистратора ключей. Есть, вероятно, много других системных вызовов, которые тоже вызовут его. Решение. Попробуйте переконфигурировать ваш код или связаться с производителем AV, чтобы включить ваше программное обеспечение в список исключений.

Ответ 15

Я помню еще один странный:

Файл помечен как подозрительный. Единственное, что файл был .OBJ! Файл .EXE, содержащий код, содержавшийся .OBJ, не считался проблемой.

Ответ 16

Если у вас есть проблемы с ложными срабатываниями, существует VirusTotal онлайн-сервис, который поможет вам проверить ваш файл против количества антивирусных ядер.
Это бесплатный сервис, и в настоящее время он может запускать антивирусную проверку почти с 40 антивирусными ядрами.

Ответ 17

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

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

Ответ 18

VS Platform toolset 2010 отображает мою простую программу как вирус. Изменение инструментария на VS 2013 решает его.

Он просто создает HttpWebRequest и записывает результат в файл.