Esta página es un servicio gratuito de Video Soft BBS - SUBSCRIBASE en nuestras listas de correo.

Busque su tema:

VSantivirus  Internet
Proporcionado por FreeFind

Video Soft BBS
Menú Principal
Anti Trojans
Antivirus
Hoaxes
Subscripciones
Otro software
Artículos
Links
Sugerencias
Sobre el BBS
Direcciones
Galería
Chat

Controlado desde el
19/10/97 por NedStat

Funcionamiento de un programa antivirus
 
VSantivirus No. 1036, Año 7, Viernes 9 de mayo de 2003

Funcionamiento de un programa antivirus
http://www.vsantivirus.com/fdc-funcionamiento-antivirus.htm

Por Fernando de la Cuadra (*)
Fdelacuadra@pandasoftware.com



Desde los primeros virus, creados como experimentos en los años 80 hasta los últimos, una de las mayores preocupaciones de cualquier usuario de ordenador ha sido la entrada de códigos malignos en su sistema.

Para evitar que los virus disfruten de nuestro ordenador solamente hay dos soluciones: una, la "burbuja"; es decir, desconectar el equipo de la red o de Internet y prescindir de cualquier lector de disquetes, CD-ROM o unidades extraíbles. Así tendremos la absoluta seguridad de que no va a entrar ningún virus. Pero tampoco entrará ningún dato que no sea por el teclado, lo que haría de nuestro ordenador una bonita máquina, pero completamente alejada de lo que es la informática: el tratamiento automático de la información. Si no hay información que entre, no se podrá tratar. Si ese es su punto de vista, le podemos recomendar un montón de espectaculares hornos microondas que le darán más servicio que un ordenador "burbuja".

La segunda solución es la instalación de un programa antivirus. Con ellos podrá tener la seguridad de que ningún código maligno entrará en nuestro sistema, pero ¿cómo lo hacen?, ¿por qué un antivirus permite que instale un juego y no permite que se copie un virus? Veamos cómo funciona.

Un programa antivirus no es más que un sistema que analiza información de muy diverso tipo y, en caso de que se encuentre infectada, procede a su desinfección. El análisis de la información se produce de muy diferentes maneras dependiendo de dónde provenga. Evidentemente no es lo mismo que un antivirus se dedique a controlar la actividad de la disquetera que la del correo electrónico o la de la red local. El principio de funcionamiento es similar, pero con matices.

La información que está en el "Sistema origen" debe llegar al "Sistema destino". El sistema origen podría ser un disquete y el sistema destino el disco duro del ordenador, o bien el origen podría ser un ISP donde está almacenado un mensaje y el destino el sistema de comunicación de Windows de la máquina cliente o Winsock.

El funcionamiento del mecanismo de interceptación de la información varía en función de su implantación en sistemas operativos, en aplicaciones o bien de la necesidad de mecanismos especiales. 

El mecanismo de interceptación debe ser específico para cada sistema operativo o componente sobre el que se va a implantar el antivirus. Por ejemplo, en el caso de Windows 9x, estará formado por un driver virtual VxD que monitorice constantemente la actividad del disco. De esta manera, cada vez que se vaya a acceder a la información del disco o de los disquetes, el antivirus interceptará la llamada a la lectura o escritura del disco, analizará la información que se va a leer o grabar y la analizará. Esta misma operación se realiza a través de un driver en modo kernel en Windows NT/2000/XP o un NLM interceptando la actividad de disco en Novell.

En el caso de los antivirus no diseñados directamente para sistemas operativos sino para implementarse sobre otras aplicaciones, el mecanismo de intercepción es distinto. Por ejemplo, en el caso de un antivirus para Firewalls CVP, es el propio firewall el que facilita la información al antivirus para su análisis mediante el protocolo CVP. O en el caso de un antivirus para SendMail es MilterAPI el que facilita la interceptación de la información.

En determinadas ocasiones no existe un mecanismo propio de interceptación proporcionado por el antivirus (como puede ser un VxD) o por la aplicación (como el CVP). En este caso, se deben utilizar mecanismos especiales entre la aplicación y el antivirus, es decir, recursos que intercepten la información y se la faciliten al antivirus, proporcionando una integración completa para la desinfección de los virus.

Una vez analizada la información, por el método que sea, si se ha detectado cualquier peligro, se llevan a cabo dos acciones:

1. Devolver la información limpia al mecanismo de interceptación que, a su vez, la devolverá al sistema para que siga su curso hasta el destino final. Es decir, si estábamos recibiendo un correo electrónico, dejar que el correo llegue a la bandeja de entrada, o si estábamos copiando un fichero, dejar que se termine el proceso de copia.

2. Emitir una alarma a la interfaz del usuario. Esta interfaz de usuario puede ser también muy diversa. En un antivirus para una estación de trabajo puede ser un mensaje mostrado por pantalla, pero en una solución para servidores la alarma puede consistir en un mensaje de correo electrónico, un mensaje a la red interna, una entrada en un informe de actividad o una comunicación de algún tipo a la herramienta de gestión del antivirus. 

Como vemos, el antivirus no hace ningún milagro extraño, ni es una pieza de software a la que debamos mirar con extrañeza. Es un aliado de nuestra seguridad muy sencillo, pero de una elevada tecnología y precisión. Pensemos que para copiar unos cuantos megas a nuestro disco duro el antivirus debe buscar entre más de 65.000 virus sin que la marcha normal del equipo se interrumpa ni el usuario lo perciba demasiado.

La seguridad que ofrece un antivirus es muy elevada y nos evitará más de un disgusto. Y eso es algo tan sencillo como emplear XXX Euros en una caja tranquilizadora. No creo que la duda sea muy grande...

Motores de búsqueda

Independientemente de cómo se haya conseguido la información a analizar, entra en acción la parte más importante de un antivirus: el motor de búsqueda de virus. Este motor se encarga de buscar virus en la información que ha sido interceptada y, si procede, desinfectarla.

Esta búsqueda de información se lleva a cabo de dos maneras. Una consiste en comparar la información recibida con una base de datos de virus (las llamadas "firmas de virus"). Si coincide la información con los patrones previamente conocidos mediante las firmas, se concluye que el fichero está infectado por un virus.

La otra manera es "averiguar" si lo que se está analizando puede ser peligroso sin saber previamente si es un virus o no. Es el llamado "método heurístico". Para ello se analiza cómo se comporta la información y se compara con una lista de patrones de comportamientos peligrosos.

Por ejemplo, si se encuentra que un fichero tiene capacidad de formatear un disco duro el antivirus puede avisar al usuario. Quizá no sea un virus, sino un nuevo sistema de formateo que el usuario está instalando en el sistema; sin embargo, la acción de por sí, es peligrosa. Es el usuario, ante la alerta que le da el antivirus el que debe decidir si elimina el peligro o no.

Cada uno de estos procesos tienen sus ventajas e inconvenientes. Si nos fiamos únicamente del sistema de firmas de virus, deberemos actualizarlo todos los días al menos una vez. Teniendo en cuenta que se están descubriendo 15 virus nuevos todos los días, dejar un antivirus más de dos o tres días sin actualizar es demasiado peligroso.

Y el sistema heurístico puede que nos de alertas con elementos que sabemos que no lo son. Si acostumbramos a trabajar con determinados elementos que pueden ser considerados peligrosos las alertas nos cansarán. Sobre todo los programadores pueden preferir desactivarlo.

Antivirus residentes y bajo demanda

Cuando se habla de un antivirus hay que hacer una distinción muy clara entre los dos tipos de antivirus que hay. Uno son los antivirus residentes, de los cuales hablamos fundamentalmente en el artículo, que son los más complejos y más necesarios. Son los antivirus que están constantemente vigilando el sistema para evitar que haya ningún tipo de intrusión.

El otro tipo de antivirus son los analizadores bajo demanda. Éstos, si bien utilizan el mismo motor de búsqueda que el residente, se encargan de analizar partes del sistema solamente cuando el usuario lo ordena. Son llamados en ocasiones especiales. Puede usarse, por ejemplo para analizar un disquete nuevo, o para revisar la información antigua y no utilizada.


(*) Fernando de la Cuadra es Editor Técnico Internacional de Panda Software (http://www.pandasoftware.com)



(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com

 

Copyright 1996-2003 Video Soft BBS