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

7161
iBug

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

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


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

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

3 ответа на вопрос

83
gronostaj

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

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

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

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

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

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

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

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

В некотором смысле, антивирусное программное обеспечение само по себе является вирусом. Представьте себе город с двумя полицейскими силами, которые не могут общаться и не носят форму. Офицер, использующий свой фонарик, чтобы заглянуть внутрь здания для преступника, выглядит как преступник, соединяющий сустав с офицером из другого отдела. T.J.L. 6 лет назад 41
@ComicSansMS Иногда даже ОДИН приносит больше вреда, чем вирус. Например, китайские «бесплатные» AV-программы. iBug 6 лет назад 0
@iBug Не обращая внимания на «китайский» и «свободный», я видел много плохого поведения известных брендов (McAfee, Norton / Symantec, Panda и т. д.). Bob 6 лет назад 30
Обратите внимание, что только один из двух сканеров должен нуждаться в обнаружении в реальном времени, чтобы вызвать серьезные проблемы - у меня когда-то была проблема с очень постоянным CCleaner и неохотным Symantec Endpoint Protection, который боролся за удаление файла. Sanchises 6 лет назад 1
@Bob: и мы даже не начали говорить [об их уязвимостях ...] (http://www.syscan360.org/slides/2014_EN_BreakingAVSoftware_JoxeanKoret.pdf) Matteo Italia 6 лет назад 2
@Sanchises CCleaner не является сканером вредоносных программ, так как же это произошло? wjandrea 6 лет назад 0
И есть два типа антивирусных программ. Один даже сильнее вируса. Другой ... даже слабее, чем вирус. user23013 6 лет назад 0
14
Frank Thomas

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Решения

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

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

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

Ваш ответ

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

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

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

Проблемы с параллелизмом могут быть даже хуже, если антивирус 1 замечает, что файл был получен доступ, и сканирует его, а затем, в свою очередь, антивирус B видит, что к файлу был получен доступ, поэтому он сканирует его, а затем антивирус A замечает, что файл был получен после последнее сканирование, поэтому оно сканирует его снова и т. д. (я видел, что это происходило на ноутбуке моих друзей, Windows зависала примерно через 10-20 минут после запуска, становясь медленнее до этого срока) Ferrybig 6 лет назад 9
Параллельность - это более или менее решенная проблема, а не проблема AV. Я не согласен с мнением, потому что я думаю, что ваш ответ полностью пропускает основную проблему и фокусируется на проблеме, которая затронула бы большую часть компьютерного программного обеспечения, если бы она не была решена, но не потому, что она решена. gronostaj 6 лет назад 4
@gronostaj, если я могу спросить, как вы думаете, что является основной проблемой? Активные AV, которые реагируют на все события чтения / записи на диске, создают в основном уникальную проблему параллелизма, потому что они оба хотят реагировать на одно и то же событие. Это не распространено среди других программ. Что касается того, как это решено, забота, чтобы выяснить? Frank Thomas 6 лет назад 1
Я пытался решить эту проблему в [моем ответе] (https://superuser.com/a/1274450/194694). Два AV не будут конкурировать за дисковый ввод / вывод в том смысле, что они пытаются сделать это параллельно, вызывая состояние гонки. Каждый будет пытаться внедрить себя в ОС. Либо ситуация стабилизируется стабильно, когда один AV сканируется другим, либо она заканчивается хрупким беспорядком, либо AV продолжают пытаться доминировать друг над другом. gronostaj 6 лет назад 2
@gronostaj По сути, не являются ли оба ответа исключительными? Почему нет проблем с конкуренцией за перехват ОС (IE: борьба за «запись файла») ... И ... проблемы с параллелизмом? Поправьте меня, если я ошибаюсь, но оба кажутся «дополнительными» проблемами, которые оба раздражают друг друга (добавляя к этому другие проблемы - каждый AV имеет ошибки безопасности, проблемы с производительностью, вредоносные программы и т. Д.). Похоже, это борьба за сжатие большой проблемы до одной проблемы ... и борьба за то, чтобы решить, у кого есть проблема. WernerCD 6 лет назад 1
@WernerCD, действительно, я верю, что это так. На самом деле AV не изменяют данные в большинстве случаев, поэтому проблема здесь не в самом параллелизме, а в действиях, которые ОС предпринимает для предотвращения проблем параллелизма, которые вызывают проблемы для AV. Frank Thomas 6 лет назад 1
Провал. Мне нужна жена, чтобы принять ограбление банкомата. beppe9000 6 лет назад 0
3
123456789123456789123456789

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

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

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

Похожие вопросы