Virus Informático
¿Qué son los Virus Informáticos?
Un virus es un programa diseñado
para dañar sistemas informáticos,
alterando su forma de trabajar o dañando información almacenada
en el disco duro. Por
supuesto, sin el conocimiento o
permiso del afectado.
En términos más
técnicos, un virus se define como una porción de código de
programación cuyo
objetivo es
implementarse a sí mismo en un archivo ejecutable
y multiplicarse sistemáticamente de un archivo a otro. Además de esta función primaria
de
"invasión" o "reproducción",
los virus están diseñados para realizar una acción concreta
en los sistemas informáticos. Esta acción puede ir desde la simple aparición de
un mensaje en la pantalla, hasta la destrucción de toda la información
contenida en el sistema.
¿Como actúa un Virus Informático?

1.
Infección:
Al ejecutar un archivo infectado (el código del virus se ha implantado en el
archivo anteriormente) comienza la fase de infección, duplicándose e
implantándose en otros archivos ejecutables.
Comienza la "invasión" del sistema informático. La víctima, aún no es
consciente de la existencia del virus ya que este permanece oculto y sin causar
daños apreciables.
2.
Expansión:
El virus pasará a otros ordenadores, a través de redes informáticas,
disquetes y CDs que contengan archivos infectados, software en Internet, archivos
adjuntos a mensaje electrónicos, etc.
3.
Explosión:
Si el virus no ha sido detectado y destruido por algún programa antivirus, en un momento determinado o bajo determinadas
circunstancias, tomará el control del
ordenador infectado, ejecutando la acción para la que fue programado. En este
momento, debido a los trágicos efectos que pueden llegar a ocasionar, se hará
evidente su existencia, acabando con información vital contenida en el sistema
informático.
Síntomas apreciables antes de la Explosión del Virus
Los síntomas más usuales son:
Ø Los programas tardan más tiempo en cargarse y se produce una disminución considerable y global de la velocidad de procesamiento del sistema.
Ø Reducción del espacio libre de memoria y aumento en el tamaño de los archivos ejecutables.
Ø Aparición de continuos e inusuales mensajes
de error.
Ø Programas que misteriosamente dejan de
funcionar. Ø Caídas
frecuentes del sistema.
El buen programador de virus intentará minimizar estos cinco
"efectos colaterales", de manera que el virus, en la fase de
Infección, consuma muy pocos recursos del
sistema, interfiriendo muy poco y de forma mínima en su funcionamiento normal.
Formas de Infección
Antes que 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í, infectará 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.
Los efectos perniciosos que causan los virus son variados;
entre éstos se encuentran el formateo completo del disco duro, eliminación de
la tabla de partición, eliminación de archivos, ralentización del sistema hasta
limites exagerados, enlaces de archivos destruidos, archivos de datos y de
programas corruptos, mensajes o efectos extraños en la pantalla, emisión de música o
sonidos.
Técnica de Ocultación
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.
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
encontrar 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.
Prevención,
Detección y Eliminación
Una buena política de prevención y
detección nos puede ahorrar sustos y desgracias. Las medidas de prevención
pasan por el control, en todo momento, del software ya introducido o que se va
a introducir en nuestro ordenador, comprobando la fiabilidad de su fuente. Esto
implica el escaneo, con un buen programa antivirus, de todo el software que nos
llega, y ante la más mínima duda lo mejor es deshacerse inmediatamente de este.
Por supuesto, el sistema operativo, que a
fin de
cuentas es
el elemento software más importante del ordenador, debe ser totalmente fiable;
si éste se encuentra infectado, cualquier programa que ejecutemos resultara
también contaminado. Por eso, es imprescindible contar con una copia en
disquetes del sistema operativo, protegidos éstos contra escritura; esto ultimo
es muy importante, no solo con el S.O. sino con el resto de disquetes que
poseamos. Es muy aconsejable mantenerlos siempre protegidos, ya que un virus no
puede escribir en un disco protegido de esta forma. Por último es también
imprescindible poseer un buen software antivirus, que detecte y elimine
cualquier tipo de intrusión en el sistema.
Comentarios