W jaki sposób oprogramowanie antywirusowe koliduje ze sobą?

59

Nauczono mnie, że nigdy nie powinienem instalować dwóch programów antywirusowych (AV) razem, ponieważ będą one powodować konflikty. Nawet Windows Defender (od Windows 8) wyłącza się po wykryciu innego oprogramowania AV.

Jestem ciekawy, jak dwoje może się ze sobą sprzeczać. Jedynym scenariuszem, jaki mogę obecnie wymyślić, jest wykrycie tego samego wirusa i jednoczesne poddanie go kwarantannie, co może doprowadzić do „bitwy o podbicie wirusa”. Dla mnie to z pewnością nie jest przekonujący powód, aby nie instalować dwóch programów AV.


Nie mówiąc już o problemach z wydajnością systemu. Podejrzewam, że mój Intel Kaby Lake i7 z łatwością sobie z nimi poradzi dzięki zainstalowanej pamięci 16 GB.

iBug
źródło
1
Problemy związane z konfliktem / rywalizacją (wspomniane przez ciebie i w odpowiedziach) są zawyżone; Systemy operacyjne są zaprojektowane do obsługi / rozwiązywania takich problemów. Miałem wrażenie, że powodem było to, że programy antywirusowe mają bazy danych, które przechowują sygnatury znanych wirusów, których szukają. Tak więc jeden program antywirusowy może wykryć drugi jako szkodliwy program i odwrotnie.
trociny
2
@sawdust, rozumiem twoje oświadczenie, ale dobrze jest mieć wiele AV, pod warunkiem, że tylko one wykonują aktywną kontrolę, co nie byłoby możliwe, gdyby niezgodność była spowodowana przypadkowym wykryciem bazy danych podpisów innych osób.
Frank Thomas
@PeterMortensen „Skaner antywirusowy” brzmi dziwnie pomimo odpowiedzi. Osobiście wolałbym „oprogramowanie” bez względu na to, czy jest to rzeczownik policzalny.
iBug,

Odpowiedzi:

83

Zwykłe skanery antywirusowe mogą współistnieć bez żadnych problemów. Ochrona na żywo może powodować zakłócenia działania AV.

Oprogramowanie AV z funkcjami ochrony na żywo głęboko integruje się z systemem operacyjnym. Łata poprawia część kodu systemu operacyjnego, aby mógł obserwować wszelkie programy, które próbują to zrobić, i zapobiegać im, jeśli to konieczne. Systemy operacyjne nie zapewniają takich możliwości od razu po wyjęciu z pudełka, więc AV używają mniej konwencjonalnych metod, aby osiągnąć ten efekt.

Na przykład może zastąpić funkcję „zapisywania pliku”, którą system operacyjny zapewnia w swojej niestandardowej. Gdy program próbuje zapisać do pliku, wywoła funkcję „zapisu pliku”. Ale funkcja została załatana przez AV, a żądanie programu zostanie przekierowane do AV. AV sprawdzi go i zadecyduje, czy wygląda dobrze. Jeśli tak, wywoła rzeczywistą funkcję „zapisu pliku”. W przeciwnym razie podejmie odpowiednie działania, aby złośliwe oprogramowanie nie wyrządziło żadnej szkody.

Niestety łatanie kodu systemu operacyjnego jest nie tylko konieczne w przypadku AV, ale także podejrzane. Jeśli tworzysz wirusa, czy nie chciałbyś również móc przechwytywać operacje systemowe, na przykład aby uniemożliwić AV skanowanie plików wirusów?

AV mają więc strażników, którzy obserwują, czy haczyki kodu są nadal na miejscu, i instalują je w razie potrzeby. W tym momencie powinieneś zobaczyć, dokąd to zmierza ...

Dwa urządzenia AV z ochroną na żywo mogą zacząć chronić cię przed podejrzanym zachowaniem. Może to powodować wszystko, od drobnych problemów z wydajnością po awarie systemu.

W niektórych przypadkach nawet skanery AV bez ochrony na żywo mogą przeszkadzać. W jaki sposób AV wykrywają wirusy? Cóż, mają swoje sygnatury wirusów, tj. bazy danych charakterystycznych cech znanych wirusów. Zdarza się, że taka baza danych może również wydawać się podejrzana, ponieważ, no cóż, mają charakterystyczne cechy wirusów. Tak więc jedno AV może hipotetycznie wykryć podpisy innych AV jako złośliwy kod.

Istnieją również silniki AV zaprojektowane z myślą o współistnieniu z innymi urządzeniami AV, na przykład Hitman Pro. ClamWin (który jest darmowy i open source) powinien również być stosunkowo bezproblemowy podczas współistnienia, ponieważ zawiera tylko skaner bez żadnej ochrony na żywo.

gronostaj
źródło
41
W pewnym sensie samo oprogramowanie antywirusowe jest wirusem. Wyobraź sobie miasto z dwoma siłami policyjnymi, które nie mogą się komunikować i nie noszą mundurów. Oficer, który korzysta z latarki, by zajrzeć do budynku w poszukiwaniu przestępcy, wygląda jak przestępca przykrywający stawy funkcjonariuszowi z innego departamentu.
TJL,
@ComicSansMS Czasami nawet JEDEN wyrządza więcej szkody niż wirus. Np. Chińskie „darmowe” oprogramowanie AV.
iBug
30
@ iBug Opuszczając „chiński” i „darmowy”, widziałem wiele złych zachowań znanych marek (McAfee, Norton / Symantec, Panda itp.).
Bob
1
Pamiętaj, że tylko jeden z dwóch skanerów powinien wymagać wykrywania na żywo, aby spowodować poważne problemy - kiedyś miałem problem z bardzo trwałym CCleaner i niechętnym programem Symantec Endpoint Protection walczącym z nim o usunięcie pliku.
Sanchises,
2
@Bob: i nawet nie rozmawialiśmy o ich lukach w zabezpieczeniach ...
Matteo Italia,
14

Programy powodują konflikty, gdy oba próbują użyć tego samego zasobu. Gdy wiele programów próbuje działać jednocześnie na zasobie, istnieje ryzyko problemów z współbieżnością . Problemy z współbieżnością występują, gdy jeden proces dokonuje zmiany zasobu, a drugi program (który był w trakcie własnej modyfikacji zasobu) nie jest tego świadomy, a zatem nie jest w stanie go dostosować.

Oto kilka przykładów problemów z współbieżnością podręczników.

Problem z ostatnimi zwycięstwami

Wyobraź sobie, że używasz katalogu FTP do udostępniania dokumentu, w którym Ty i kolega współpracujecie nad dokumentem. pobierasz dokument, edytujesz go i publikujesz ponownie, podobnie jak twój kolega.

  1. Pobierz dokument i rozpocznij zestaw zmian, który zajmuje 1 godzinę.
  2. Twój współpracownik pobiera dokument w tym samym czasie, co Ty, ale wypełnienie i ponowne załadowanie zmian zajmuje tylko pół godziny.

Wynik: po przesłaniu dokumentu zastępujesz ich zmiany i są one tracone.

Nieaktualne dane

W tym samym scenariuszu Twój kolega dokonuje niezbędnych zmian, nie informując o tym. twoja kopia pliku nie ma zmian,

Wynik: sam piszesz te same zmiany w nieco innych słowach lub, co gorsza, odpychasz paskudny e-mail o tym, jak go brakuje.

Wydaje się to prostym scenariuszem, ale w zaawansowanych przypadkach, takich jak bazy danych z wieloma dostępem, jeśli wybierzesz rekordy w tej samej milisekundie, gdy ktoś je aktualizuje, możesz napotkać poważne problemy.

Złe obliczenia

Małżeństwo ma wspólne konto bankowe i karty bankomatowe. Mają na koncie 1000 USD. W codziennym życiu znajdują się po przeciwnych stronach miasta i oboje uzyskują dostęp do bankomatu w tym samym momencie. Oboje wypłacają 1000 USD. Zarówno bankomaty wiedzą, że saldo wynosi 1000, więc pozwalają na wycofanie, a następnie zapisują w centralnej bazie danych, że nowe saldo wynosi 0.

Wynik: bank ma obecnie 1000 USD i nawet o tym nie wie.

We wszystkich tych przykładach było wiele podmiotów, które wykonywały działania na udostępnionym zasobie w tym samym czasie lub mniej więcej w tym samym czasie. Stąd terminy „współbieżność” lub „synchroniczność”.

Rozwiązania

Istnieje kilka sposobów radzenia sobie z tego rodzaju problemami. Jednym z nich jest użycie oprogramowania, które arbitrażuje między wieloma stronami uzyskującymi dostęp do zasobu. Te programy arbitrów mają dwie opcje, w zależności od zakresu i przewidywalności operacji:

  • Inteligentnie scal operacje
  • Zablokuj / zablokuj jedną z dwóch operacji, aż pierwsza zauważona operacja zakończy się.

Możliwe jest również blokowanie / blokowanie, pod warunkiem, że oba programy są zaprojektowane do sprawdzania wspólnej flagi wskazującej stan zasobu. zazwyczaj wymaga to niestandardowego opracowania.

Twoja odpowiedź

W konkretnym przypadku zasobami są pliki na dysku. Synchroniczność pochodzi z takich zdarzeń, jak odczyt / zapis pliku, które wyzwalają skanowanie podczas dostępu w obu programach AV.

Windows działa jako arbiter do rozwiązywania problemów z współbieżnością systemu plików poprzez blokowanie plików, gdy programy otwierają je dla określonych operacji.

Oznacza to, że oba programy ścigają się, aby uzyskać dostęp do pliku, a ktokolwiek się tam pojawi pierwszy, otrzymuje blokadę. Na niskim poziomie powoduje to pewne przeładowanie dysku, ponieważ oba programy rozpoczynają własne działania we / wy, zmuszając sprzęt do wykonywania obu zadań osobno, ale jednocześnie przeplatając instrukcje we / wy, czyniąc oba znacznie mniej wydajnymi, a ostatecznie tylko jednym z nich wygra. drugi zakręci się i zaczeka na ustanowienie własnego zamka.

Frank Thomas
źródło
9
Problemy z współbieżnością mogą być jeszcze gorsze, jeśli program antywirusowy 1 zauważy, że plik został uzyskany i skanuje go, a następnie program antywirusowy B zobaczy, że plik został uzyskany, więc skanuje go, a następnie program antywirusowy A zauważy, że plik został uzyskany po ostatnie skanowanie, więc skanuje to ponownie itp. ... (Widziałem, jak to się dzieje na laptopie mojego przyjaciela, Windows zamarł po około 10-20 minutach po uruchomieniu,
spowalniając
4
Współbieżność jest mniej lub bardziej rozwiązanym problemem, a tak naprawdę nie jest specyficznym problemem AV. Odrzuciłem głos, ponieważ myślę, że twoja odpowiedź całkowicie pomija podstawowy problem i koncentruje się na problemie, który mógłby wpłynąć na większość oprogramowania komputerowego, gdyby nie został rozwiązany, ale nie dlatego, że został rozwiązany.
gronostaj
1
@gronostaj, jeśli mogę zapytać, jaki według ciebie jest podstawowy problem? Aktywne AV, które reagują na wszystkie zdarzenia odczytu / zapisu na dysku, tworzą w większości unikalny problem współbieżności, ponieważ obaj chcą reagować na to samo zdarzenie. Nie jest to powszechne wśród innych programów. Co do tego, jak to rozwiązać, czy chcesz to wyjaśnić?
Frank Thomas
2
Próbowałem rozwiązać to w mojej odpowiedzi . Dwa urządzenia AV nie będą rywalizować o dyskowe operacje we / wy w tym sensie, że będą próbować równolegle, powodując wyścig. Każdy z nich spróbuje wstrzyknąć się do systemu operacyjnego. Każda sytuacja ustabilizuje się, gdy jedno AV zostanie zeskanowane przez drugie, lub zakończy się kruchym bałaganem, lub AV będą nadal próbowały się dominować.
gronostaj
1
@gronostaj Czy w istocie obie odpowiedzi nie są wykluczające? Dlaczego nie występują problemy z rywalizacją o hak systemu operacyjnego (IE: walka o „zapisywanie pliku”) ... ORAZ ... problemy ze współbieżnością? Popraw mnie, jeśli się mylę, ale oba wydają się być „komplementarnymi” problemami, które irytują się nawzajem (jednocześnie dodając inne problemy na wierzchu - każdy AV ma błędy bezpieczeństwa, problemy z wydajnością, wzdęcia itp.). Wygląda na to, że jest to walka o zagęszczenie dużego problemu aż do jednego problemu ... i walka o to, kto ma problem.
WernerCD,
3

Oba procesy inspekcji rywalizują ze sobą o sprawdzenie napędu i sieci I / O.

Utrudnia procesor i nie czerpie żadnej korzyści, ponieważ większość producentów AV wspólnie udostępnia sygnatury, więc żaden nie wykryje złośliwego oprogramowania, zanim drugi nie zostanie zaktualizowany.

Pojedynczy, dobrze znany i akceptowany w branży sprzęt audiowizualny odpowiednio ochroni Twój system, nawet jeśli masz lekkomyślne nawyki podatne na infekcje i równie skutecznie, jak jednoczesne używanie 10 produktów AV.

123456789123456789123456789
źródło