El huevo del cuco (55 page)

Read El huevo del cuco Online

Authors: Clifford Stoll

Tags: #Historico, #Policiaco, #Relato

Para el ordenador infiltrado, el virus son una serie de órdenes, de aspecto perfectamente legítimo, pero con desastrosas consecuencias. A menudo dichas órdenes están ocultas en programas comunes, aletargadas hasta que dicho programa se ejecuta. Cuando se activa el programa infectado, todo parece normal hasta que se ejecuta el virus. Entonces el ordenador es víctima de un engaño que lo obliga a copiar las instrucciones del virus en otros lugares

¿Dónde? Probablemente las instrucciones del virus se copien en otro programa del mismo ordenador, con lo que se dificulta enormemente su eliminación. O quizá en otro disco, de modo que alguien lo traslade a otro ordenador.

Puede que el virus se limite a duplicarse a sí mismo en otros programas. Sin embargo, un virus particularmente malicioso puede producir efectos secundarios: «Reprodúcete cuatro veces y a continuación borra todos los archivos del procesador de textos.»

Los virus informáticos se reproducen con mayor facilidad en los ordenadores personales debido a que sus sistemas operativos no tienen ninguna protección incorporada. En un PC se puede ejecutar el programa que uno desee y cambiar cualquier parte de la memoria. En los ordenadores pequeños es difícil saber si un programa ha sido modificado en el disco.

En los ordenadores de mayor capacidad, como los sistemas Unix, la resistencia es mayor. Su sistema operativo aísla a un usuario de los demás y limita las modificaciones que uno puede introducir. Además, no se pueden cambiar los programas del sistema sin autorización, ya que los muros del sistema operativo aíslan esas susceptibles áreas.

El creador de un virus debe adaptar meticulosamente el programa al ordenador elegido como objetivo. Un programa que funcione en un PC IBM, no lo hará en mi Macintosh, ni en el sistema Unix de mi laboratorio. Por otra parte, el programa vírico no puede ocupar mucho espacio, ya que sería fácilmente descubierto y eliminado.

Un virus es un buen lugar donde ocultar bombas de relojería. No es difícil diseñar un virus cuyas instrucciones funcionen como sigue:

Reprodúcete en otros cuatro programas.

Espera hasta el 13 de febrero.

Borra todos los archivos del sistema.

El virus debe encontrar una forma de propagarse. Limitarse a infectar los programas de un ordenador determinado perjudicará únicamente a una sola persona. Lo que el creador de un virus malicioso se propone es infectar centenares de sistemas. ¿Cómo se distribuye un programa a centenares de ordenadores?

La gente intercambia discos de software. Si en un disco hay un programa infectado, contaminará todos los sistemas en los que se utilice dicho programa. Puesto que el disco suele pasar de despacho en despacho, docenas de ordenadores pueden quedar infectados y posiblemente borrados.

Los boletines electrónicos públicos también se utilizan para intercambiar software. Estos ordenadores telefónicos son utilizados por aficionados, escuelas y algunas empresas. Basta con marcar su número de teléfono para copiar programas del boletín al ordenador que tenemos en casa. Con la misma facilidad se puede realizar la operación inversa. Entonces el programa que hemos introducido en el boletín esperará a que alguien lo solicite. Y en el caso de que tenga un virus oculto en su interior, no se descubrirá hasta que sea demasiado tarde.

De modo que los virus informáticos se distribuyen intercambiando programas. Alguien trae un programa infectado, que puede ser el de un divertido juego, y lo utiliza en la oficina. El virus se copia a sí mismo en el programa de procesamiento de textos. En otro momento, entregamos a algún amigo el programa de procesamiento de textos y el ordenador del amigo se contamina. Hay que destacar que los programas parecen funcionar a la perfección. Pero cuando llega el día 13 de febrero...

La forma más evidente de evitar los virus consiste en no intercambiar programas. No aceptéis caramelos de los desconocidos ni programas que no sean de plena confianza. Si mantenemos el ordenador aislado de los demás, ningún virus podrá infectarlo.

Esta sabiduría canónica no tiene en cuenta nuestras necesidades cotidianas. Si no intercambiamos programas e información, nuestros ordenadores no nos serán de gran utilidad. Existe una gran abundancia de software de dominio público, en gran parte ideal para resolver nuestros problemas.

Los virus y las bombas lógicas envenenan dicha reserva colectiva. La gente deja de confiar en el software público y dichas fuentes acaban por secarse.

Pero existe otra forma de propagación para el virus: directamente a partir de alguna red.

Arpanet interconecta ochenta mil ordenadores a lo largo y ancho del país. A través de la misma se puede mandar correspondencia a cualquier usuario de dichos ordenadores, mandar o recibir archivos, o (como lo demostró Markus Hess) conectar interactivamente con los ordenadores de la red.

¿Podía propagarse un virus mediante Arpanet? Un programa que se copiara a sí mismo a partir de un ordenador, pasara a la red, a otro sistema...

Ya lo había pensado, pero era una posibilidad que siempre había descartado. Los ordenadores de Arpanet tienen defensas contra los virus: se necesitan contraseñas para conectar con los mismos. ¿Podía un virus adivinarlas?

A las tres y media de la madrugada, temblando junto al Macintosh, llamé desde mi casa al ordenador de mi laboratorio. Se trata de una terminal Sun, con la popular versión Unix de Berkeley. Había centenares de proyectos todavía en funcionamiento..., mi sistema estaba terriblemente saturado. No había ningún hacker conectado. Yo era el único usuario.

Los mismos síntomas que en el Lawrence Berkeley Laboratory y en el Ames de la NASA. Olía a virus.

Llamé a Darren Griffiths, al laboratorio de Berkeley.

—Es un virus —afirmó—. Puedo ver cómo se reproduce. Intentas destruir los programas y simplemente reaparecen.

—¿De dónde procede?

—He identificado cinco conexiones: Stanford, la Universidad de Rochester, Aerospace Company, la Universidad de Berkeley y un lugar llamado BRL.

—Esto es el laboratorio de investigación balística del ejército —dije, recordando una conversación con Mike Muuss, de dicho laboratorio—. ¿Cómo se introduce el virus en tu sistema?

—No lo sé, Cliff. Las conexiones son todas de la red Arpanet, pero no se realizan en la forma habitual de conectar con el sistema. Parece que el virus se introduce a través de una brecha en el sistema de correspondencia.

Alguien había construido un virus que se aprovechaba de una brecha en los sistemas de seguridad del Unix. La brecha estaba en el sistema de correspondencia y el virus se distribuía por la red. ¿Qué hacía el virus en cuestión? ¿Se limitaba a reproducirse o llevaba incorporada una bomba de relojería?

Eran las cuatro de la madrugada. ¿Qué podía hacer? Mejor llamar a los controladores de Arpanet para ponerlos sobre aviso. Hay un oficial de guardia en el centro de operaciones que vigila día y noche la red. Aquella mañana, no sabía nada del virus.

—Más vale que empieces a hacer llamadas, porque a las nueve de la mañana el virus estará por todas partes.

El centro de operaciones no estaba al corriente de lo que ocurría. El virus sólo tenía unas horas de vida. Ahora lo veía llegar de una docena de lugares distintos. Virulento. Por la mañana habría contaminado decenas o quizá centenares de sistemas. Teníamos un problema en nuestras manos. Un grave problema.

Una epidemia.

Lo importante era comprender el virus y divulgar la noticia. Durante las próximas treinta y seis horas procuraría por todos los medios comprenderlo y derrotarlo. Sabía que no estaba solo. Al mismo tiempo, equipos de Berkeley, el MIT y la Universidad de Pardue le seguían la pista de cerca.

Aquí me limito a describir lo que vi, pero mi contribución fue mínima, comparada con la de genios del Unix como Keith Bostic, Peter Yee, Gene Spafford, Jon Rochlis, Mark Eichin, Donn Seeley, Ed Wang y Mike Muuss, repartidos por todo el país. La mía sólo fue una pequeña parte de la reacción no organizada, pero tenaz, ante dicho desastre.

Penetré en busca del código en mi sistema de Cambridge y descubrí inmediatamente dos versiones del virus. Una adaptada a los ordenadores Vax que utilizaran Unix y la otra para termínales Sun. Cada archivo tenía una extensión de unos cuarenta y cinco mil bytes. De haberse tratado de texto en inglés, habría ocupado unas treinta páginas. Pero no era inglés. Imprimí el archivo y parecía un galimatías. No tenía siquiera el aspecto de código máquina.

Esto no tenía sentido: los programas de ordenador tienen el aspecto de código máquina. Éste no lo tenía. No llevaba ningún título informativo y sólo unas pocas órdenes que yo reconocía. El resto era guacamole.

Con paciencia intenté comprender la función de aquellas pocas órdenes. ¿Cómo reaccionaría en el supuesto de que yo fuera una terminal Sun y alguien me transmitiera dichas órdenes? Con papel y lápiz, una calculadora doméstica y un manual de instrucciones máquina, comencé a desenmarañar el código del virus.

Las primeras órdenes servían sólo para descifrar la codificación del resto del virus. Ésta era la razón por la que el virus tenía un aspecto extraño. Sus propias órdenes habían sido deliberadamente ofuscadas.

Claro, su autor había ocultado el virus, procurando impedir que otros programadores comprendieran su código. Equivalía a arrojar clavos en la carretera para entorpecer a sus perseguidores.

¡Diabólico!

Decidí llamar de nuevo a Darren. Eran las cinco de la madrugada y nos dedicamos a comparar notas; él había descubierto lo mismo que yo, entre otras cosas:

—He desenmascarado parte del virus y veo cómo se introduce por el sistema de correspondencia. A continuación utiliza finger y telnet para llegar a otros ordenadores. Usa la fuerza bruta para descifrar contraseñas.

Juntos, por teléfono, desglosamos el programa. Su único propósito era el de reproducirse en otros ordenadores. Buscaba las conexiones de la red a ordenadores cercanos, sistemas lejanos y todo lo que pudiera alcanzar.

Cuando el programa vírico descubría un ordenador en la red, intentaba infiltrarse en el mismo utilizando algunas recónditas brechas en el sistema operativo Unix.

¿Brechas en el Unix? Por supuesto.

Cuando se manda correspondencia electrónica de un ordenador Unix a otro, el programa Sendmail realiza la transferencia. Llega un mensaje por la red y Sendmail lo transmite a su destinatario. Es como una oficina electrónica de distribución de cartas.

Sendmail tiene una brecha. Normalmente, otro ordenador manda mensajes a dicho programa y todo el mundo está satisfecho. Pero si hay algún problema, se le puede ordenar que pase al modo de eliminación de errores: puerta trasera del programa.

En dicho modo, Sendmail permite utilizar las órdenes normales del Unix desde otro ordenador. Por ejemplo, «ejecuta el siguiente programa».

De modo que así era cómo el virus diseminaba sus copias. Mandaba copias de sí mismo a otros ordenadores y les ordenaba que ejecutaran el programa.

Una vez activado el programa vírico, buscaba otros ordenadores a los que infectar y les mandaba mensajes por correo electrónico.

En algunos sistemas, Sendmail había sido reparado. De ser así, el virus exploraba todavía otro agujero: la orden finger.

Para saber si yo he utilizado determinado sistema Unix, otra persona puede dar la orden finger cliff. Si he estado conectado a dicho ordenador, Unix responderá con mi nombre, número de teléfono y actividad. Es muy útil dentro de la red; con frecuencia lo utilizo, antes de llamar a alguien por teléfono.

El virus se infiltraba mediante el programa que se ocupa de las solicitudes. Dicho programa tiene capacidad para quinientos doce caracteres y el virus mandaba quinientos treinta y seis. ¿Qué ocurría con los veinticuatro caracteres sobrantes? Se ejecutaban como órdenes en el Unix.

Sobrecargando el programa, el virus disponía de una segunda forma de cumplir la orden «ejecuta el siguiente programa» en un ordenador ajeno.

Si con ello no le bastaba, el virus llevaba incorporado un adivinador de contraseñas. Intentaba conectar con ordenadores confiados, utilizando unos centenares de contraseñas comunes. Si adivinaba una contraseña válida, se copiaba a sí mismo en dicho ordenador y empezaba de nuevo.

¡Diablos! Por cualquiera de dichos métodos podía impregnar un montón de ordenadores. En conjunto, el virus se convertía en un enemigo formidable.

Como buen aprendiz de brujo, el programa se reproducía a sí mismo de un ordenador a otro. Se borraba una copia y otra ocupaba inmediatamente su lugar. Se tapaba un agujero y el virus se introducía por otro.

¿He dicho virus?

—¿Sabes, Cliff? Un virus modifica otros programas cuando se activa. Esto no los cambia, se limita a reproducirse —explicó Darren—. No es realmente un virus, sino un gusano de la red.

Un virus se copia a sí mismo en otros programas, modificando el propio programa. Un gusano se copia a sí mismo de ordenador en ordenador. Ambos son contagiosos y capaces de causar estragos.

Los virus suelen infectar ordenadores personales a partir de disquetes y programas copiados. Los gusanos atacan las redes distribuyéndose por las mismas conexiones utilizadas para la correspondencia y comunicaciones electrónicas.

Pero a las cinco de la madrugada, lo único que sabía era que mis ordenadores estaban abrumados a causa de dicho programa autorreproductor. Un cuco que ponía sus huevos en nidos ajenos.

Gusano o virus, su autor lo había llenado deliberadamente de barreras para impedir que los demás lo comprendieran. El código estaba ofuscado para ocultar sus tablas internas y destruía las huellas de su procedencia. Simulaba mandar un mensaje a un ordenador de Berkeley, cuando en realidad no lo hacía, intentando así distraer la atención de la auténtica fuente del programa.

A las seis de la madrugada del jueves, reflexionaba sobre los efectos de dicho gusano: se fraguaba un verdadero desastre y era necesario comunicárselo a alguien. ¿A quién?

Ya había hablado con el centro de operaciones de la red Arpanet. No podían hacer gran cosa: aunque cerraran completamente la red, el gusano no dejaría de reproducirse, circulando por las redes locales. Mejor llamar al centro nacional de seguridad informática. ¿A quién conocía? A Bob Morris, el jefe científico.

Sabía que Bob Morris estaba junto a su ordenador, a las seis y media de la madrugada del jueves. Podía verle conectado al ordenador Dockmaster de la NSA. Después de mandarle un mensaje electrónico, le llamé por teléfono.

Other books

Pleasure Train by Christelle Mirin
Scriber by Dobson, Ben S.
The Boyfriend List by E. Lockhart
Mr. Tasker's Gods by T. F. Powys
Flight of the Phoenix by Melanie Thompson
Most Rebellious Debutante by Abbott, Karen
The Fangs of the Dragon by Simon Cheshire