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?

El ciclo de los virus informático es muy similar al de los biológicos (de ahí su nombre).
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

Entradas populares