¿Cómo entran en conflicto los softwares antivirus?


59

Me han enseñado que nunca debo instalar dos softwares antivirus (AV) juntos, porque entrarán en conflicto. Incluso Windows Defender (desde Windows 8) se desactiva al detectar otro software AV.

Tengo curiosidad por cómo dos pueden entrar en conflicto. El único escenario que puedo entender actualmente es cuando ambos detectan el mismo virus e intentan ponerlo en cuarentena simultáneamente, lo que puede resultar en una "batalla de conquista de virus". Para mí, esto seguramente no es una razón convincente para no instalar dos softwares AV.


Sin mencionar los problemas de rendimiento del sistema. Supongo que mi Intel Kaby Lake i7 puede manejarlos con facilidad con la memoria instalada de 16 GB.


1
Los problemas de conflicto / contención (mencionados por usted y en las respuestas) son exagerados; Los sistemas operativos están diseñados para manejar / resolver estos problemas. Tenía la impresión de que la razón era porque los programas antivirus tienen bases de datos que almacenan las firmas de los virus conocidos que están buscando. Entonces, un programa antivirus podría detectar al otro como un programa malicioso, y viceversa.
aserrín

2
@sawdust, entiendo su declaración, pero está bien tener múltiples AV siempre que solo ellos realicen una inspección activa, lo que no sería posible si la incompatibilidad fuera causada por la detección accidental de la base de datos de firmas de los demás.
Frank Thomas

@PeterMortensen El "escáner antivirus" suena extraño a pesar de las respuestas. Personalmente, preferiría "software" sin importar si es un sustantivo contable.
iBug

Respuestas:


83

Los escáneres antivirus simples pueden coexistir sin problemas. Es la protección en vivo lo que puede causar que los AV interfieran.

El software AV con funciones de protección en vivo se integra profundamente en el sistema operativo. Parchea parte del código del sistema operativo para que pueda observar cualquier programa que intente hacer y evitar que lo hagan, si es necesario. Los sistemas operativos no proporcionan tales capacidades listas para usar, por lo que los AV utilizan métodos menos convencionales para lograr este efecto.

Por ejemplo, puede reemplazar la función "escribir archivo" que el sistema operativo proporciona con su función personalizada. Cuando un programa intenta escribir en un archivo, llamará a la función "escribir archivo". Pero la función fue parcheada por AV y la solicitud del programa será redirigida a AV en su lugar. AV lo inspeccionará y decidirá si se ve bien. Si lo hace, llamará a la función real de "escribir archivo". De lo contrario, tomará las medidas adecuadas para evitar que el software malintencionado cause daños.

Desafortunadamente, el parcheo del código del sistema operativo no solo es necesario para los AV, sino que también es sospechoso. Si estaba creando un virus, ¿no le gustaría poder interceptar las operaciones del sistema, por ejemplo, para evitar que AV escanee archivos de virus?

Por lo tanto, los AV tienen guardias que vigilan si sus ganchos de código aún están en su lugar y los reinstalan si es necesario. En este punto deberías ver a dónde va esto ...

Dos AV con protección en vivo pueden comenzar a protegerlos del comportamiento sospechoso del otro. Esto puede causar desde problemas menores de rendimiento hasta fallas del sistema.

En algunos casos, incluso los escáneres AV sin protección en vivo pueden interferir. ¿Cómo detectan los AV los virus? Bueno, tienen sus firmas de virus, es decir. bases de datos de características distintivas de virus conocidos. Y sucede que dicha base de datos también puede parecer sospechosa, porque, bueno, tienen características distintivas de los virus. Por lo tanto, un AV podría detectar hipotéticamente las firmas de otros AV como código malicioso.

También hay motores AV diseñados para coexistir con otros AV, por ejemplo Hitman Pro. ClamWin (que es gratuito y de código abierto) también debería estar relativamente libre de problemas cuando coexiste, ya que contiene solo un escáner sin ninguna protección activa.


41
En cierto sentido, el software antivirus en sí es un virus. Imagine una ciudad con dos fuerzas policiales que no pueden comunicarse y no usan uniformes. El oficial que usa su linterna para mirar dentro de un edificio en busca de un criminal parece un criminal que está cubriendo la articulación con un oficial del otro departamento.
TJL

@ComicSansMS A veces, incluso UNO hace más daño que un virus. Por ejemplo, software AV "gratuito" chino.
iBug

30
@iBug Dejando "chino" y "gratis" fuera de esto, he visto muchos malos comportamientos de marcas conocidas (McAfee, Norton / Symantec, Panda, etc.).
Bob

1
Tenga en cuenta que solo uno de los dos escáneres debería necesitar detección en vivo para causar problemas graves: una vez tuve un problema con un CCleaner muy persistente y un Symantec Endpoint Protection reacio luchando por eliminar un archivo.
Sanchises

2
@Bob: y ni siquiera comenzamos a hablar sobre sus vulnerabilidades ...
Matteo Italia

14

Los programas entran en conflicto cuando ambos intentan usar el mismo recurso. Cuando varios programas intentan operar en un recurso al mismo tiempo, existe el riesgo de problemas de concurrencia . Los problemas de concurrencia ocurren cuando un proceso realiza un cambio en el recurso, y el otro programa (que estaba en el medio de su propia modificación del recurso) no lo sabe y, por lo tanto, no puede adaptarse.

Aquí hay algunos ejemplos de problemas de concurrencia de libros de texto.

Problema de último en ganar

Imagine que está utilizando un directorio FTP para compartir un documento donde usted y un colega están colaborando en un documento. Usted descarga el documento, lo edita y lo publica nuevamente, al igual que su colega.

  1. Descarga el documento e inicia un conjunto de cambios que demora 1 hora.
  2. Su colega descarga el documento al mismo tiempo que lo hizo, pero solo demora media hora en completar y volver a cargar sus cambios.

Resultado: cuando carga su documento, sobrescribe sus cambios y se pierden.

Datos obsoletos

En el mismo escenario, su colega realiza algunos cambios que necesita, sin decírselo. su copia del archivo no tiene los cambios,

Resultado: usted mismo escribe los mismos cambios en palabras ligeramente diferentes o, lo que es peor, envía un correo electrónico desagradable sobre cómo falta.

Esto parece un escenario simple, pero en casos avanzados como bases de datos de acceso múltiple si selecciona registros en el mismo milisegundo que alguien los está actualizando, puede experimentar problemas graves.

Mala computación

Una pareja casada tiene una cuenta bancaria compartida y tarjetas de cajero automático. Tienen 1000 USD en su cuenta. En su vida diaria, están en lados opuestos de la ciudad, y ambos acceden al cajero automático en el mismo instante. Ambos retiran 1000USD. Los cajeros automáticos saben que el saldo es 1000, por lo que permiten el retiro y luego escriben en la base de datos central que el nuevo saldo es 0.

Resultado: el banco ahora está fuera de 1000USD, y ni siquiera lo sabe.

En todos estos ejemplos, había varias partes que realizaban acciones en un recurso compartido al mismo tiempo o aproximadamente al mismo tiempo. De ahí los términos "concurrencia" o "Sincronicidad".

Soluciones

Hay algunas maneras de lidiar con este tipo de problemas. Una es usar un software que arbitre entre las múltiples partes que acceden al recurso. Estos programas de arbitraje tienen dos opciones, según el alcance y la previsibilidad de las operaciones:

  • Fusiona las operaciones de forma inteligente
  • Bloquee / bloquee una de las dos operaciones hasta que se complete la primera notada.

También es posible bloquear / bloquear, siempre que ambos programas estén diseñados para verificar un indicador compartido que indique el estado del recurso. Esto generalmente requiere un desarrollo personalizado.

Tu respuesta

En su caso específico, los recursos son los archivos en su disco. La Sincronicidad proviene de eventos como el archivo de Lectura / Escritura, que activan escaneos en acceso en ambos programas AV.

Windows actúa como árbitro para resolver problemas de concurrencia del sistema de archivos al bloquear los archivos cuando los programas los abren para operaciones específicas.

Esto significa que ambos programas están compitiendo para acceder al archivo, y quien llegue allí primero obtiene el bloqueo. En un nivel bajo, esto da como resultado una sacudida del disco a medida que ambos programas comienzan sus propias actividades de E / S, lo que obliga al hardware a realizar ambas tareas por separado, pero intercalando las instrucciones de E / S, lo que hace que ambos sean mucho menos eficientes y, al final, solo uno de ellos ganarán. el otro girará y esperará para poder establecer su propia cerradura.


99
Los problemas de concurrencia pueden incluso empeorar si el antivirus 1 nota que se ha accedido a ese archivo y lo escanea, luego, a su vez, el antivirus B ve que se ha accedido al archivo, por lo que lo escanea, luego el antivirus A se da cuenta de que se ha accedido al archivo después de último escaneo, por lo que lo escanea nuevamente, etc. (He visto que esto sucede en la computadora portátil de mis amigos, Windows se congeló después de unos 10-20 minutos después del inicio, volviéndose más lento antes de esa fecha límite)
Ferrybig

44
La concurrencia es un problema más o menos resuelto y no es realmente un problema específico de AV. Voté en contra porque creo que su respuesta pierde por completo el problema central y se enfoca en un problema que afectaría a la mayoría del software de la computadora si no se soluciona, pero no lo hace porque está resuelto.
gronostaj

1
@gronostaj, si puedo preguntar, ¿cuál cree que es el problema central? Los AV activos que reaccionan a todos los eventos de lectura / escritura en el disco crean un problema de concurrencia principalmente único porque ambos quieren reaccionar al mismo evento. Esto no es común entre otros softwares. En cuanto a cómo se resuelve, ¿te gustaría dilucidar?
Frank Thomas

2
He tratado de abordar eso en mi respuesta . Dos AV no competirán por las E / S de disco en el sentido de que lo intentan en paralelo y provocan una condición de carrera. Cada uno intentará inyectarse en el sistema operativo. O bien la situación se resolverá de manera estable cuando un AV es escaneado por el otro, o terminará en un desastre frágil, o los AV seguirán tratando de dominarse mutuamente.
gronostaj

1
@gronostaj En esencia, ¿no son ambas respuestas no excluyentes? ¿Por qué no hay problemas con la contención del enganche del sistema operativo (IE: lucha por el "archivo de escritura") ... Y ... problemas con la concurrencia? Corríjame si me equivoco, pero ambos parecen problemas "complementarios" que exasperan al otro (al tiempo que agregan otros problemas, cada AV tiene fallas de seguridad, problemas de rendimiento, bloatware, etc.). Parece que esta es una lucha para condensar un gran problema en un solo problema ... y una lucha para decidir quién tiene "el" problema.
WernerCD

3

Ambos procesos de inspección compiten entre sí para examinar la unidad y la E / S de red.

Atasca la CPU y no se obtiene ninguna ventaja, ya que la mayoría de los fabricantes de AV comparten colectivamente firmas, por lo que ninguno detectará malware antes de que el otro se actualice para hacerlo.

Un AV único, bien conocido y aceptado en la industria protegerá adecuadamente su sistema, incluso si tiene hábitos imprudentes propensos a infecciones y con la misma eficacia que al usar simultáneamente 10 productos AV.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.