sábado, 5 de diciembre de 2009
Heuristica de 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.
Arnoldo Moreno, Asesor Independiente en Temas de Seguridad Informática
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario