sábado, 21 de enero de 2006

Virus animal (redux)

El otro día me quedé pasmado cuando vi que uno de mis conocidos había colocado un link a fourmilab, que es una página suiza donde un co-autor de AutoCad tiene un montón de libros y recursos para aprender idiomas. Incidentalmente, conocía tal página, pero por otra razón: contiene un montón de información sobre uno de los primeros ordenadores comerciales, el Univac I, y su descendencia.

No sé si lo sabéis, pero esos gigantescos ordenadores (el Univac 1 era del tamaño de una furgoneta, y el Univac 1100 era del tamaño de un armario, con otro para cada unidad de cinta, o el disco duro de 6 megas y con impresoras del tamaño de un aparador) no siempre se utilizaban para fines serios. Así, uno de los usuarios desarrolló un programa arrancable para utilizar un ordenador de un millón de dólares como generador de código morse, Otro imaginó un programa pseudointeligente para jugar a los pangolines, ese juego en el que hay que adivinar el nombre de un animal.

Al creador de este último juego, cuyo código fuente está precisamente en fourmilab, se le ocurrió que era muy incómodo que cada usuario le pidiera una copia, en aquel tiempo en que el "ancho de banda" máximo al que se podía aspirar era una camioneta cargada de cintas magnéticas. Así que incorporó una rutina ("pervade", presente también en fourmilab) que duplicaba el programa en todas las carpetas a las que pudiera acceder un usuario. Como alguna de ellas estaría compartida por varios usuarios, esto ahorraba la molestia de habilitar una carpeta especial para que los diversos usuarios instalaran el programa en su carpeta. Además, existía la posibilidad de que algún usuario hiciera una copia de su carpeta y la enviara a otro ordenador, enviando con ella el programa. Un sistema ingenioso, la verdad.

Lo que quizá no tuvo en cuenta el diseñador era que tal facilidad de distribución se convertiría en una peste cuyas múltiples copias ocuparían muchísimo espacio de almacenamiento. Y probablemente tampoco pensó en una característica de Univac: al abrir una carpeta, se abría el último programa incorporado a ella. Eso quiere decir que si Joe tenía la costumbre de ejecutar su programa de cálculo "abriendo" la carpeta del programa, era posible que de repente encontrara un mensaje enigmático como el siguiente:

Piense en un animal

Divertido, ¿no?

Animal (o, mejor dicho, pervade) posee suficientes características como para considerarlo el primer virus de la historia, o quizá un troyano (puesto que se ocultaba en un programa supuestamente inocuo). Así, la autorreplicación, la ejecución al abrir algo (una carpeta) que no se espera ejecutable y el acceso a carpetas privilegiadas a través de usuarios con privilegios parciales.

La leyenda urbana dice que sólo se pudo detener a este virus creando otro más poderoso que sustituyera al anterior e incorporase una bomba de tiempo para autodestruirse. Sin embargo, la realidad fue más prosaica: pervade era incompatible con la siguiente versión del sistema operativo.


Así que ya sabes, Jaime: pensando que ponías un link a una simple página sobre aprendizaje de idiomas o sobre la biblia, has enlazado a un cementerio de elefantes, donde el primer virus de la historia pasa los años de su jubilación sin pena ni gloria.

No hay comentarios: