Manual de funcionamiento,
prevención y métodos de acción
de los virus.
Por
y
.
FORMAS
DE OCULTAMIENTO
Un virus puede considerarse efectivo si, además
de extenderse lo más ampliamente posible, es
capaz de permanecer oculto al usuario el mayor tiempo
posible; para ello se han desarrollado varias técnicas
de ocultamiento o sigilo. Para que estas técnicas
sean efectivas, el virus debe estar residente en memoria,
puesto que debe monitorizar el funcionamiento del sistema
operativo. La base principal del funcionamiento de los
virus y de las técnicas de ocultamiento, además
de la condición de programas residentes, la intercepción
de interrupciones. El DOS y los programas de aplicación
se comunican entre sí mediante el servicio de
interrupciones, que son como subrutinas del sistema
operativo que proporcionan una gran variedad de funciones
a los programas. Las interrupciones se utilizan, por
ejemplo, para leer o escribir sectores en el disco,
abrir ficheros, fijar la hora del sistema, etc. Y es
aquí donde el virus entra en acción, ya
que puede sustituir alguna interrupción del DOS
por una suya propia y así, cuando un programa
solicite un servicio de esa interrupción, recibirá
el resultado que el virus determine. Entre las técnicas
más usuales cabe destacar el ocultamiento o stealth,
que esconde los posibles signos de infección
del sistema. Los síntomas más claros del
ataque de un virus los encontramos en el cambio de tamaño
de los ficheros, de la fecha en que se crearon y de
sus atributos, y en la disminución de la memoria
disponible. Estos problemas son indicadores de la
posible presencia de un virus, pero mediante la técnica
stealth es muy fácil (siempre que se encuentre
residente el virus) devolver al sistema la información
solicitada como si realmente los ficheros no estuvieran
infectados. Por este motivo es fundamental que cuando
vayamos a realizar un chequeo del disco duro arranquemos
el ordenador con un disco de sistema totalmente limpio.
a) El
módulo de reproducción
Se encarga de manejar las rutinas de "parasitación"
de entidades ejecutables (o archivos de datos, en el
caso de los virus macro) a fin de que el virus pueda
ejecutarse subrepticiamente. Pudiendo, de esta manera,
tomar control del sistema e infectar otras entidades
permitiendo se traslade de una computadora a otra a
través de algunos de estos archivos.
b) El
módulo de ataque es optativo.
En caso de estar presente es el encargado de manejar
las rutinas de daño adicional del virus. Por
ejemplo, el conocido virus Michelangelo, además
de producir los daños que se detallarán
más adelante, tiene un módulo de ataque
que se activa cuando el reloj de la computadora indica
6 de Marzo. En estas condiciones la rutina actúa
sobre la información del disco rígido
volviéndola inutilizable.
c) El
módulo de defensa tiene, obviamente,
la misión de proteger al virus y, como el de
ataque, puede estar o no presente en la estructura.
Sus rutinas apuntan a evitar todo aquello que provoque
la remoción del virus y retardar, en todo lo
posible, su detección.
d) Formas
De Infección Antes de nada, hay
que recordar que un virus no puede ejecutarse por si
solo, necesita un programa portador para poder cargarse
en memoria e infectar; asimismo, para poder unirse a
un programa portador necesita modificar la estructura
de este, para que durante su ejecución pueda
realizar una llamada al código del virus.
Las partes del sistema más susceptibles de ser
infectadas son el sector de arranque de los disquetes,
la tabla de partición y el sector de arranque
del disco duro, y los ficheros ejecutables (*.EXE y
*.COM). Para cada una de estas partes tenemos un tipo
de virus, aunque muchos son capaces de infectar por
sí solos estos tres componentes del sistema.
En los disquetes, el sector de arranque es una zona
situada al principio del disco, que contiene datos relativos
a la estructura del mismo y un pequeño programa,
que se ejecuta cada vez que arrancamos desde disquete.
En este caso, al arrancar con un disco contaminado,
el virus se queda residente en memoria RAM, y a partir
de ahí, infectara el sector de arranque de todos
los disquetes a los que se accedan, ya sea al formatear
o al hacer un DIR en el disco, dependiendo de cómo
esté programado el virus). El proceso de
infección consiste en sustituir el código
de arranque original del disco por una versión
propia del virus, guardando el original en otra parte
del disco; a menudo el virus marca los sectores donde
guarda el boot original como en mal estado, protegiéndolos
así de posibles accesos, esto suele hacerse por
dos motivos: primero, muchos virus no crean una rutina
propia de arranque, por lo que una vez residentes en
memoria, efectúan una llamada al código
de arranque original, para iniciar el sistema y así
aparentar que se ha iniciado el sistema como siempre,
con normalidad. Segundo, este procedimiento puede ser
usado como técnica de ocultamiento. Normalmente
un virus completo no cabe en los 512 bytes que ocupa
el sector de arranque, por lo que en éste suele
copiar una pequeña parte de si mismo, y el resto
lo guarda en otros sectores del disco, normalmente los
últimos, marcándolos como defectuosos.
Sin embargo, puede ocurrir que alguno de los virus no
marquen estas zonas, por lo que al llenar el disco estos
sectores pueden ser sobrescritos y así dejar
de funcionar el virus. La tabla de partición
esta situada en el primer sector del disco duro, y contiene
una serie de bytes de información de cómo
se divide el disco y un pequeño programa de arranque
del sistema. Al igual que ocurre con el boot de los
disquetes, un virus de partición suplanta el
código de arranque original por el suyo propio;
así, al arrancar desde disco duro, el virus se
instala en memoria para efectuar sus acciones. También
en este caso el virus guarda la tabla de partición
original en otra parte del disco, aunque algunos la
marcan como defectuosa y otros no. Muchos virus guardan
la tabla de partición y a ellos mismos en los
últimos sectores de disco, y para proteger esta
zona, modifican el contenido de la tabla para reducir
el tamaño lógico del disco. De esta forma
el DOS no tiene acceso a estos datos, puesto que ni
siquiera sabe que esta zona existe. Casi todos los
virus que afectan la partición también
son capaces de hacerlo en el boot de los disquetes y
en los ficheros ejecutables; un virus que actuara sobre
particiones de disco duro tendría un campo de
trabajo limitado, por lo que suelen combinar sus habilidades.
Con todo, el tipo de virus que más abunda es
el de fichero; en este caso usan como vehículo
de expansión los archivos de programa o ejecutables,
sobre todo .EXE y . COM, aunque también a veces
.OVL, .BIN y .OVR. AL ejecutarse un programa infectado,
el virus se instala residente en memoria, y a partir
de ahí permanece al acecho; al ejecutar otros
programas, comprueba si ya se encuentran infectados.
Si no es así, se adhiere al archivo ejecutable,
añadiendo su código al principio y al
final de éste, y modificando su estructura de
forma que al ejecutarse dicho programa primero llame
al código del virus devolviendo después
el control al programa portador y permitiendo su ejecución
normal. Este efecto de adherirse al fichero original
se conoce vulgarmente como "engordar" el archivo,
ya que éste aumenta de tamaño al tener
que albergar en su interior al virus, siendo esta circunstancia
muy útil para su detección. De ahí
que la inmensa mayoría de los virus sean programados
en lenguaje ensamblador, por ser el que genera el código
más compacto, veloz y de menor consumo de memoria;
un virus no seria efectivo si fuera fácilmente
detectable por su excesiva ocupación en memoria,
su lentitud de trabajo o por un aumento exagerado en
el tamaño de los archivos infectados. No todos
los virus de fichero quedan residentes en memoria, si
no que al ejecutarse se portador, éstos infectan
a otro archivo, elegido de forma aleatoria de ese directorio
o de otros.
La autoencriptación o self-encryption es una
de las técnicas víricas más extendidas.
En la actualidad casi todos los nuevos ingenios destructivos
son capaces de encriptarse cada vez que infectan un
fichero, ocultando de esta forma cualquier posible indicio
que pueda facilitar su búsqueda. No obstante,
todo virus encriptado posee una rutina de desencriptación,
rutina que es aprovechada por los antivirus para remotoizar
el origen de la infección. El mayor avance
en técnicas de encriptación viene dado
por el polimorfismo. Gracias a él un virus no
sólo es capaz de encriptarse sino que además
varía la rutina empleada cada vez que infecta
un fichero. De esta forma resulta imposible encontrar
coincidencias entre distintos ejemplares del mismo virus,
y ante esta técnica el tradicional método
de búsqueda de cadenas características
se muestra inútil. Otra técnica básica
de ocultamiento es la intercepción de mensajes
de error del sistema. Supongamos que un virus va a infectar
un archivo de un disco protegido contra escritura; al
intentar escribir en el obtendríamos el mensaje:
"Error de protección contra escritura leyendo
unidad A Anular, Reintentar, Fallo?", por lo que
descubriríamos el anormal funcionamiento de nuestro
equipo. Por eso, al virus le basta con redireccionar
la interrupción a una rutina propia que evita
la salida de estos mensajes, consiguiendo así
pasar desapercibido.
e) VIRUS
EN INTERNET
En ocasiones se propagan rumores que dan por cierto
noticias de dudosa procedencia. Más o menos esto
es lo que ha sucedido de un tiempo a esta parte con
el virus por correo electrónico de Internet conocido
por Good Times. Lógicamente las primeras noticias
de esta maligna creación aparecieron en la «red
de redes», en un mensaje alarmante que decía
que si algún usuario recibía un mensaje
con el tema «Good Times» no debía
abrirlo o grabarlo si no quería perder todos
los datos de su disco duro. Posteriormente el mensaje
recomendaba que se informara a todo el mundo y se copiara
el aviso en otros lugares. En esta ocasión el
rumor es totalmente falso, aunque todavía sigue
existiendo gente que se lo cree y no es raro encontrar
en algún medio de comunicación electrónica
nuevo reenvíos del mensaje original. De hecho,
es totalmente inviable la posibilidad de una infección
vía correo electrónico. El riesgo
de contraer un virus en la Internet es menor que de
cualquier otra manera, tanto los mensajes de correo,
como las página WEB transfieren datos. Sólo
si se trae un software por la red y lo instala en su
máquina puede contraer un virus Una infección
se soluciona con las llamadas "vacunas" (que
impiden la infección) o con los remedios que
desactivan y eliminan, (o tratan de hacerlo) a los virus
de los archivos infectados. Hay cierto tipo de virus
que no son desactivables ni removibles, por lo que se
debe destruir el archivo infectado.
|