Publicado por Javier Guerrero Marzo, 2010

Una de las quejas más recurrentes del usuario a la hora de usar un antivirus, es el consumo de recursos y la ralentización general sufrida por el sistema una vez que se ha instalado el producto. En este artículo vamos a aportar una explicación sencilla y razonada de por qué tiene lugar este fenómeno.

Por definición, un virus o cualquier otro ejemplar de malware, es un elemento que efectúa diversas operaciones de carácter malicioso en el sistema operativo; el abanico de acciones  potencialmente peligrosas es bastante variado, pudiendo abarcar desde la infección de un archivo (operaciones sobre ficheros) hasta la ejecución de un troyano (operaciones de procesos)  pasando por la instalación de un gusano (operaciones de registro), y eso sin contar operaciones de red, que por sí solas merecerían un artículo aparte.

Por su parte, el antivirus es una solución de seguridad que añade una funcionalidad adicional al sistema operativo, con el objetivo de protegerle de dichas operaciones maliciosas. Por tanto, el producto debe instalar una serie de componentes que, situados en determinados puntos del sistema, se encargan de detectar en tiempo real la ocurrencia de esas acciones; es lo que denominamos analizador “on-access”.

Muchos de estos eventos serán descartados, y muchos otros serán comprobados mediante el uso de varias técnicas de análisis, para determinar si son (o pueden ser, punto importante éste) obra de algún tipo de malware. Pero para que haya una protección “on-access”, todos deben ser interceptados en tiempo real.

Nótese que en el anterior párrafo he subrayado “en tiempo real”. La importancia de este detalle se pondrá de manifiesto cuando expongamos a continuación algunas cifras y datos obtenidos tras realizar una pequeña prueba, que nos ayudarán a comprender mejor el problema del rendimiento:

  • En un Windows 7 recién instalado y sin aplicaciones de terceros, en un intervalo de apenas 1 minuto y 30 segundos, en el cual únicamente ejecutamos la Calculadora y el Paint, se produjeron 481 operaciones de procesos, 26.012 operaciones sobre ficheros, y 45.885 operaciones de registro. Eso hace un total de 72.378 operaciones susceptibles de ser comprobadas en tiempo real y denegadas en caso de ser consideradas como maliciosas.
  • A la hora de determinar si un archivo está infectado, cada uno de estos ficheros debe ser cotejado en tiempo real contra una gigantesca base de datos de firmas, formada por cientos de miles de definiciones de virus.

La problemática empieza a estar clara, ¿verdad?

Pero aún hay más: los antivirus también deben protegerse a sí mismos frente a los habituales ataques provenientes del malware, que pueden reducir o anular totalmente su funcionalidad. Esto significa que necesita ejercer controles adicionales que, de nuevo, pueden influir en la ralentización del sistema.

El software siempre tratará de optimizar todo lo posible su funcionamiento, pero siempre que haya un análisis “on-access”, el procesamiento en tiempo real va a ser inevitable, y por tanto, también se traducirá en un coste para el rendimiento del sistema; ésta podrá ser considerable, razonable, o incluso imperceptible, dependiendo también del tipo de producto instalado (no es lo mismo un simple analizador, que un suite completa que incluya Firewall, Antivirus, auto-protección, análisis de comportamiento, control parental, etc.). Pero siempre habrá una penalización.

En definitiva, al final se trata de alcanzar un equilibrio razonable entre rendimiento y seguridad, y éste ha sido, es y será siempre uno de los grandes retos de cualquier producto antivirus; más aún si tenemos en cuenta que, por diversos motivos, las soluciones de seguridad se encuentran en desventaja frente al malware….pero esto lo explicaremos en otro artículo.

Nota: en este artículo hablo sobre el enfoque de análisis en un antivirus  “clásico”.  El nuevo enfoque de análisis en la Nube (Cloud) es diferente. Se puede encontrar más información sobre CloudAV, en este post, publicado en el blog de Panda Research: http://research.pandasecurity.com/arguments-against-cloud-based-antivirus/

Javier Guerrero Díaz
Dpto. Desarrollo – I+D