2-Furtivos (stealth) Los virus furtivos son variaciones de los virus genéricos; estos evitan que sean detectados guardando una copia de la información del archivo en el disco. Cabe mencionar que una vez que el virus esté en la memoria, éste puede provocar una variedad de operaciones. Por lo tanto, cada vez que se teclee "DIR", podrá obtenerse una lista de los archivos anteriores antes de haber sido infectados por el virus. En verdad, las técnicas de los virus furtivos son mucho mas complejas que esto, sin embargo, todos evitan la detección explorando las interrupciones de DOS.
3-Mutantes. La industria anti-virus apenas comienza a verlos en grandes cantidades y apenas pocos desarrolladores de anti-virus han tenido éxito en derrotar los virus mutantes. Los virus mutantes funcionan de la siguiente manera: se ocultan en un archivo y son cargados en la memoria cuando el archivo es ejecutado y en lugar de hacer una copia exacta de éste cuando infecta otro archivo, éste modificará la copia cada vez que sea ejecutado. A través del uso de "aparatos de mutación" (que en verdad son "buscadores de códigos al azar"), los virus mutantes pueden generar millares de copias diferentes de ellos mismos. Ya que la memoria de los programas rastreadores trabajan intentando distinguir patrones consistentes y reconocibles, los virus mutantes han sido capaces de evitarlos. Seguramente, cualquier rastreador de virus producido antes de enero de 1993 no será capaz de detectar los virus mutantes.
4-Recombinables Estos virus que en su mayoría son experimentales pueden constituir una gran amenaza en los próximos años. De la misma manera que un hombre y una mujer combinan su código genético el tener un hijo, estos virus se unen, intercambian sus códigos y crean nuevos virus. La mayoría de estos virus no funcionan directamente (el lenguaje Assembly no tiene los atributos del DNA), mas sin embargo, algunos de éstos contienen rutinas destructivas muy peligrosas o nuevas técnicas de reproducción. Son virus difíciles de ser previstos debido a que cambian constantemente, imitando el proceso de selección natural y evolución biológica. Afortunadamente, muy pocos de este tipo andan sueltos.
5-"Bounty Hunter" o cazador de cabezas Un "bounty hunter" es alguien que ha sido pagado para encontrar y matar a una persona específica. Los virus "bounty hunter" funcionan de la misma manera, sin embargo, en vez de matar personas, se dirigen a un cierto producto anti-virus. Como no es imposible que un autor de virus examine un determinado producto para descubrir alguna debilidad en el producto, éste podrá crear un nuevo virus que aprovechará esta debilidad para dispersarse y hacer estragos.
6-Específicos para redes. Las redes son lugares óptimos para que los virus se dispercen, ya que la mayoría de los virus, de hecho, no consiguen operar en un ambiente de red. Sin embargo, fueron descubiertos algunos virus flotantes que actúan como programas NLM y logran el acceso a la red coleccionando passwords (contraseñas). Después de lograr el acceso se reproducen y dispersan daños rápidamente. Este tipo de virus es extremadamente peligroso.
7-DE "BOOT" (virus de sector de arranque) El virus de "boot" solamente podrá propagarse a través de disquetes. Si hubiera un disquete en el drive A, el sistema intentará cargar a DOS en ese disquete. Los Virus de "boot" se localizan en la sección del disquete que es cargado en la memoria en el momento de la inicialización ("boot"). Así mismo, el virus de "boot" alcanza la memoria antes que otros programas sean cargados. Por lo tanto, nunca deberá "dar el boot" desde un disquete a no ser que se esté absolutamente seguro de que éste esté limpio. Una vez que un virus de "boot" alcance la memoria, identificará las interrupciones de DOS y reinfectará los nuevos disquetes que sean colocados en los drives. Es difícil que el virus de "boot" sea detectado por los usuarios aunque estos puedan ser distinguidos por programas rastreadores con relativa facilidad. El MS-DOS 5.0 introdujo algunas herramientas que pudieran auxiliar a los usuarios a remover estos virus aunque no ofrezcan protección contra infecciones.
8-MULTI-PARTITIVOS Estos virus tienen las características tanto de aquellos del sector "boot" (de arranque) como de aquellos genéricos (de archivos).
9-DE MACRO Estos representan alrededor del 80% de la infección de virus registrados de acuerdo con la "NCSA" (National Computer Security Association) y son los virus de mayor expansión en la historia de la computación. A diferencia de otros tipos de virus, los macro virus no son específicos de un sistema operativo y se dispersan fácilmente a través de consumibles de e-mails como disquetes, redes, copia de archivos, así como de cualquier otra aplicación. Un macro es un conjunto de instrucciones que ejecutan una tarea, generalmente rutinaria y activada por alguna aplicación específica. Los macro virus son específicos para cada aplicación. Estos infectan macro-utilidades que acompañan a dichas aplicaciones como son las de Microsoft Office, por lo que un macro virus de Word no puede infectar un documento Excel y vice-versa, por lo contrario, estos pueden infectar cientos de archivos aún cuando la aplicación esté siendo utilizado, ya que los macro virus viajan entre archivos de datos a través de las aplicaciones. Los macro virus son escritos en cualquier lenguaje de programación de macro (ejemplo: WordBasic y VisualBasic) y son relativamente fáciles de crear. Desde puntos diferentes, estos pueden infectar archivos durante su uso cuando este se abre, salva, cierra o borra. Una grande ventaja de los macro virus sobre los demás, y que explica su expansión, es la facilidad de programación. Una de las tareas más complicadas de la programación de un virus convencional (archivo o arranque) es la búsqueda dentro de la estructura de directorios y apertura de archivos, infectar y controlar el sistema infectado. Con la programación de macros, localizar y abrir un archivo es una operación echa por una única instrucción macro. Otro aspecto muy fuerte, que facilita la programación, es mantenerse residente en memoria para poder controlar el sistema en todo momento. Los virus de macro tienen la facilidad de infectar un solo archivo: NORMAL.DOT, este archivo es la base de funcionamiento de las aplicaciones Microsoft Office, así el control de la aplicación ya está hecho. Los Macro virus están utilizando técnicas avanzadas de Polimorfismo, ocultamiento (stealth) y encriptación. Las macros más utilizadas por los macro virus son: AutoExec, AutoOpen, AutoClose, FileSave y FileSaveAs.
No obstante, no todos los programas o herramientas que permitan la gestión de macros serán objetivo de este tipo de virus. Las herramientas que son atacadas por los virus de macro, deben cumplir una serie de condiciones:
Las macros pueden transportarse (a través de cualquier medio) de un ordenador a otro, por estar incluidas en el propio fichero infectado (documento, hoja de cálculo, presentación, base de datos,...).
Se pueden obtener, incluir y utiliza en un fichero las macros que se han creado e incluido en otros.
Las macros pueden ejecutarse automáticamente (al abrir o cerrar el fichero, por ejemplo), sin que esto dependa del usuario.
- ¿QUÉ ES UN ANTIVIRUS?.
No para toda enfermedad existe cura, como tampoco existe una forma de erradicar todos y cada uno de los virus existentes.
Es importante aclarar que todo antivirus es un programa y que, como todo programa, sólo funcionará correctamente si es adecuado y está bien configurado. Además, un antivirus es una herramienta para el usuario y no sólo no será eficaz para el 100% de los casos, sino que nunca será una protección total ni definitiva.
La función de un programa antivirus es detectar, de alguna manera, la presencia o el accionar de un virus informático en una computadora. Este es el aspecto más importante de un antivirus, independientemente de las prestaciones adicionales que pueda ofrecer, puesto que el hecho de detectar la posible presencia de un virus informático, detener el trabajo y tomar las medidas necesarias, es suficiente para acotar un buen porcentaje de los daños posibles. Adicionalmente, un antivirus puede dar la opción de erradicar un virus informático de una entidad infectada.
El modelo más primario de las funciones de un programa antivirus es la detección de su presencia y, en lo posible, su identificación. La primera técnica que se popularizó para la detección de virus informáticos, y que todavía se sigue utilizando (aunque cada vez con menos eficiencia), es la técnica descanning. Esta técnica consiste en revisar el código de todos los archivos contenidos en la unidad de almacenamiento -fundamentalmente los archivos ejecutables- en busca de pequeñas porciones de código que puedan pertenecer a un virus informático. Este procedimiento, denominado escaneo, se realiza a partir de una base de datos que contiene trozos de código representativos de cada virus conocido, agregando el empleo de determinadosalgoritmos que agilizan los procesos de búsqueda.
La técnica de scanning fue bastante eficaz en los primeros tiempos de los virus informáticos, cuando había pocos y su producción era pequeña. Este relativamente pequeño volumen de virus informáticos permitía que los desarrolladores de antivirus escaneadores tuvieran tiempo de analizar el virus, extraer el pequeño trozo de código que lo iba a identificar y agregarlo a la base de datos del programa para lanzar una nueva versión. Sin embargo, la obsolescencia de este mecanismo de identificación como una solución antivirus completa se encontró en su mismo modelo.
El primer punto grave de este sistema radica en que siempre brinda una solución a posteriori: es necesario que un virus informático alcance un grado de dispersión considerable para que sea enviado (por usuarios capacitados, especialistas o distribuidores del producto) a los desarrolladores de antivirus. Estos lo analizarán, extraerán el trozo de código que lo identificará, y lo incluirán en la próxima versión de su programa antivirus. Este proceso puede demorar meses a partir del momento en que el virus comienza a tener una dispersión considerable, lapso en el cual puede causar graves daños sin que pueda ser identificado.
Además, este modelo consiste en una sucesión infinita de soluciones parciales y momentáneas (cuya sumatoria jamás constituirá una solución definitiva), que deben actualizarse periódicamente debido a la aparición de nuevos virus.
En síntesis, la técnica de scanning es altamente ineficiente, pero se sigue utilizando debido a que permite identificar rápidamente la presencia de los virus más conocidos y, como son estos los de mayor dispersión, permite una importante gama de posibilidades.
Un ejemplo típico de un antivirus de esta clase es el Viruscan de McAfee, que se verá más adelante.
En virtud del pronto agotamiento técnico de la técnica de scanning, los desarrolladores de programas antivirus han dotado a sus creaciones de métodospara búsquedas de virus informáticos (y de sus actividades), que no identifican específicamente al virus sino a algunas de sus características generales y comportamientos universalizados.
Este tipo de método rastrea rutinas de alteración de información que no puedan ser controladas por el usuario, modificación de sectores críticos de las unidades de almacenamiento (master boot record, boot sector, FAT, entre otras), etc.
Un ejemplo de este tipo de métodos es el que utiliza algoritmos heurísticos.
De hecho, esta naturaleza de procedimientos busca, de manera bastante eficiente, códigos de instrucciones potencialmente pertenecientes a un virus informático. Resulta eficaz para la detección de virus conocidos y es una de las soluciones utilizadas por los antivirus para la detección de nuevos virus. El inconveniente que presenta este tipo de algoritmo radica en que puede llegar a sospecharse de muchisimas cosas que no son virus. Esto hace necesario que el usuario que lo utiliza conozca un poco acerca de la estructura del sistema operativo, a fin de poseer herramientas que le faciliten unadiscriminación de cualquier falsa alarma generada por un método heurístico.
Algunos de los antivirus de esta clase son F-Prot, Norton Anti Virus y Dr. Solomon's Toolkit.
Ahora bien, otra forma de detectar la presencia de un virus informático en un sistema consiste en monitorear las actividades de la PC señalando si algún proceso intenta modificar los sectores críticos de los dispositivos de almacenamiento o los archivos ejecutables. Los programas que realizan esta tarea se denominan chequeadores de integridad.
Sobre la base de estas consideraciones, podemos consignar que un buen sistema antivirus debe estar compuesto por un programa detector de virus -que siempre esté residente en memoria- y un programa que verifique la integridad de los sectores críticos del disco rígido y sus archivos ejecutables. Existen productos antivirus que cubren los dos aspectos, o bien pueden combinarse productos diferentes configurados de forma que no se produzcan conflictos entre ellos.
MODELO ANTIVIRUS:
La estructura de un programa antivirus, está compuesta por dos módulos principales: el primero denominado de control y el segundo denominado de respuesta. A su vez, cada uno de ellos se divide en varias partes:
- Módulo de control: posee la técnica verificación de integridad que posibilita el registro de cambios en los archivos ejecutables y las zonas críticas de un disco rígido. Se trata, en definitiva, de una herramienta preventiva para mantener y controlar los componentes de información de un disco rígido que no son modificados a menos que el usuario lo requiera.
Otra opción dentro de este módulo es la identificación de virus, que incluye diversas técnicas para la detección de virus informáticos. Las formas más comunes de detección son el scanning y los algoritmos, como por ejemplo, los heurísticos.
Asimismo, la identificación de código dañino es otra de las herramientas de detección que, en este caso, busca instrucciones peligrosas incluidas en programas, para la integridad de la información del disco rígido.
Esto implica descompilar (o desensamblar) en forma automática los archivos almacenados y ubicar sentencias o grupos de instrucciones peligrosas.
Finalmente, el módulo de control también posee una administración de recursos para efectuar un monitoreo de las rutinas a través de las cuales se accede al hardware de la computadora (acceso a disco, etc.). De esta manera puede limitarse la acción de un programa restringiéndole el uso de estosrecursos, como por ejemplo impedir el acceso a la escritura de zonas críticas del disco o evitar que se ejecuten funciones de formato del mismo.
- Módulo de respuesta: la función alarma se encuentra incluida en todos los programas antivirus y consiste en detener la acción del sistema ante la sospecha de la presencia de un virus informático, e informar la situación a través de un aviso en pantalla.
Algunos programas antivirus ofrecen, una vez detectado un virus informático, la posibilidad de erradicarlo. Por consiguiente, la función reparar se utiliza como una solución momentánea para mantener la operatividad del sistema hasta que pueda instrumentarse una solución adecuada. Por otra parte, existen dos técnicas para evitar el contagio de entidades ejecutables: evitar que se contagie todo el programa o prevenir que la infección se expanda más allá de un ámbito fijo.
Aunque la primera opción es la más adecuada, plantea grandes problemas de implementación.
DETECCIÓN Y PREVENCIÓN.
Debido a que los virus informáticos son cada vez más sofisticados, hoy en día es difícil sospechar su presencia a través de síntomas como la pérdida de performance. De todas maneras la siguiente es una lista de síntomas que pueden observarse en una computadora de la que se sospeche esté infectada por alguno de los virus más comunes:
- Operaciones de procesamiento más lentas.
- Los programas tardan más tiempo en cargarse.
- Los programas comienzan a acceder por momentos a las disqueteras y/o al disco rígido.
- Disminución no justificada del espacio disponible en el disco rígido y de la memoria RAM disponible, en forma constante o repentina.
- Aparición de programas residentes en memoria desconocidos.
La primera medida de prevención a ser tenida en cuenta es, como se dijo anteriormente, contar con un sistema antivirus y utilizarlo correctamente. Por lo tanto, la única forma de que se constituya un bloqueo eficaz para un virus es que se utilice con determinadas normas y procedimientos. Estas normas tienden a controlar la entrada de archivos al disco rígido de la computadora, lo cual se logra revisando con el antivirus todos los disquetes o medios de almacenamiento en general y, por supuesto, disminuyendo al mínimo posible todo tipo de tráfico.
Además de utilizar un sistema antivirus y controlar el tráfico de archivos al disco rígido, una forma bastante eficaz de proteger los archivos ejecutables es utilizar un programa chequeador de integridad que verifique que estos archivos no sean modificados, es decir, que mantengan su estructura. De esta manera, antes que puedan ser parasitados por un virus convencional, se impediría su accionar.
Para prevenir la infección con un virus de sector de arranque, lo más indicado es no dejar disquetes olvidados en la disquetera de arranque y contar con un antivirus. Pero, además, puede aprovecharse una característica que incorpora el setup de las computadoras más modernas: variar la secuencia de arranque de la PC a "primero disco rígido y luego disquetera" (C, A). De esta manera, la computadora no intentará leer la disquetera en el arranque aunque tenga cargado un disquete.
Algunos distribuidores o representantes de programas antivirus envían muestras de los nuevos virus argentinos a los desarrolladores del producto para que los estudien o incluyan en sus nuevas versiones o upgrades, con la demora que esto implica.
En consecuencia, la detección alternativa a la de scanning y las de chequeo de actividad e integridad resultan importantes, ya que pueden detectar la presencia de un virus informático sin la necesidad de identificarlo. Y esta es la única forma disponible para el usuario de detectar virus nuevos, sean nacionales o extranjeros.
De todas maneras, existe una forma de actualizar la técnica de scanning. La misma consiste en incorporarle al antivirus un archivo conteniendo cadenas de caracteres ASCII que sean trozos de código (strings) significativos del sector vital de cada nuevo virus que todavía no esté incorporado en la base de datos del programa.
De todas formas, esta solución será parcial: la nueva cadena introducida sólo identificará al virus, pero no será capaz de erradicarlo.
Es muy importante que los "strings" que se vayan a incorporar al antivirus provengan de una fuente confiable ya que, de lo contrario, pueden producirse falsas alarmas o ser ineficaces.
Algunos de los antivirus que soportan esta cualidad de agregar strings son Viruscan, F-Prot y Thunderbyte.
La NCSA (National Computer Security Association, Asociación Nacional de Seguridad de Computadoras) es la encargada de certificar productor antivirus.
Para obtener dicha certificación los productos deben pasar una serie de rigurosas pruebas diseñadas para asegurar la adecuada protección del usuario.
Antiguamente el esquema de certificación requería que se detectara (incluyendo el número de versión) el 90 % de la librería de virus del NCSA, y fue diseñado para asegurar óptimas capacidades de detección. Pero esta metodología no era completamente eficiente.
Actualmente, el esquema de certificación enfoca la amenaza a las computadoras empresariales. Para ser certificado, el producto debe pasar las siguientes pruebas:
- Debe detectar el 100% de los virus encontrados comúnmente. La lista de virus comunes es actualizada periódicamente, a medida que nuevos virus son descubiertos.
- Deben detectar, como mínimo, el 90% de la librería de virus del NCSA (más de 6.000 virus)
Estas pruebas son realizadas con el producto ejecutándose con su configuración "por defecto".
Una vez que un producto ha sido certificado, la NCSA tratará de recertificar el producto un mínimo de cuatro veces. Cada intento es realizado sin previo aviso al desarrollador del programa. Esta es una buena manera de asegurar que el producto satisface el criterio de certificación.
Si un producto no pasa la primera o segunda prueba, su distribuidor tendrá siete días para proveer de la corrección. Si este límite de tiempo es excedido, el producto será eliminado de la lista de productos certificados.
Una vez que se ha retirado la certificación a un producto la única forma de recuperarla es que el distribuidor envíe una nueva versión completa y certificable (no se aceptará sólo una reparación de la falla.
Acerca de la lista de virus de la NCSA, aclaremos que ningún desarrollador de antivirus puede obtener una copia. Cuando un antivirus falla en la detección de algún virus incluido en la lista, una cadena identificatoria del virus le es enviada al productor del antivirus para su inclusión en futuras versiones.
En el caso de los virus polimórficos, se incluyen múltiples copias del virus para asegurar que el producto testeado lo detecta perfectamente. Para pasar esta prueba el antivirus debe detectar cada mutación del virus.
La A. V. P. D. (Antivirus Product Developers, Desarrolladores de Productos Antivirus) es una asociación formada por las principales empresas informáticas del sector, entre las que se cuentan:
- Cheyenne Software
- I. B. M.
- Intel
- McAfee Associates
- ON Tecnology
- Stiller Research Inc.
- S&S International
- Symantec Corp.
- ThunderByte
- ¿QUÉ NO ES UN VIRUS?.
Existen algunos programas que, sin llegar a ser virus, ocasionan problemas al usuario. Estos no-virus carecen de por lo menos una de las tres características identificatorias de un virus (dañino, autorreproductor y subrepticio). Veamos un ejemplo de estos no - virus: "Hace algunos años, la red de I. B. M., encargada de conectar más de 130 países, fue virtualmente paralizada por haberse saturado con un correo electrónico que contenía un mensaje de salutación navideña que, una vez leído por el destinatario, se enviaba a sí mismo a cada integrante de las listas de distribución de correo del usuario. Al cabo de un tiempo, fueron tantos los mensajes que esperaban ser leídos por sus destinatarios que el tráfico se volvió demasiado alto, lo que ocasionó la caída de la red".
Asimismo, es necesario aclarar que no todo lo que altere el normal funcionamiento de una computadora es necesariamente un virus.
Por ello, daré algunas de las pautas principales para diferenciar entre qué debe preocuparnos y qué no:
BUGS (Errores en programas).
Los bugs no son virus, y los virus no son bugs. Todos usamos programas que tienen graves errores (bugs). Si se trabaja por un tiempo largo con un archivo muy extenso, eventualmente algo puede comenzar a ir mal dentro del programa, y este a negarse a grabar el archivo en el disco. Se pierde entonces todo lo hecho desde la última grabación. Esto, en muchos casos, se debe a ERRORES del programa. Todos los programas lo suficientemente complejos tienen bugs.
FALSA ALARMA.
Algunas veces tenemos problemas con nuestro hardware o software y, luego de una serie de verificaciones, llegamos a la conclusión de que se trata de un virus, pero nos encontramos con una FALSA ALARMA luego de correr nuestro programa antivirus.
Desafortunadamente no hay una regla estricta por la cual guiarse, pero contestarse las siguientes preguntas puede ser de ayuda:
- ¿Es sólo un archivo el que reporta la falsa alarma (o quizás varios, pero copias del mismo)?.
- ¿Solamente un producto antivirus reporta la alarma? (Otros productos dicen que el sistema está limpio).
- ¿Se indica una falsa alarma después de correr múltiples productos, pero no después de bootear, sin ejecutar ningún programa?.
Si al menos una de nuestras respuestas fue afirmativa, es muy factible que efectivamente se trate de una falsa alarma.
PROGRAMAS CORRUPTOS.
A veces algunos archivos son accidentalmente dañados, quizás por problemas de hardware. Esto quiere decir que no siempre que encontremos daños en archivos deberemos estar seguros de estar infectados.
No hay comentarios:
Publicar un comentario