Funcionamiento

Hay que tener en cuenta que un virus es simplemente un programa. Para ello, lo mejor es tener conocimiento de como funcionan y las medidas que debemos tomar para prevenirlos y hacerles frente.

Proceso de Infección
El virus puede estar en cualquier sitio. En ese disquete que nos deja un amigo, en el último archivo descargado de Internet. Dependiendo del tipo de virus el proceso de infección varia sensiblemente. Puede que el disco contaminado tenga un virus de archivo en el archivo FICHERO.EXE por ejemplo. El usuario introduce el disco en la computadora (por supuesto no lo escanea con un antivirus o si lo hace es con un antivirus desfasado) y mira el contenido del disco... unos archivos de texto, unas .dll's, un .ini ... ah, ahí esta, un ejecutable. Vamos a ver que tiene. El usuario ejecuta el programa, en ese preciso momento las instrucciones del programa son leídas por el computadora y procesadas, pero también procesa otras instrucciones que no deberían estar ahí.

El virus comprueba si ya se ha instalado en la memoria; si ve que todavía no está contaminada pasa a esta y puede que se quede residente en ella. A partir de ese momento todo programa que se ejecute será contaminado. El virus ejecutará todos los programas, pero después se copiará a sí mismo y se "pegará" al programa ejecutado "engordándolo" unos cuantos bytes. Para evitar que usuarios avanzados se den cuenta de la infección ocultan esos bytes de más para que parezca que siguen teniendo el mismo tamaño.

El virus contaminará rápidamente los archivos de sistema, aquellos que están en uso en ese momento y que son los primeros en ejecutarse al arrancar la computadora. Así, cuando el usuario vuelva a arrancar la computadora el virus se volverá a cargar en la memoria cuando se ejecuten los archivos de arranque del sistema contaminados y tomará otra vez el control del mismo, contaminando todos los archivos que se encuentre a su paso.

Puede que el virus sea también de "Sector de arranque". En ese caso el código del virus se copiará en el primer sector del disco duro que la computadora lee al arrancar. Puede que sobreescriba el sector original o que se quede una copia del mismo para evitar ser detectado. Los virus de sector de arranque se aseguran de ser los primeros en entrar en el sistema, pero tienen un claro defecto. Si el usuario arranca la computadora con un disquete "limpio" el virus no podrá cargarse en memoria y no tendrá el control.

Un caso menos probable es que el virus sea de "Tabla de partición"; el mecanismo es muy parecido al de los de sector de arranque solo que el truco de arrancar con un disquete limpio no funciona con estos. En el peor de los casos nos encontraremos con un virus multipartita, que contaminará todo lo que pueda, archivos, sector de arranque.

Técnicas de Programación

" Técnicas Stealth .- Son técnicas "furtivas" que utilizan para pasar desapercibidos al usuario y a los antivirus. Habitualmente los virus ocultan el tamaño real de los archivos que han contaminado, de forma que si hacemos un DIR la información del tamaño de los archivos puede ser falsa.
Los virus de tabla de partición guardan una copia de la FAT original en otro lugar del disco que marcan como sectores defectuosos para mostrarsela al usuario cuando haga por ejemplo un FDISK.
Incluso hay virus que detectan la ejecución de determinados antivirus y descargan de la memoria partes de su propio código "sospechoso" para cargarse de nuevo cuando estos han finalizado su búsqueda.

" Tunneling .- Es una técnica usada por programadores de virus y antivirus para evitar todas las rutinas al servicio de una interrupción y tener así un control directo sobre esta. 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: 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.

" Antidebuggers .- Un debugger es un programa que permite decompilar programas ejecutables y mostrar parte de su código en lenguaje original. Los virus usan técnicas para evitar ser desemsamblados y así impedir su análisis para la fabricación del antivirus correspondiente.

" Polimorfismo o automutación .- Es una técnica que consiste en variar el código virico en cada infección (más o menos lo que hace el virus del SIDA en los humanos con su capa protéica). Esto obliga a los antivirus a usar técnicas heurísticas ya que como el virus cambia en cada infección es imposible localizarlo buscandolo 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 = 2 2 XOR 9 = 7
En este caso la clave es el número 9, pero utilizando una clave distinta en cada infección se obiene 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.

SU OPINIÓN ES IMPORTANTE
Envíenos sus comentarios a:

Cristóbal Colón #13 Col. Costa Azul C.P. 39850 Acapulco, Gro. México
Teléfono/ /
/
Mapa de ubicación AQUI

BTU Comunicación S.A. de C.V. All rights reserved.