Seguro que se ha enfrentado ya a una de estas simpáticas y fascinantes criaturas que son los virus informáticos. O si no usted, probablemente algún conocido suyo los haya sufrido. O tal vez esté infectado y ni siquiera lo sospeche… (sienta cómo la paranoia se apodera de su mente)
El origen de los virus hay que buscarlo a mediados de los 80, cuando unos técnicos de los laboratorios Bell inventaron un juego denominado “Code Wars?, consistente en crear programas que combatían entre ellos por conseguir el control de la memoria del equipo. Hay mucho que decir sobre los virus, y mucho que discutir sobre el tema, pero de esta entrada me interesa que comprendan cómo funcionan y cómo son diseñados. Y es que conociendo bien a nuestro enemigo tendremos más probabilidades de saber defendernos.
Para empezar, hay que acotar un poco la terminología, ya que el término “virus? se utiliza a menudo para referir realidades muy diferentes. No todos los programas dañinos son virus estrictamente, y no todos los virus son dañinos directamente.
Hay que entender un par de ideas antes de entrar en consideraciones más complejas: la primera es que un virus no es más que un programa. Un tanto especial, sí, pero un programa a fin de cuentas. La segunda idea es que los virus informáticos no se parecen tanto a los biológicos: un virus biológico utiliza el material celular para autorreplicarse, mientras que un virus informático modifica los programas que “infecta? incluyendo una copia de sí mismo.
De modo que llegamos a algo que puede parecerse a una definición: un virus es un programa informático que es capaz de modificar a otros programas inyectándolos cierto código que altere su comportamiento.
¿Cómo nos infectan los virus?
Vamos a referirnos en este punto a los virus residentes tradicionales. Los últimos virus aprovechan generalmente fallos en el MS Outlook o en el MS Internet Explorer para infectar los computadores y extenderse por Internet, pero los más bonitos e interesantes son los antiguos.
En principio sólo hay un programa con el código puro del virus: este programa padre irá infectando a los demás, que actuarán a su vez como nuevos padres e irán propagando la infección. Lo que ocurre cuando se ejecuta un programa infectado en el ordenador es más o menos así:
- Al ejecutarse, el virus se carga en memoria y se empiezan a leer las instrucciones malignas.
- Estas instrucciones modifican ciertos parámetros del sistema operativo para poder hacerse con el control cuando se ejecuten otros programas.
- Espera a que otros programas se ejecuten. Cuando los programas se ejecutan, su contenido es transferido a la memoria principal, donde se encuentra el virus, momento que puede utilizar para infectarlos.
- Cuando se ejecute un programa, el virus obtendrá el control por un instante. Entonces copiará la parte de código infeccioso en el programa víctima, de manera que siempre se ejecute antes que el programa original. Una vez modificado el nuevo portador, dejará que se ejecute normalmente, y en principio el usuario no percibirá ningún cambio.
A partir de esta idea, podemos refinar el virus cuanto queramos: podemos hacer que compruebe si el programa que va a infectar es un antivirus y que intente cerrarlo en caso afirmativo, o que se envíe a si mismo por email para replicarse más rápido.
Algunos virus, los denominados polimórficos, “mutan?, modificando su código para evitar ser detectados, otros se instalan en el arranque del equipo… Unos buscan en el disco a otros programas y los modifican, aunque no se ejecuten, otros infectan directamente a quienes comparten la memoria con ellos… Hay tanta diversidad como informáticos retorcidos.
Básicamente un virus tiene que tratar de infectar cierta cantidad de programas: si infecta muchos el ordenador se volverá más pesado y el usuario podría darse cuenta. Si infecta pocos, apenas se extenderá. También tiene que intentar pasar desapercibido: utilizar polimorfismo, variar poco el tamaño del programa que infecte, vigilar la presencia de antivirus o de otros virus…
Algunos virus incluyen lo que se llama “payload?, que es como la carga dañina de los misiles: supone la temida manifestación del virus, y es cuando podemos agarrarnos a la silla y temblar de miedo. En algunos casos, la temida carga se reduce a un mensaje gracioso o político. En otros, puede dar lugar al borrado de ficheros o el colapso de la red.
Un ejemplo tristemente famoso
El virus CIH, también conocido como Chernobyl (ya que se se activa el día 26 de Abril) es un ejemplo del daño terrible que pueden causar estas pequeñas bestias. Este virus sólo es capaz de actuar bajo Windows 9x, infecta cualquier archivo .EXE al que tenga acceso y tiene uno de los “payload? más destructivos: sobreescribe las instrucciones del chip de las BIOS de tipo flash dejando el arranque inutilizado y borra el contenidos de los discos duros.
Más adelante hablaremos largo y tendido sobre esta criatura del señor.