Как антивирусные программы конфликтуют друг с другом?

59

Меня учили, что я никогда не должен устанавливать два антивирусных (AV) ПО вместе, потому что они будут конфликтовать. Даже Защитник Windows (начиная с Windows 8) отключается при обнаружении другого программного обеспечения AV.

Мне любопытно, как двое могут конфликтовать. Единственный сценарий, который я могу сейчас выяснить, - это когда оба обнаруживают один и тот же вирус и пытаются одновременно изолировать его, что может привести к «битве за завоевание вируса». Для меня это, безусловно, не является убедительной причиной не устанавливать два программного обеспечения AV.


Не говоря уже о проблемах производительности системы. Я предполагаю, что мой Intel Kaby Lake i7 может справиться с ними легко с 16 ГБ установленной памяти.

iBug
источник
1
Конфликтные / конфликтные вопросы (упомянутые вами и в ответах) преувеличены; Операционные системы предназначены для решения / решения таких проблем. У меня сложилось впечатление, что причина в том, что у антивирусных программ есть базы данных, в которых хранятся сигнатуры известных вирусов, которые они ищут. Таким образом, одна антивирусная программа может обнаружить другую как вредоносную программу, и наоборот.
опилки
2
@sawdust, я понимаю ваше заявление, но можно иметь несколько AV, если только только один из них выполняет активную проверку, что было бы невозможно, если бы несовместимость была вызвана непреднамеренным обнаружением базы данных сигнатур друг друга.
Фрэнк Томас
@PeterMortensen «Антивирусный сканер» звучит странно, несмотря на ответы. Я лично предпочел бы «программное обеспечение», независимо от того, исчисляемое это существительное.
iBug

Ответы:

83

Простые антивирусные сканеры могут сосуществовать без каких-либо проблем. Это живая защита, которая может вызывать помехи AV.

Программное обеспечение AV с функциями прямой защиты глубоко интегрируется в операционную систему. Он исправляет часть кода ОС, чтобы он мог наблюдать за любыми попытками программ и, при необходимости, предотвращать их. Операционные системы не предоставляют таких возможностей "из коробки", поэтому AV используют менее традиционные методы для достижения этого эффекта.

Например, он может заменить функцию «запись файла», которую ОС предоставляет своей собственной. Когда программа пытается выполнить запись в файл, она вызывает функцию «запись в файл». Но функция была исправлена ​​AV, и запрос программы будет перенаправлен на AV. AV проверит это и решит, выглядит ли это хорошо. Если это произойдет, он вызовет фактическую функцию «запись файла». В противном случае будут предприняты соответствующие действия, чтобы предотвратить повреждение вредоносного программного обеспечения.

К сожалению, исправление кода ОС не только необходимо для AV, но и подозрительно. Если бы вы создавали вирус, не хотели бы вы также иметь возможность перехватывать системные операции, например, чтобы AV не сканировал файлы вирусов?

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

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

В некоторых случаях даже AV-сканеры без защиты в реальном времени могут создавать помехи. Как AV обнаруживают вирусы? Ну, у них есть свои вирусные сигнатуры, т.е. базы данных отличительных признаков известных вирусов. И так получается, что такая база данных также может показаться подозрительной, потому что, в общем, у них есть отличительные черты вирусов. Таким образом, один AV мог гипотетически определять сигнатуры других AV как вредоносный код.

Существуют также AV-движки, разработанные для сосуществования с другими AV-устройствами, например Hitman Pro. ClamWin (который является бесплатным и с открытым исходным кодом) также должен быть относительно без проблем при сосуществовании, потому что он содержит только сканер без какой-либо защиты в реальном времени.

gronostaj
источник
41
В некотором смысле, антивирусное программное обеспечение само по себе является вирусом. Представьте себе город с двумя полицейскими силами, которые не могут общаться и не носят форму. Офицер, использующий свой фонарик, чтобы заглянуть внутрь здания для преступника, выглядит как преступник, соединяющий сустав с офицером из другого отдела.
TJL
@ComicSansMS Иногда даже ОДИН приносит больше вреда, чем вирус. Например, китайские «бесплатные» AV-программы.
iBug
30
@iBug Не обращая внимания на «китайский» и «свободный», я видел много плохого поведения известных брендов (McAfee, Norton / Symantec, Panda и т. д.).
Боб
1
Обратите внимание, что только один из двух сканеров должен обнаруживать в режиме реального времени, чтобы вызвать серьезные проблемы - у меня когда-то была проблема с очень постоянным CCleaner и неохотным Symantec Endpoint Protection, который боролся за удаление файла.
Санчиз
2
@Bob: и мы даже не начали говорить об их уязвимостях ...
Matteo Italia
14

Программы конфликтуют, когда обе они пытаются использовать один и тот же ресурс. Когда несколько ресурсов пытаются одновременно работать с ресурсом, возникает риск проблем с параллелизмом . Проблемы с параллелизмом возникают, когда один процесс выполняет изменение ресурса, а другая программа (которая была в середине своей собственной модификации ресурса) не знает об этом и, следовательно, не может выполнить это.

Вот несколько примеров проблем параллелизма в учебниках.

Проблема последних побед

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

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

Результат: когда вы загружаете документ, вы перезаписываете его изменения, и они теряются.

Устаревшие данные

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

Результат: вы сами пишете одни и те же изменения в несколько разных словах, или, что еще хуже, отправляете неприятное электронное письмо о том, что его не хватает.

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

Плохие вычисления

Супружеская пара имеет общий банковский счет и банкоматные карты. У них есть 1000USD на их счету. В своей повседневной жизни они находятся по разные стороны города, и оба получают доступ к банкомату в одно и то же время. Они оба снимают 1000USD. Оба банкомата знают, что баланс равен 1000, поэтому они разрешают снятие средств, а затем записывают обратно в центральную базу данных, что новый баланс равен 0.

Результат: банк вышел из 1000 долларов США, и даже не знает об этом.

Во всех этих примерах было несколько сторон, которые выполняли действия с общим ресурсом в одно и то же время. Отсюда и термины «параллелизм» или «синхронность».

Решения

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

  • Интеллектуальное объединение операций
  • Заблокируйте / заблокируйте одну из двух операций, пока не будет завершена первая обнаруженная операция.

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

Твой ответ

В вашем конкретном случае, ресурсы - это файлы на вашем диске. Синхронность происходит от таких событий, как чтение / запись файла, которые запускают сканирование при доступе в обеих AV-программах.

Windows выступает в качестве арбитра для решения проблем параллелизма файловой системы, блокируя файлы, когда программы открывают их для определенных операций.

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

Фрэнк Томас
источник
9
Проблемы с параллелизмом могут быть еще хуже, если антивирус 1 замечает, что файл был получен доступ, и сканирует его, а затем, в свою очередь, антивирус B видит доступ к файлу, поэтому он сканирует его, а затем антивирус A замечает, что файл был получен после последнее сканирование, чтобы оно сканировало его снова и т. д. (я видел, что это происходило на ноутбуке моих друзей, Windows зависала примерно через 10-20 минут после запуска, становясь медленнее до этого срока)
Ferrybig
4
Параллельность - это более или менее решенная проблема, а не проблема AV. Я не согласен с мнением, потому что я думаю, что ваш ответ полностью пропускает основную проблему и фокусируется на проблеме, которая затронула бы большинство компьютерных программ, если бы она не была решена, но не потому, что она решена.
Гроностай
1
@gronostaj, если я могу спросить, как вы думаете, что является основной проблемой? Активные AV, которые реагируют на все события чтения / записи на диске, создают в основном уникальную проблему параллелизма, потому что они оба хотят реагировать на одно и то же событие. Это не распространено среди других программ. Что касается того, как это решено, забота, чтобы выяснить?
Фрэнк Томас
2
Я попытался ответить на этот вопрос в своем ответе . Два AV не будут конкурировать за дисковый ввод / вывод в том смысле, что они пытаются сделать это параллельно, вызывая состояние гонки. Каждый будет пытаться внедрить себя в ОС. Либо ситуация стабилизируется стабильно, когда один AV сканируется другим, либо она заканчивается хрупким беспорядком, либо AV продолжают пытаться доминировать друг над другом.
Гроностай
1
@gronostaj По сути, не являются ли оба ответа исключительными? Почему нет проблем с конкуренцией за перехват ОС (IE: борьба за "запись файла") ... И ... проблемы с параллелизмом? Поправьте меня, если я ошибаюсь, но оба кажутся «дополнительными» проблемами, которые раздражают друг друга (добавляя к этому другие проблемы - у каждого AV есть ошибки безопасности, проблемы с производительностью, вредоносные программы и т. Д.). Похоже, это борьба за сжатие большой проблемы до одной проблемы ... и борьба за то, чтобы решить, у кого есть "проблема".
WernerCD
3

Оба процесса проверки конкурируют друг с другом для проверки ввода-вывода диска и сети.

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

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

123456789123456789123456789
источник