LOS VIRUS

¿Qué es un virus ? | Clasificación de los virus | Familias de virus | Técnicas de camuflaje | Sintomas del virus | Consejos prácticos


Los antepasados de los virus se remontan al año de 1942 cuando John Von Newman presentó a la comunidad científica sus automatas autorreplicables. Este experimento consistía en pequeños programas con la capacidad de multiplicarse y esparcirse en la memoria sin la intervención del programador. Más tarde, a finales de los años cincuenta, tres programadores de los laboratorios Bell, recogiendo el legado de Von Newman, crearon un juego basado en pequeños programas que desplegaban técnicas de ataque, ocultamiento y reproducción, al que bautizaron como CoreWars. Este experimento fue difundido en 1984 por la revista Scientific American, formándose así una legión de seguidores. Dos años despúes, Fred Cohen, durante un seminario sobre seguridad informática, dio por primera vez, la denominación de virus informático: " Se trata de programas que pueden modificar a otros para incluir una copia, posiblemente evolucionada, de si mismos hasta el infinito ".

Ese mismo año apareció el primer virus para PC con sistema operativo MS-DOS, su nombre era Brain y provenía de Pakistán. Al principio Brain se comportaba inofensivo, se limitaba a desplegar un mensaje de advertencia que incluía la dirección y telefóno de los creadores. Un año despúes mostró su poder destructivo al infectar centenares de diskettes, en la Universidad Delaware (Newark - Estados Unidos ). En 1988 la revista Times reveló que este mismo virus había atacado las computadoras de un periódico local.

Fred Cohen en los ochenta los clasificó como Trojan Horse (Caballo de Troya) y Worms (Gusanos). Otra más reciente los distingue según el área de la computadora que infectan: Virus de Boot, de sistema, de archivos ejecutables y desde 1995 los macros virus. Sobre el mecanismo de los gusanos: " Mientras que los virus tradicionales infectan programas propios que luego son enviados a otros usuarios, los worms no infectan desde archivos, simplemente usan la computadora para enviarse hacia otro equipos ."

A medida que transcurrieron los años, los virus comenzaron a combinar el ingenio destructivo y los más sorprendentes métodos de camuflaje. Sin embargo no todos eran así: algunos virus como Cookie Monster se ganaban la sonrisa de algún usuario. El archivo infectado mostraba un pequeño mostruo que pedía galletas. Bastaba que digite la palabra cookie (galleta) para que aquel impertinente invasor desapareciese... hasta nuevo aviso.

Otro llamado Elk Cloner se reproducía mientras desplegaba versos de renombrados autores literarios. Algunos de estos virus tienen gran acogida por la prensa, sin embargo no siempre se tratan de casos reales.

Hace algunos meses distintos medios de prensa alertaron sobre el Virus Ortográfico, que tras revisar minuciosamente la ortográfia del mensaje, impedía su envio en el caso de detectar errores. Afortunadamente la existencia de este virus fue desmentida a los pocos dias.

Con la aparición de Arpanet y posteriormente Internet, el riesgo de contagio se elevó dramáticamente. "Internet ha facilitado la propagación de los virús, ya que ha permitido que miles de computadoras puedan usar un medio común para comunicarse..." comenta Luis Valenzuela, representante de Panda Antivirus. Por otro lado, debido a la abundante información que circula por la red, acerca de cómo crear un virús, la variedad de estos se ha visto peligrosamente incrementada.


[] ¿QUÉ ES UN VIRUS? [ /\ ][ \/ ]   

Un virus es un programa que se reproduce así mismo, añadiendo su código en algún lugar del código de otros programas. Por lo general los virus se añaden en la parte final del programa para infectarlo; es decir modifican su correcto funcionamiento y, por supuesto, incrementan el tamaño del mismo.

Son pequeños pedazos de código que por sí solos no significan nada, por lo que deben encontrar un lugar donde puedan reproducirse para continuar su cliclo de vida.


[] CLASES DE VIRUS [ /\ ][ \/ ]   

Cualquier virus es perjudicial pues, aunque no destruyan nada en su disco, destruyen la confianza en su PC, algo muy valioso. Los virus se pueden clasificar en dos categorias básicas: malignos y benignos. Los virus benignos son programas que se transmiten de computadora en computadora y que eventualmente se dejan ver, mostrando un gráfico o reproduciendo una melodía. A pesar de que no borren el disco duro y de que respeten los valiosísimos datos de su Pc, por ser programas con un código pobre (debido a su limitación de extención), podrán causar bloqueos en el equipo, pérdida de datos en la memoria, relentización de su trabajo o conflictos con otros programas.

Los virus malignos son realmente destructivos y se reproducen con mucha facilidad. La forma más tradicional de contagio es a través de un disquete, un CD-ROM o copiando un archivo por Internet. Los virus que se ocultan en el sector de arranque de un disquete son fáciles de detectar, pero también son los más comunes, como Stoned, From, Stealth-B, antiExe o Monkey.

Básicamente , las clases de virus que se puede encontrar en nuestra PC son las siguientes:

BOMBAS LÓGICAS

Funcionalmente se comportan como una bomba real. Permanecen dormidas en nuestro equipo hasta que algo les hace detonarse: número determinado de veces que se ejecuta un programa, una fecha determinada, etc.

Cuando estallan producen daños irreparables, como mover aleatoriamente los bytes por el disco duro o borrar la FAT.

TROYANOS

Actúan igual que en la historia del Caballo de Troya, ya que se introducen en la PC bajo el aspecto de un programa inofensivo y cuando se activan, atacan el sistema.

Muy a menudo se les califica erróneamente de virus informáticos. Decimos erróneamente porque no cumple la condición indispensable de todo virus informático: tratar de pasar inadvertido y autorreplicarse (infectar) en un medio distinto del original.

Un Caballo de Troya es todo programa que aparentemente realiza una tarea totalmente inofensiva, cuando en realidad y sin que se haya dado cuenta, está realizando otra totalmente distinta y hostil. Los primeros Caballos de Troya eran aplicaciones pequeñas que trataban de captar interés de los usuarios en forma de juego, pequeñas aplicaciones o crack de alguna conocida aplicación shareware. Aparte de cumplir con su tarea solían introducir en el sistema virus o causar daños paulatinamente. Debido al fenómeno Internet, los Caballos de Troya vuelven a estar en boca de todos pero, esta vez, el término tiene una connotación sutilmente distinta.

Un Caballo de Troya en el contexto de la Red es un programa que, al iguial que los soldados, abrirá sin que se dé cuenta de ello, una puerta trasera a terceros usuarios para que accedan a los recursos de su máquina sin permiso.

El esquema del Caballo de Troya en la era Internet es sencillo, consta de dos partes: cliente y servidor. El servidor es el programa que se instala sigilosamente en la máquina del usuario que va a sufrir el ataque, mientras que el cliente es la aplicación que remotamente controla ese servidor. Todo el proceso comienza cuando alguien consigue introducirle un troyano en su equipo y usted lo ejecuta confiado pensando que va a realizar una tarea totalmente distinta. El servidor lo puede haber recibido por correo electrónico o bajado de una página web en forma, por ejemplo de un visor de imágenes. Cuando se ejecuta por primera vez, aparte de instalar el visor de imágenes, instala el troyano, el servidor. Para esto último normalmente modifican el registro de Windows o modifica alguno de sus INI para asegurarse de que el servidor será ejecutado la próxima vez que arranque el sistema.

Cuando reinicia el equipo, el servidor se carga en memoria de forma automática e invisible de cara al usuario. Espera pacientemente hasta que se conecte a la Red, momento en el cual abre una serie de puertos de comunicación por los cuales va a atender las peticiones del cliente y enviar los datos que le sean solicitados. Con frecuencia estos "puertos" corresponden a puertos TCP o UDP altos (por encima del 1024). El propio servidor se encarga de informar al cliente mediante un correo electrónico o medio similar cuándo está conectado y qué dirección IP. Cuando el intruso se da cuenta de que la máquina se encuentra on-line, arranca el cliente y se dispone a controlar remotamente el equipo a través del servidor que tiene involuntariamente instalado. Desde el cliente se puede acceder a toda información y recursos del equipo remoto. Con una simple señal, el servidor puede enviar la estructura del disco y cualquier archivo contenido en él (archivos de passwords, documentos confidenciales, etc), transmitir una captura de la pantalla (viendo así lo que escribe), leer y escribir un mensaje (suplantando su identidad), y eliminar o modificar los archivos cuando lo crea conveniente.

Los Troyanos más conocidos son Back Orifice, NetBus y Deep Throat. La inmensa mayoría de los antivirus los detectan si bien usted mismo puede percibir su presencia si observa con cierta regularidad los puertos que tiene abiertos o si, por ejemplo, se da cuenta de que aunque no esté haciendo nada, el módem envía y recibe datos constantemente.

GUSANOS (WORMS)

Son programas cuya única misión es reproducirse sin parar. No infectan a otros programas, pero se reproducen tan rápidamente que pueden llegar a colapsar redes.

Para ser justos, se podía considerar a los worms casi virus. La razón por la que no se les puede otorgar el deshonroso titúlo de virus informático es que no necesitan contaminar ningún archivo para poder expandirse. Su objetivo es mantenerse viajando constantemente de una máquina a otra de una red cualquiera. Utilizan diversas técnicas para desde cualquier punto enviar una copia de sí mismos a equipos remotos conectados a la misma red. En los equipos destino, el worm logra tomar el control y enviarse igualmente a otras muchas máquinas.

En el pasado algunos worms llegaron a colapsar Internet. Una de las últimas alarmas de este tipo la causo BubleBoy, un i-worm que se reproduce por correo electrónico y que apenas precisa de intervención por parte del usuario para actuar.

Una vez recibido el mensaje que contiene a BubleBoy, con tan sólo leerlo, envía una copia de sí mismo a todos los destinatarios que puede. Más reciente tuvimos el caso de I Love You.

MACRO

Los virus de este tipo están desarrollados en lenguajes como WordBasic que se incluye en el programa Word o en Excel, Visual Basic, etc. Estos virus se ocultan en las plantillas de un documento o una hoja de cálculo y se activan al editarla. Lo primero que hacen es modificar la plantilla maestra (NORMAL.DOT) y de esta forma se activará el virus cada vez que se arranque Word.


[] FAMILIAS DE VIRUS [ /\ ][ \/ ]   

Para reproducirse los virus utilizan distintas técnicas y actúan en distintas partes del disco. Desde este punto de vista se pueden establecer la siguiente clasificación:

VIRUS DE SECTOR DE ARRANQUE MAESTRO (MBR)

Modifican el sector de arranque para activar el virus que se encuentra en cualquier otro sector del disco. Hasta la aparición de los virus de macro y de archivo de última generación, los virus de MBR eran el tipo de mayor difusión entre usuarios de PC. Los virus de esta clase atacan el sector de arranque de discos duros y disquetes, bien sustituyendo simplemente la totalidad del sector de arranque original por una copia de sí mismos y guardando el sector de arranque original en otro punto del disco duro.

Dentro de este tipo de virus, los más comunes son los que almacenan el sector de arranque en otro punto del HDD, pues en los 512 bytes del sector de arranque no suele haber sitio suficiente para almacenar la totalidad del cuerpo del virus. El mecanismo de infección es simple, un disquete infectado se deja por descuido, en la unidad. Cuando se reinicia la computadora, el sistema intenta arrancar (generalmente) primero el disquete. Éste comienza a girar y el sistema ejecuta el virus que contiene el MBR del mismo. EL virus entonces detecta que el disco duro no ha sido infectado previamente y realiza las modificaciones pertinentes en su MBR para incluir una copia de sí mismo.

Virus avanzados de este tipo guardan una copia del sector de arranque original e incluso partes de sí mismos en otro punto del disco duro, utilizando los escazos 512 bytes del MBR para inicializar el virus y apuntar, según que casos, al área del disco que contiene la mayor parte del virus y el MBR original. Apartir de este punto, cada vez que se reinicie la máquina arrancando desde el disco duro, una copia de éste quedará residente en memoria.

Si un programa solicita la lectura o escritura de información de la tabla de particiones almacenada en el MBR, el virus detecta la llamada, lee la información del punto del disco donde haya almacenado la copia de la tabla de particiones, y devuelve al programa los datos pertinentes. Formatear el disco duro no tiene ningún efecto pues este proceso no modifica el MBR. La única salida en este caso es formatear a bajo nivel y regenerar toda la tabla de particiones de nuevo.

VIRUS DE COMPAÑERO (companion)

Esta clase de pseudovirus se basa en un principio muy antiguo del sistema operativo DOS, según el cual, si dos ejecutables con el mismo nombre se encuentran en el mismo directorio, se ejecutará primero el de extensión .COM. Algo similar también se puede conseguir variando el PATH del DOS. Un virus de esta clase buscará ejecutables en un directorio, detectará si su extensión es .EXE y se copiará a si mismo con el mismo nombre del .EXE pero con extensión .COM.

VIRUS BIMODALES (multipartite)

Son aquellos virus diseñados para atacar tanto el sector de arranque como archivos ejecutables del disco.

VIRUS DE MACRO

En su día, este tipo de virus destruyo el concepto que hasta entonces se tenía de ellos, pillando a la mayor parte de los usuarios (incluso algunos expertos), por sorpresa. Hasta su aparición a mediados de 1995, se tenía por axioma que un virus infectaba archivos ejecutables o del sistema que pudierán ser ejecutadas en algún momento, tales como el sector de arranque. Sin embargo los virus de macro se alojan en simples documentos de aplicaciones que hacen uso de un potente lenguaje interpretado para la automatización de tareas, lo que se conoce por lenguaje macros. Esto es, un documento de Word aparte de contener toda la información referente al texto que almacena, incluye muy a menudo pequeños programas llamados macros. Estos programas inicialmente pensados para facilitar determinadas tareas al usuario se programan en un lenguaje de alto nivel. Lamentablemente debido a la potencia de la que gozan estos lenguajes hoy en día es posible escribir virus muy fácilmente.

Cuando un virus de macro llega al equipo en forma de documento y éste es abierto, la aplicación trata de ejecutar las macros que lo acompañan. si no existe restricción alguna en su ejecución, normalmente infectan la plantilla maestra (Normal.Dot en Word). en posteriores ocasiones, cuando se ejecute la aplicación, la plantilla maestra será interpretada y la parte virica de ésta se encargará de incluir una copia del virus en cada documento que se cree o modifique. Este tipo de virus no sólo afecta a Microsoft Word, sino a documentos de cualquier aplicación que disponga de un lenguaje de macros lo suficientemente potente como Ami Pro o CorelDraw. No obstante, los más comunes son los que afectan a la suite de Microsoft. Tenga en mente que cuando alguien le envía por ejemplo un archivo de Word (.DOC), por email, puede contener algo más que un simple texto. Procure asimismo (cuando tenga que hacerlo), enviar documentos de este tipo en otro formato (como puede ser RTF).

A la fecha el 95% de los virus nacionales lo conforman la familia de macrovirus de Word y Excel, esto es entendible, cualquier estudiante de sistemas conoce el Visual Basic (lenguaje donde son creados los macrovirus). Crear un macrovirus puede tomar unos 20 minutos para alguien con conocimientos promedio de Visual Basic.

VIRUS DE BATCH

Los virus que originaron esta familia son realmente antiguos y se basan en la capacidad del DOS de ejecutar archivos .BAT de proceso por lotes. Los virus de este tipo eran muy fáciles de detectar (estaban escritos en modo texto), y no había forma alguna de ocultarlos, siendo su poder al igual limitado y disponiendo sólo de unas cuantas instrucciones de escasas posibilidades. En esta categoría, se tiene que incluir algo más modernos y por tanto más versátiles desarrollados en WinScript (se supone que la evolución del .BAT, en este caso para Windows). En esta clase también estarían los scripts para mIRC tan popular en ciertos ambientes y aquellos más orientados a la Red como los virus de HTML, VBS, JavaScript o JScript.

VRUS DE JAVA y ACTIVEX

Sufrir un ataque por parte de un virus de éstos es algo complicado. Java tiene varios modos de ejecución (varios tipos de aplicaciones). Dentro de un navegador web se pueden ejecutar lo que se conoce como applets. Los applets son programas que se ejecutan en una máquina virtual con fuertes restricciones de seguridad. En ningún caso un programa de este tipo tiene acceso no ímplicitamente permitido por parte del usuario a recursos fisicos (archivos, impresoras, etc) de la máquina que lo ejecuta. Sin embargo , un control ActiveX, un plug-in o cualquier elemento activo no son más que archivos ejecutables que se añaden al navegador para agregarle ciertas características. Como ejecutables obviamente pueden contener código malicioso, luego hay que asegurarse bien de que la fuente de la que descarga este pequeño añadido del navegador sea fiable e, incluso entonces, pensarlo bien antes de descargarlo alegremente.


[] TÉCNICAS DE CAMUFLAJE [ /\ ][ \/ ]   

El éxito o fracaso de la difusión de un virus depende de la capacidad de pasar inadvertido para el usuario y los antivirus. Los virus suelen emplear diversas técnicas para evadir la detección aunque, por limitaciones del propio lenguaje en el que fueron creados, ciertas familias no podrán implementar algunas de las técnicas que se describen a continuación:

MECANISMO DE STEALTH

Despúes de un periodo en el que se supo hacer frente a los virus de desarrolló la técnica de checksumming. Los scanners calculaban a través de una función matemática una única firma por cada archivo, si posteriormente se volvía a analizar el archivo y su checksum, la firma resultaba ser distinta, era posible que hubiera sido infectado por un virus.

Sin embargo, no tardaron mucho tiempo en aparecer virus inmunes a esta detección. Un virus que implemente stealth falsifica la información que es leída del disco de tal forma que si un programa recibe los datos que espera, aunque éstos no correspondan con el estado real del archivo o zona del disco. Tanto los virus de archivo como los de sector de arranque son muy dados a implementar esta "característica". En un virus de sector de arranque como el popular Brain captura las peticiones de lectura y escritura de forma que si alguna aplicación solicita leer el MBR, intercepta la llamada, lee la copia del mismo que a almacenado en un lugar del disco, y devuelve al programa el MBR original. De esta forma, dado que el programa recibe la información original, todo parece ser correcto.

Las técnicas de Stealth no se limitan a esto, engloban todo tipo de código destinado a ocultar la presencia del virus.

TÉCNICAS DE ENCRIPTACIÓN

La mayor parte de los scanners funcionan buscando cadenas de texto en los archivos que analizan. Inicialmente los virus eran monolíticos, es decir su código no variaba de forma alguna luego, una vez que eran identificados, su "código" o firma podía ser incluida en la base de datos del scanner.

Si en un archivo el scanner detectaba alguna de las secuencias de código almacenadas en su base de datos, daba por detectado el virus y procedía a su eliminación. Para evitar esto, posteriores generaciones de virus encriptaban su propio código en función a una determinada clave. Por cuestiones de espacio, la clave (normalmente aleatoria) de encriptación no puede ser muy compleja, pero aún así hace imposible la detección por parte del scanner de firmas. Al principio las claves eran sencillas o seguían algoritmos predecibles, aparte de que era una técnica dificil de implementar para programadores no muy experimentados. Pero en 1991, Dark Avenger, un programador de virus búlgaro, creó un motor de encriptación que podía ser fácilmente incorporado a cualquier virus existente.

VIRUS POLIMÓRFICOS

Decíamos que la primera herramienta antivirus fue el scanner de firmas. Si el código o firmas de un virus varía, aunque sea ínfinamente, el resultado del scanner será negativo. Los virus polimórficos se basan por un lado en esto que se comentó y por otro en que todo programa desarrollado modularmente es muy posible que, incluso si se cambian los módulos de orden, se obtengan el mismo resultado. Los primeros virus de este tipo, cuando se replicaban variaban el orden de sus partes operativas, en la copia del virus que iba a parar al nuevo medio. De esta forma, aunque un scanner detecte la firma del virus, no lo hará en su proxima infección, en su propia copia, pue habrá "mutado" su código. Actualmente también se pueden encontrar motores de polimorfismo que aplicados a un virus convencional, en lugar de clásicas cuatro o cinco mutaciones de los pioneros de la clase, pueden conseguir miles de mutaciones de un mismo virus.

RETROVIRUS

También conocidos por virus anti-virus. De esta forma similar a sus homónimos biológicos, son virus específicamente diseñados o que implementan rutinas para evitar ser detectados, deshabilitar e incluso infectar antivirus concretos.


[] SINTOMAS del VIRUS [ /\ ][ \/ ]   

Existen sintomas muy claros que indican la presencia de un virus. Por ejemplo:

  • La PC está más lenta: Un virus puede interferir entre las distintas opciones que hace el sistema operativo y modificar archivos.
  • Aumenta el tamaño de los archivos: En muchos casos, los virus infectan archivos ejecutables (EXE) y les agregan un código, que hacen que cambien el tamaño.
  • La fecha o la hora del sistema es incorrecta: A veces, los virus se divierten y le asignan a los archivos fechas imposibles.
    Un método simple - pero algo cansador - de detectarlos es fijarse en todas las fechas de archivos y detenerse en los sospechosos
  • Cada vez hay menos memoria disponible: Éste es un sintoma muy común porque algunos virus necesitan un área de memoria para su propio uso.
  • Algunos programas se ejecutan mal: Hay virus que infectan archivos de arranque de programas. También están los virus que fallan y generan bloqueos en la computadora. Si la PC se cuelga seguido o despúes de un "cuelge" no puede arrancar, es probable que haya un visitante no deseado en la máquina.
  • La información de los archivos en el arból de directorios de Windows aparece incommpleta: Algunos virus cambian la tabla de asignación de archivos (FAT), lo que provoca un caos en la estructura de archivos y carpetas de la computadora.


[] CONSEJOS PRÁCTICOS [ /\ ]   

Lo primero que se debe asimilar es que conceptualmente y como medio de transmisión de virus, Internet no es más que un soporte. Así que la primera conclusión puede ser procurar siempre "bajar" algo de la Red que sea de los servidores oficiales de la compañia.

El segundo consejo no puede ser otro que instalar un buen antivirus. El proceso de Prevención obliga a que exista un programa funcionando continuamente en memoria capaz de interceptar instantaneamente un virus que intente acceder a su sistema. Si quiere prevenir futuras infecciones se debe tener cargado un módulo de estos programas antivirus que inspeccione el comportamiento del sistema operativo y de los programas en busca de conductas sospechosas. Los programas antivirus modernos, que utilizan funciones de análisis heurístico, exáminan el número de veces que se accede al disco, a la tabla de particiones o a distintos programas y basándose, en resultados estadísticos son capaces de reconocer un nuevo virus, del que no tenga ningún patrón.

Cuando el programa ha detectado el virus, tiene que saber cómo se elimina, sin que el usuario tenga que implicarse en el proceso manualmente. También es importante poder reconstruir en lo posible la información que haya podido llegar a dañar, como la FAT del disco o del sector de arranque.

Aparte de disponder de un buen antivirus nunca está de más que lleve una vida "sana" y que tome ciertas precauciones cuando utilice su computadora. Aquí tiene algunos mejores consejos al respecto:

  1. Realizar periódicas copias de seguridad de sus datos en otro soporte. Esto impedirá que pierda datos a causa de un virus o cualquier otro imprevisto.
  2. Mantener el antivirus al día. Al menos tratar de actualizarlo mensualmente.
  3. No aceptar software no original o preinstalado sin el soporte original.
  4. Seleccionar el disco duro como arranque por defecto en el BIOS, así evita contagios accidentales por medio de discos infectados con virus de arranque.
  5. Analizar los nuevos discos, incluso los vacios (pueden contener virus de arranque).
  6. Analizar los programas contenidos en CD-ROM, incluso si provienen de revistas, compañias, etc. nadie es inmune a virus informáticos.
  7. Analizar periódicamente todos los dispositivos del equipo con el scanner
  8. Recibir los programas de Internet desde los servidores oficiales, no desde páginas web de un tercero.
  9. Tener especial cuidado con documentos y archivos que puedan estar juntos a mensajes de correo electrónico o News.
  10. No dejar de analizar comprimidos y documentos
  11. No tenga fe ciega en los documentos y archivos que le envían sus amigos por correo electrónico. Su identidad puede ser falseada, es más algunos virus envían copias de sí mismos a las direcciones de la agenda de contactos del equipo afectado.
  12. Siempre que pueda, envíe y solicite archivos de formatos "sin riesgos". RTF en lugar de DOC, etc.

Puede encontrar más información: