|
El uso de
la heurística en los antivirus

Las técnicas heurísticas nacen
de la necesidad de una “detección genérica” de los virus
informáticos. Se llama detección genérica a la posibilidad de
detectar “cualquier virus” aún sin haberlo analizado antes y
sin estar en la base de datos del antivirus que se esté
considerando. Esto pareciera que carece de sentido pero es tan
simple como buscar “instrucciones comunes” de los virus para
advertir de la posibilidad de que un archivo o programa esté
infectado.
Cuando analizamos las primeras instrucciones de cualquier archivo,
veremos instrucciones para detectar los parámetros de la línea de
comandos, borrar la pantalla, llamar a alguna función, ejecutar
alguna macro, etc.. No obstante tratándose de un virus suelen ser
otras bien diferentes como activar el cuerpo del virus o buscar más
archivos para intentar implantarles su código.
La experiencia es sin duda lo que lleva a una persona a reconocer
algo infectado de algo limpio en cuestión de segundos. Esa
“experiencia” se ha pretendido introducir en los programas
antivirus bajo el nombre de “heurística”.
El funcionamiento de la heurística es sencillo, primero se analiza
cada programa sospechoso sin ejecutar las instrucciones, lo que hace
es desensamblar o "descompilar" el código de máquina
para deducir que haría el programa si se ejecutara. Avisando que el
programa tiene instrucciones para hacer algo que es raro en un
programa normal, pero que es común en un virus.
Sin duda el principal problema de las técnicas heurísticas ha sido
los falsos positivos. A pesar de que se han mejorado mucho en los últimos
años, siguen sin conseguir demasiada efectividad (aunque hay
algunas excepciones). El problema más que en la calidad de la
rutina heurística está en la interpretación que el usuario
realice de ese aviso heurístico. Si es poco experimentado estará
constantemente mandando muestras a su casa de antivirus ya que “el
antivirus le dijo que podía tener un virus”.
Entendiendo la Heurística como un indicador de probabilidad de
contagio, esto nos lleva a considerarla como un sistema de detección
mejorada que al incluirla los antivirus nos permite establecer un
sistema de alerta y de prevención ante la aparición de mutaciones
de virus o de nuevos virus.
Esta técnica permite "barrer" diferentes tipos de códigos
dentro de los archivos, que sean susceptibles de ser malignos. Códigos
que son genéricos dentro de los archivos maliciosos y que siempre
suelen ser parecidos. O por lo menos respetar parte de las cadenas
de comandos que activan los virus.
Pero ¿cómo opera un antivirus? Los virus tienen patrones de códigos
que son como sus "huellas digitales". Los software
antivirus buscan estos patrones, pero sólo de los que tienen
almacenados en su lista (por esto la actualización es tan
importante). Estos productos también pueden valerse de la heurística,
es decir, analizan los archivos para detectar comportamientos
similares a los de los virus.
Cada día crece el número de nuevos virus y la alternativa para
poder neutralizarlos, sin haber programado antes el antivirus para
su reconocimiento, es la denominada “búsqueda heurística”. A
través de ella, el programa antivirus analiza el código de los
programas buscando instrucciones, acciones sospechosas o indicios
que delaten la presencia de virus en la computadora, de acuerdo a
los patrones habituales empleados por los códigos maliciosos.
El método Heurístico es una tecnología de programación que
dentro de sus rutinas de detección de especies virales, incluye las
cadenas clásicas que son similares, parecidas o afines a virus auténticos.
El método heurístico, si no está bien programado, es susceptible
de incurrir en resultados falsos positivos o negativos. Además, al
encontrar un virus desconocido, variante de otro existente, el
antivirus que emplea este método de búsqueda no podrá eliminar
eficientemente el virus y mucho menos reparar el archivo o área
afectada.
Para que un antivirus detecte y elimine eficientemente a un virus así
como también repare los daños ocasionados, debe incluir en la base
de datos de sus rutinas de detección y eliminación el exacto micro
código viral de esa especie. Sin embargo la técnica de búsqueda
heurística de virus por "familias" es una forma eficiente
de detectar a especies virales que pertenecen a una misma familia,
aunque no es un método absolutamente exacto o eficiente.
Por Arnoldo Moreno |