|
“Heurística” refiere
al acto o proceso de encontrar o descubrir.
El diccionario
Oxford de inglés define
el término
como “alentar
a una persona para descubrir o aprender algo por su cuenta” o,
en el contexto informático, “llegar a una solución
a través de la
prueba y error, o mediante reglas vagamente definidas”. [6]
El diccionario Merriam-Webster lo
define como “una
ayuda para aprender, descubrir, o resolver problemas a través
de la experimentación,
especialmente métodos de prueba y error” o, nuevamente
en el contexto informático, “relativo a las técnicas
exploratorias de resolución
de problemas que utilizan los métodos autodidactas, como la
evaluación
o retroalimentación, para mejorar el rendimiento”. [7]
La programación heurística generalmente se considera como una aplicación de la inteligencia artificial, y como una herramienta para resolver problemas.
Cuando se utiliza en sistemas expertos, este tipo de programación
construye reglas basadas en la experiencia.
Las respuestas generadas por el sistema van mejorando a medida
que este “aprende” en base a nuevas entradas de información,
y aumenta su base de conocimiento.
Si bien está estrechamente relacionado con el tema de la prueba y error, y el aprendizaje basado en la experiencia, en el contexto de la gestión del código malicioso (y también el correo masivo y las molestias relacionadas) el análisis heurístico también tiene un significado más
restringido.
Este método utiliza un enfoque basado en reglas para diagnosticar un archivo potencialmente ofensivo (o un mensaje, en el caso del análisis
del correo no deseado).
El análisis heurístico utiliza un enfoque basado en reglas para diagnosticar un archivo potencialmente ofensivo (o un mensaje, en el caso del análisis
del correo no deseado).
Como el motor de inferencia se alimenta de su base de reglas para
trabajar, comparando el mensaje contra los criterios que indican un
posible código malicioso, asigna un puntaje que se incrementa
cuando encuentra un acierto.
Si el puntaje final alcanza o supera un valor máximo [8], el archivo es marcado como sospechoso (o potencialmente malicioso), y se procesa consecuentemente.
En cierto sentido, la utilización de heurística en las aplicaciones contra el código malicioso intenta aplicar el proceso del análisis
humano a un objeto.
De la misma manera que un humano que estudia aplicaciones maliciosas
intentaría determinar el proceso de un programa y sus acciones, el análisis heurístico realiza el mismo proceso de toma de decisiones inteligente, actuando efectivamente como un investigador virtual de códigos
maliciosos.
Como el analista humano aprende de las amenazas emergentes, él o ella puede aplicar ese conocimiento al analizador heurístico mediante programación, y así mejorar las tasas de detección
futuras.
La programación heurística tiene un doble papel en
el rendimiento de un antivirus: velocidad y detección.
De hecho,
el término heurística se aplica a otras áreas
de la ciencia [9] con
un sentido similar: apuntando a la mejora del rendimiento (especialmente
la velocidad de obtención de datos), a través de un
resultado “lo suficientemente bueno”, antes que el más
exacto.
Así como la cantidad total de virus conocidos ha aumentado,
también lo ha hecho la necesidad de mejorar la velocidad de
detección. De otra forma, el incremento de tiempo necesario
para analizar una cifra cada vez mayor de programas maliciosos, volvería
al sistema efectivamente inútil.
Así como la cantidad total de virus conocidos ha aumentado, también lo ha hecho la necesidad de mejorar la velocidad de detección.
|