Una tarea fundamental: protección de la información

Una tarea fundamental: protección de la información

Diciembre 2002 - iWorld

Los virus informáticos generan pérdidas de miles de millones de euros al año y se manifiestan como uno de los principales causantes de la pérdida de información. La protección de dicha información se constituye en una tarea fundamental tanto para empresas como usuarios particulares. 

Partimos de la base de que un virus no puede ejecutarse por sí mismo, necesita de un programa portador para poder cargarse en memoria e infectar. Para unirse a un programa portador necesita modificar la estructura de éste, 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.

El proceso de infección seguido por un virus consiste en sustituir el código de arranque original del disco por una versión propia que inserta el 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. En segundo lugar, este procedimiento puede ser usado como técnica de ocultamiento, también conocida como Stealth.

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 sí 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 está 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 de 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. Con el objetivo de proteger esa zona, modifican el contenido de la tabla para reducir tamaño lógico del disco. Así, el sistema DOS no tiene acceso a estos datos, puesto que ni siquiera sabe que esta zona existe. Casi todos los virus que afectan a la partición también son capaces de hacerlo en el boot de los disquetes, así como en los ficheros ejecutables; un virus que actuara sobre particiones de disco duro tendría un campo de trabajo limitado. 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; al ejecutar otros programas, comprueba si ya se encuentran infectados. Si no es así, se adhiere al archivo ejecutable, añadiendo su código de forma que al ejecutarse dicho programa primero llama al código del virus devolviendo después el control al programa portador y permitiendo su ejecución normal. La mayoría de los virus son programados en lenguaje ensamblador, ya que genera el código más compacto y de menor consumo de memoria; un virus no sería efectivo si fuera fácilmente detectable por su excesiva ocupación de memoria, su lentitud de trabajo o por un gran aumento del tamaño de los archivos infectados.