UN ANTIVIRUS QUE
DETECTA TODOS LOS VIRUS
No es broma, las nuevas estrategias
en la detección de código malicioso apuntan a ese objetivo que puede
sonar utópico. No quiere decir que nos estemos acercando al
antivirus perfecto, sino que los nuevos enfoques de las soluciones
de seguridad intentan identificar tanto al malware como a los
ficheros legítimos, tratan de clasificar todo
Si nuestro ordenador fuera una
discoteca el antivirus sería el portero, el encargado de decidir
quién puede pasar y quién no a divertirse en nuestro local.
Dependiendo de lo exclusiva que sea nuestra discoteca, la dirección
podría haber ordenado al portero que siguiera una de las siguientes
estrategias:
(1) sólo dejar pasar a las personas VIP y conocidas según una lista
(lista blanca).
(2) no dejar pasar a aquellas personas reconocidas como
problemáticas (lista negra).
Con la estrategia (1) nuestra discoteca sería demasiado elitista, ya
que no permitiría entrar a gente nueva o desconocida hasta que no
hubiera sido dado de alta en la lista blanca. Un verdadero incordio
y no sería operativo. En el caso (2) nuestro local estaría más
animado y evitaríamos a los individuos peligrosos reconocidos, que
en un principio no eran demasiados, así que la dirección de la
discoteca apostó por esta opción.
El de los antivirus siempre había sido un mundo de listas negras,
estrategia número (2), con firmas y patrones para detectar al código
malicioso e impedirles que pudieran entrar o ejecutarse en nuestro
ordenador.
Con el tiempo se vio que esa estrategia era insuficiente, ya que
había mucho malware de nueva creación que no se encontraba en la
lista negra (se les colaban muchos indeseables). La lista negra
requería ser constantemente actualizada y, aun así, no era
suficiente. Se apostó por potenciar la heurística, que en el caso de
nuestro portero vendría a ser una orden similar a la siguiente:
(3) no dejar pasar a personas que por sus características te
parezcan sospechosas o que pudieran causar problemas
Con la entrada de la heurística la discoteca tuvo algunos problemas,
el portero sospechó de gente VIP y no les dejó entrar. Así que la
dirección le dijo al portero que utilizara también una pequeña lista
blanca para reconocer a esas personas y no impedirles su entrada por
error. De esta forma el portero comenzó a utilizar al mismo tiempo
las estrategias (1), (2) y (3) de forma complementaria.
De esta misma forma el uso de listas blancas comenzó a ser más
popular entre los antivirus, si bien solía limitarse a corregir y
prevenir falsos positivos, para no dar por malware o virus un
fichero legítimo muy conocido. Ya sabéis, detectar como malware el
notepad.exe sería como negarle la entrada a nuestra discoteca a
Pilar Rubio. Imperdonable.
Pasó el tiempo y la discoteca seguía teniendo incidentes y problemas
de seguridad. Aun teniendo una lista negra, heurística y lista
blanca, seguían colándose muchos indeseables al local. La dirección
pidió al portero que aumentara su nivel de heurística, más paranoia
a la hora de impedir el paso a personas que aparentemente pudieran
dar problemas.
En el mundo de los antivirus hemos visto ese aumento de paranoia en
heurísticas más agresivas, por ejemplo aquellas que detectan como
malware un fichero por el simple hecho de estar tratados con un "packer".
Con la nueva heurística más paranoica aumentaron las reclamaciones a
la dirección de la discoteca. A muchas personas que no eran tan
famosas como para estar en la lista VIP o pequeña lista blanca se
les negaba la entrada al local por parecer sospechosas a ojos del
portero.
La discoteca estaba en crisis. Si aumentaba la heurística y paranoia
del portero tenían reclamaciones por impedir la entrada a personas
legítimas. Si disminuía la heurística se le colaban demasiados
indeseables.
En esa situación se encuentra la industria antivirus actual: una
lista negra actualizándose constantemente (hay antivirus que se
actualizan varias veces cada hora); una heurística agresiva para
detectar nuevos especímenes que no estén en su lista negra; y una
lista blanca más pequeña, y que se actualiza menos, para evitar
meter la pata excesivamente detectando como malware algún software
muy conocido y/o extendido. El resultado es de crisis técnica,
siguen teniendo muchos problemas como en la discoteca, o bien están
detectando como malicioso software legítimo, o bien se les sigue
colando en cantidad malware de verdad, o en el peor de los casos
ambas cosas.
Una de las soluciones podría ser tener una lista blanca muy grande y
actualizarla constantemente, como en el caso de la lista negra. Eso
limitaría el número de falsos positivos y las heurísticas podrían
concentrarse en aquellos ficheros totalmente desconocidos, que no
están ni en la lista negra ni en la lista blanca, y que deberían ser
un número más reducido.
De esta forma un antivirus podría tener un primer dictamen muy
rápido dado un fichero: o se encuentra en la lista negra y por tanto
es malicioso, o se encuentra en la lista blanca y no necesito
analizarlo, o lo marco como desconocido "lista gris" y le aplico una
heurística agresiva, o les hago un seguimiento especial
(monitorización del comportamiento), o lo paso a cuarentena a la
espera de un proceso que permita tener un dictamen más o menos
fiable.
Esta nueva estrategia requeriría manejar unas listas blancas y
negras muy grandes, y actualizarlas constantemente, para minimizar
el número de ficheros que podrían caer en la lista gris
(desconocidos). Eso se traduce en el consumo de un mayor número de
recursos por parte del antivirus local: imaginemos que el portero
tiene que consultar dos listados de millones de registros cada vez
que alguien quiere entrar a nuestro local. En el PC significaría
mayor consumo de memoria y CPU, amén de una constante actualización
de los ficheros de firmas a través de Internet.
La solución a este problema de recursos viene de la mano de lo que
se ha dado por llamar "cloud computing", tan de moda desde hace un
tiempo, y que no es más que traspasar parte del trabajo a un
servidor remoto con una enorme capacidad de almacenamiento y proceso
(lo que se conoce por "la nube"). En vez de tener que consultar unas
enormes listas negras y blancas en el ordenador local, con el
consiguiente consumo de recursos, esa consulta se hace a través de
Internet a un gran servidor centralizado (un cluster de servidores)
que devuelve al PC el resultado, si ese fichero está en su lista
negra o blanca.
Con este enfoque el número de ficheros desconocidos disminuye y, por
tanto, el antivirus local puede centrarse en ellos con heurísticas o
una monitorización del comportamiento con mayor detenimiento para
dictaminar si es un código malicioso o no. La otra ventaja es que
ese dictamen local puede traspasarse a la nube, a los servidores
centralizados, en tiempo real, de forma que ese malware nuevo
descubierto en un PC formará parte de la lista negra y prevendrá a
otros sistemas que realicen a posteriori una consulta sobre ese
fichero en particular. Incluso, dependiendo de la estrategia del
antivirus, los ejecutables desconocidos podrían ser enviados al
servidor centralizado donde podría ser analizado automáticamente con
mayores recursos informáticos o ser trasladado a un analista humano
si el dictamen automático no es concluyente.
Esta realimentación constante, entre PCs y servidores centralizados
que permite el "cloud computing", está produciendo listas negras y
blancas con millones de firmas o registros que serían inviables
tener de forma local en un PC, y nos acercan un poco más a la utopía
del antivirus que es capaz de detectar casi todo.
No sería de extrañar que a corto o medio plazo, dado un análisis a
demanda de un disco duro, un antivirus pudiera llegar a darnos un
log completo (identificando todos los ficheros), indicando cuales
son benignos según su lista blanca, cuales son malware según su
lista negra, y aplicando un coeficiente de mayor o menor
peligrosidad según heurística a los archivos desconocidos.
Volviendo a nuestro portero, imaginemos que la discoteca ha
contratado un sistema de reconocimiento facial que conecta
automáticamente a un servidor centralizado que mantiene una gran
base de datos de personas y sus antecedentes. Una cámara en la
puerta automáticamente va capturando imágenes de las caras de las
personas que quieren entrar, las envía al servidor centralizado
donde se compara con su base de datos, y devuelve al portero en
tiempo real si es alguien de confianza, si es alguien problemático,
o si no tiene información de esa persona.
El portero puede ahora, de forma instantánea, permitir o denegar la
entrada según la respuesta del sistema, y sólo tendrá que utilizar
su heurística con unas pocas personas (las que el sistema no
reconozca). Al ser pocas personas a las que debe aplicar la
heurística podrá hacerlo con más detenimiento, desde pedir
documentación a cachearla, actuaciones que antes no podía realizar
de forma indiscriminada por un problema de volumen y recursos. Si
detecta que un desconocido lleva un arma, además de impedirle la
entrada al local, se informa automáticamente al servidor
centralizado que mantiene la base de datos, realimentando el
sistema.
Como el mismo servidor centralizado da servicio a muchas discotecas,
el sistema se alimenta de la información y actuaciones individuales
de muchos porteros en tiempo real. Además recoge información
adicional que puede ser útil a la hora de correlacionar datos.
Visto así esta estrategia parece un avance importante para el mundo
de lo antivirus, pero no es la panacea. El problema sigue siendo el
mismo, dictaminar si un fichero es malicioso o no. Incluso puede que
los errores al dictaminar sean más graves, si marcamos por error que
un archivo es benigno y se cataloga en la lista blanca es más que
probable que se deje actuar a ese código en cualquier ordenador
local a sus anchas o, en el mejor de los casos, aplicándole análisis
heurísticos o de comportamiento más relajados en el sistema local.
Imaginemos un delincuente que está marcado como confiable en el
sistema de reconocimiento facial, entraría a todas las discotecas
automáticamente y el portero no se molestaría en prestarle mayor
atención.
Los servidores centralizados deberían tener mecanismos de reanálisis
y depuración de sus clasificaciones, para detectar errores tanto de
malware que se haya asignado a las listas blancas como de software
legítimo que han entrado por error en las listas negras. Tarea no
sencilla si tenemos en cuenta los volúmenes en los que pueden
moverse las colecciones de ficheros, lo que implica automatización y
por ende dictámenes con un margen de error no despreciable.
Por lo tanto estos nuevos antivirus que tienden a intentar
identificarlo todo, tanto el malware como los ficheros legítimos, no
necesariamente tienen que ser más fiables. Una cosa es que lo
identifiquen todo o casi todo, otra cosa es que esa identificación
sea correcta. Lo que si es cierto es que las estrategias basadas en
el "cloud computing" suponen un plus importante en la detección del
malware, especialmente con especímenes muy nuevos, dada la
actualización en tiempo real de las bases de datos que se consultan
y la correlación centralizada de datos que se puede realizar gracias
a la realimentación constante que producen los antivirus conectados
al servicio.
En definitiva, el "cloud computing" y el uso masivo de listas
blancas son una capa más a sumar al antivirus tradicional, pero no
deberían por si solos convertirse en solución de seguridad. Sus
beneficios se pueden notar ya en las primeras soluciones antivirus
que lo están implantando, sus debilidades tampoco se harán esperar
Compartir este articulo : | | | | |
|
|