Clasificación de los Virus Informáticos


Tipos de Virus Informáticos según su destino de infección

Infectores de archivos ejecutables

El programa infectado tiene que estar ejecutándose para que el virus pueda funcionar (seguir infectando y ejecutar sus acciones destructivas)

Infectores del sector de arranque (boot)
Tanto los discos rígidos como los disquetes contienen un Sector de Arranque, el cual contiene información específica relativa al formato del disco y los datos almacenados en él. Además, contiene un pequeño programa llamado Boot Program que se ejecuta al bootear desde ese disco y que se encarga de buscar y ejecutar en el disco los archivos del sistema operativo. Este programa es el que muestra el famoso mensaje de "Non-system Disk or Disk Error" en caso de no encontrar los archivos del sistema operativo. Este es el programa afectado por los virus de sector de arranque. La computadora se infecta con un virus de sector de arranque al intentar bootear desde un disquete infectado. En este momento el virus se ejecuta e infecta el sector de arranque del disco rígido, infectando luego cada disquete utilizado en el PC. Es importante destacar que como cada disco posee un sector de arranque, es posible infectar el PC con un disquete que contenga solo datos.....

Virus Multi Partición 
Bajo este nombre se engloban los virus que utilizan los dos métodos anteriores. Es decir, pueden simultáneamente infectar archivos, sectores boot de arranque y tablas FAT.

Infectores residentes en memoria
El programa infectado no necesita estar ejecutándose, el virus se aloja en la memoria y permanece residente infectando cada nuevo programa ejecutado y ejecutando su rutina de destrucción

Macrovirus
Son los virus mas populares de la actualidad. No se transmiten a través de archivos ejecutables, sino a través de los documentos de las aplicaciones que poseen algún tipo de lenguaje de macros. Entre ellas encontramos todas las pertenecientes al paquete Office (Word, Excel, Power Point, Access) y también el Corel Draw, o AutoCAD.
Cuando uno de estos archivos infectado es abierto o cerrado, el virus toma el control y se copia a la plantilla base de nuevos documentos, de forma que sean infectados todos los archivos que se abran o creen en el futuro.
Los lenguajes de macros como el Visual Basic For Applications son muy poderosos y poseen capacidades como para cambiar la configuración del sistema operativo, borrar archivos, enviar e-mails, etc.

De Actives Agents y Java Applets
En 1997, aparecen los Java applets y Actives controls. Estos pequeños programas se graban en el disco rígido del usuario cuando está conectado a Internet y se ejecutan cuando la página web sobre la que se navega lo requiere, siendo una forma de ejecutar rutinas sin tener que consumir ancho de banda. Los virus desarrollados con Java applets y Actives controls acceden al disco rígido a través de una conexión www de manera que el usuario no los detecta. Se pueden programar para que borren o corrompan archivos, controlen la memoria, envíen información a un sitio web, etc.

De HTML
Un mecanismo de infección más eficiente que el de los Java applets y Actives controls apareció a fines de 1998 con los virus que incluyen su código en archivos HTML. Con solo conectarse a Internet, cualquier archivo HTML de una página web puede contener y ejecutar un virus. Este tipo de virus se desarrollan en Visual Basic Script. Atacan a usuarios de Win98, 2000 y de las últimas versiones de Explorer. Esto se debe a que necesitan que el Windows Scripting Host se encuentre activo. Potencialmente pueden borrar o corromper archivos.

Caballos de Troya
Los troyanos son programas que imitan programas útiles o ejecutan algún tipo de acción aparentemente inofensiva, pero que de forma oculta al usuario ejecutan el código dañino.
Los troyanos no cumplen con la función de autorreproducción, sino que generalmente son diseñados de forma que por su contenido sea el mismo usuario el encargado de realizar la tarea de difusión del virus. (Generalmente son enviados por e-mail)

 

Tipos de Virus Informáticos según sus acciones y/o modo de activación

Bombas
Se denominan así a los virus que ejecutan su acción dañina como si fuesen una bomba. Esto significa que se activan segundos después de verse el sistema infectado o después de un cierto tiempo (bombas de tiempo) o al comprobarse cierto tipo de condición lógica del equipo. (bombas lógicas). Ejemplos de bombas de tiempo son los virus que se activan en una determinada fecha u hora determinada. Ejemplos de bombas lógicas son los virus que se activan cuando al disco rígido solo le queda el 10% sin uso, una secuencia de teclas o comandos, etc. Ejemplos de este tipo de programas son virus como Viernes 13 o el virus Miguel Angel

Camaleones
Son una variedad de virus similares a los caballos de Troya que actúan como otros programas parecidos, en los que el usuario confía, mientras que en realidad están haciendo algún tipo de daño. Cuando están correctamente programados, los camaleones pueden realizar todas las funciones de los programas legítimos a los que sustituyen (actúan como programas de demostración de productos, los cuales son simulaciones de programas reales).
Un software camaleón podría, por ejemplo, emular un programa de acceso a sistemas remotos realizando todas las acciones que ellos realizan, pero como tarea adicional (y oculta a los usuarios) va almacenando en algún archivo los diferentes logins y password para que posteriormente puedan ser recuperados y utilizados ilegalmente por el creador del virus camaleón.

Reproductores
Los reproductores (también conocidos como conejos-rabbits) se reproducen en forma constante una vez que son ejecutados hasta agotar totalmente (con su descendencia) el espacio de disco o memoria del sistema.
La única función de este tipo de virus es crear clones y lanzarlos a ejecutar para que ellos hagan lo mismo. El propósito es agotar los recursos del sistema, especialmente en un entorno multiusuario interconectado, hasta el punto que el sistema principal no puede continuar con el procesamiento normal.

Gusanos (Worms)
Los gusanos utilizan las redes de comunicaciones para expandirse de sistema en sistema. Es decir, una vez que un gusano entra a un sistema examina las tablas de ruta, correo u otra información sobre otros sistemas, a fin de copiarse en todos aquellos sistemas sobre los cuales encontró información. Este método de propagación presenta un crecimiento exponencial con lo que puede infectar en muy corto tiempo a una red completa. 

Existen básicamente 3 métodos de propagación en los gusanos:

1 - Correo electrónico - El gusano envía una copia de sí mismo a todos los usuarios que aparecen en las libretas de direcciones que encuentra en el ordenador dónde se ha instalado.

2 - Mecanismos basados en RPC (Remote Procedure Call) - El gusano ejecuta una copia de sí mismo en todos los sistemas que aparecen en la tabla de rutas(rcopy y rexecute).

3 - Mecanismos basados en RLOGIN - El gusano se conecta como usuario en otros sistemas y una vez en ellos, se copia y ejecuta de un sistema a otro.

Backdoors
Son también conocidos como herramientas de administración remotas ocultas. Son programas que permiten controlar remotamente el PC infectado. Generalmente son distribuidos como troyanos.
Cuando un virus de estos es ejecutado, se instala dentro del sistema operativo, al cual monitorea sin ningún tipo de mensaje o consulta al usuario. Incluso no se le vé en la lista de programas activos. Los Backdoors permiten al autor tomar total control del PC infectado y de esta forma enviar, recibir archivos, borrar o modificarlos, mostrarle mensajes al usuario, etc....

 

Técnicas de programación

Apoyados en la capacidad de evolución dada por sus programadores, los nuevos virus nacen con el conocimiento de las técnicas utilizadas por las herramientas antivirus actuales y sabiendo cuales son sus puntos débiles. En base a ello utilizan técnicas cada vez más complejas para ocultarse y evitar ser detectados. Algunos de los métodos de ocultación más utilizados son los siguientes:

Stealth (Ocultamiento)

El ocultamiento o stealth consiste en esconder los signos visibles de la infección que puedan delatar la presencia del virus en el sistema. Se trata de evitar todos los síntomas que indican la presencia de un virus.

El signo fundamental de infección es no obstante la modificación del fichero infectado. Una técnica de camuflaje usada por un virus residente puede ser la siguiente:

    - Interceptar el servicio de lectura de ficheros.

    - Cuando un programa desea analizar un fichero infectado, se le devuelve el contenido original del mismo antes de la infección.

Tunneling (Sobrepasamiento)

El sobrepasamiento o tunneling consiste en acceder directamente a los servicios del sistema a través de sus direcciones originales, sin pasar por el control de otros programas residentes, incluyendo el propio sistema operativo o cualquier buscador o vacuna residente.

Requiere una programación compleja, hay que colocar el procesador en modo paso a paso. En este modo de funcionamiento, tras ejecutarse cada instrucción se produce la interrupción 1. Se coloca una ISR (Interrupt Service Routine) para dicha interrupción y se ejecutan instrucciones comprobando cada vez si se ha llegado a donde se quería hasta recorrer toda la cadena de ISRs que halla colocando el parche al final de la cadena.

Armouring o antidebuggers

Un debugger es un programa que permite descompilar programas ejecutables y mostrar parte de su código en lenguaje original. Algunos virus utilizan diversas técnicas para evitar ser desensamblados y así impedir su análisis para la fabricación del antivirus correspondiente.

Polimorfismo o automutación

Es una técnica que consiste en cambiar el método de encriptación de generación en generación, es decir, que entre distintos ejemplares del mismo virus no existen coincidencias ni siquiera en la parte del virus que se encarga del descifrado del resto del virus. Esto obliga a los antivirus a usar técnicas heurísticas ya que como el virus cambia en cada infección es imposible localizarlo buscándolo por cadenas de código. Esto se consigue utilizando un algoritmo de encriptación que pone las cosas muy difíciles a los antivirus. No obstante no se puede codificar todo el código del virus, siempre debe quedar una parte sin mutar que toma el control y esa es la parte más vulnerable al antivirus.

La forma más utilizada para la codificación es la operación lógica XOR. Esto es debido que esta operación es reversible

7 XOR 9 = 14

14 XOR 9 = 7

En este caso la clave es el número 9, pero utilizando una clave distinta en cada infección se obtiene una codificación también distinta.

Otra forma también muy utilizada consiste en sumar un numero fijo a cada byte del código vírico.

TSR

Los programas residentes en memoria (TSR) permanecen alojados en esta durante toda su ejecución.

Los virus utilizan esta técnica para mantener el control sobre todas las actividades del sistema y contaminar todo lo que encuentren a su paso. El virus permanece en memoria mientras la computadora permanezca encendido. Por eso una de las primeras cosas que hace al llegar a la memoria es contaminar los archivos de arranque del sistema para asegurarse de que cuando se vuelva a arrancar la computadora volverá a ser cargado en memoria.


Ir al índice