SERPIENTES y GUSANOS
por Martín Salías
Hoy hablamos sobre una novela de ciencia ficción de 1975,
considerada como anticipatoria entre los investigadores
de virus por sus descripciones de programas
autorreproductores, y vemos un caso real con varias
coinciencias.
John Brunner, un escritor norteamericano famoso y
premiado por obras como "Todos sobre Zanzíbar", "Orbita
inestable", y otras, concibió esta novela después de leer
"El shock del futuro", del futurólogo Alvin Toffler. En
esa obra, Toffler extrapolaba la posible evolución de la
sociedad (sobre todo de los EEUU) enfrentada a los
violentos cambios que impondrían los próximos
advenimientos de la tecnología y, sobre todo, la difusión
masiva de las redes informáticas.
Brunner, quien reconoce en un agradecimiento
introductorio esta influencia, desarrolla esas ideas como
marco para la sociedad y los personajes que pueblan su
relato.
Los lineamientos básicos son sencillos (la novela es
del '75, y la ficción transcurre en el año 2004). Todo
está interconectado en una red global a través de una
mezcla de teléfono, televisor y terminal de computadora:
los "vifonos".
Mediante esta red se administra absolutamente todo,
incluyendo comunicaciones, noticias, bases de datos,
seguimiento administrativo y movimiento físico y
crediticio de las personas. De hecho, el dinero en
efectivo subsiste casi como una rareza, salvo en las
"zonas de compensación legal". Éstas zonas son ciudades
reconstruídas luego de un terremoto gigantesco que
devastó gran parte del país, y que son habitadas por
gente que ha aceptado prescindir de la mayor parte de los
adelantos tecnológicos (como los vifonos domiciliarios) a
cambio de una compensación impositiva que les permite
vivir prácticamente sin trabajar.
La red permite a cualquiera especificar si se va de
viaje o se muda, permitiendo de esta forma redireccionar
su correo, sus llamadas, etc, a todo lugar donde vaya.
Esto, sumado a que todo lo que uno paga se hace por medio
de un código personal que descuenta del crédito a través
de la red, hace que el gobierno tenga un control
prácticamente absoluto sobre el comportamiento de la
población.
En este contexto, Brunner cuenta las peripecias de
Nick Haflinger, un huérfano brillante que es enrolado por
el gobierno para educarlo dentro de un proyecto especial
de producción de genios. El problema comienza cuando
después de diez años (y unos treinta millones de dólares)
Nick decide que todo el proyecto es un asunto de
manipulación nefasta de las personas y se escapa. Para
lograr evadir a sus perseguidores, hace uso de sus
conocimientos y su habilidad para la informática, y se
asigna a si mismo un tipo de código especial (utilizado
normalmente por los servicios de inteligencia), que le
permite reformular por completo su personalidad en los
archivos de la red.
Y una de las cosas más interesantes es el método que
utiliza para borrar los rastros de estos cambios. Lo hace
mediante un "datófago autorreproductor", un programa
"serpiente", que viajando y reproduciéndose por la red,
se encarga de localizar y borrar todo registro de sus
códigos de indentificación anteriores. De esta manera,
Nick es un día el reverendo Lazarus, que al día siguiente
no existe más (ni existió nunca), y en cambio se
transforma en Sandy Locke, con una historia, una cuenta
de crédito, un trabajo, etc. Mañana Sandy desaparecerá, y
así sucesivamente.
Pero ahora volvamos al "datófago". Ésta invención de
Brunner es considerada en general como el antecedente
teórico más notable de los virus informáticos modernos. Y
aunque la descripción de éste tipo de programa no tiene
mucho que ver con la forma actual de los virus más
típicos, si está muy emparentado con la historia de una
especie particular.
El programa descrito por Brunner como una
"serpiente" debería ser, en realidad una cadena de uno o
más paquetes de datos, y está compuesto por una "cabeza"
que tiene las claves de identificación y de acceso que le
permiten moverse por la red, y la "cola", lo que sería el
código de copiado, rastreo de objetivos y alteración de
información. Fundamentalmente, la idea básica es que es
un programa que se copia a sí mismo, multiplicándose en
forma geométrica (aunque en la novela esto tiene un
límite ya que el objetivo no es saturar la red).
Comparemos esto con el más exitoso antecedente
"real" de los virus de redes: el gusano de Internet. Éste
programa autorreproductor fué escrito en 1988 por Robert
Morris Jr, un alumno de la universidad de Cornell,
principalmente como un entretenimiento. El objetivo de
Morris era que sin que nadie lo notara, su programa se
dispersara lentamente, y permaneciera oculto en cada nodo
de la red Internet (la que abarca miles de computadoras
empleadas en universidades, bases militares, empresas,
etc).
Morris ejecutó el programa para ver si lograba
copiarse de su nodo y de allí a otro, pero cometió un
error de control que hizo que el gusano se le escapara de
las manos. El error consistía, básicamente, en que el
programa no se detectaba correctamente a sí mismo, y por
lo tanto, reinfectaba las computadoras por las que pasaba
más de una vez. De esta manera, no sólo se extendió
fácilmente de un nodo a otro, sino que se multiplicaba
rápidamente dentro de una misma computadora, a la vez que
cada copia se reproducía por cuanto lugar encontraba. En
pocas horas, el gusano se había extendido por toda la
Internet, pasando también a MilNet, la parte militar de
la red, y a muchas otras conectadas que utlizaban el
mismo protocolo, o presentaban las mismas condiciones
necesarias para el buen desarrollo del monstruo.
La capacidad de penetración del gusano estaba basada
en una falla de seguridad del comando SendMail de Unix
(el sistema operativo que corren la mayoría de los nodos
Internet). Este comando, utilizado para enviar correo
electrónico, es como casi todos los utilitarios del Unix,
un pequeño programa en C, del que generalemnete están
disponibles los fuentes, de manera que un administrador
de sistemas pueda realizar algunas modificaciones para
adaptarlo a sus necesidades particulares. Ahora bien,
entre las particularidades del programa, había un flag
para generar el ejecutable en modo DEBUG (es decir, para
porder corregir más fácilmente los errores). Como suele
ocurrir, también, en muchísimas instalaciones este
comando se usaba compilado de esta manera, y esto se
convirtió en un grave problema de seguridad, dado que en
estas condiciones, era posible enviar un mensaje, y sobre
el final, forzar al comando a efectuar un shell, es
decir, ejecutar otros comandos.
El gusano, básicamente, enviaba bajo la forma de
correo electrónico su propio código fuente, y al
finalizar, ejecutaba el comando que compilaba éste y
ejecutaba el programa resultante. De esta manera, a pesar
de que las computadoras conectadas a Internet podían ser
muy disímiles, el programa corría en una gran cantidad de
ellas, ya que el lenguaje C (a nivel del código fuente)
sí es estándar. Una vez activado, el programa buscaba el
archivo con los nombres de los usuarios y comenzaba a
probar combinaciones de cada uno de ellos una clave
sacada de una lista que llevaba incluída (unas 450
palabras claves de las más frecuentemente utilizadas). Un
verdadero hacker virtual, e increíblemente efectivo. Una
vez que conseguía un usuario de suficiente nivel, accedía
al archivo de direcciones de otros nodos conectados y
comenzaba a multiplicarse en todos los posibles.
Durante la noche del 3 de noviembre de 1988, los
primeros administradores de sistemas del turno noche
empezaron a notar como sus computadoras se saturaban
ejecutando montones de pequeños procesos no
identificados, cada vez en mayor cantidad, haciendo
mermar gradualmente la disponibilidad de recursos para
los procesos "normales". El fenómeno los alarmó
enseguida, pero recién alrededor de las nueve de la noche
empezó a difundirse un método para evitar la penetración,
y a eso de las once se empezaba a vislumbrar una cura. Es
difícil calcular cuánto tiempo después se logró acabar
con la última copia, ya que podrían haber pasado días
enteros antes de que en algunas instalaciones prestaran
atención al problema.
El gusano de Morris adquirió fama rápidamente y
atrajo mucha prensa debido su enorme alcance. A partir de
allí, el tema de los programas autoreproductivos se
convirtió en tema de discusión y de pruebas entre
estudiantes, aficionados e investigadores. El concepto de
un programa con comportamiento similar al de un virus,
pero multiplicándose sobre las redes, alarmó a toda la
comunidad de Internet y otras redes similares. Si un
virus normal en una PC puede llegar extremos de mala
intención como formatear un disco ¿Hasta dónde podría
llegar un programa maligno (no como en el caso de Morris,
que se trataba de simple irresponsabilidad), liberado por
toda la red?
La historia continuó junto con el desarrollo en el
campo de los virus, los que, cómo bien sabemos,
aprendieron no sólo a sobrevivir y migrar, sino también a
ocultarse, defenderse, y muchas cosas más. Pero los
gusanos de las redes, así como los caballos de troya y
las bombas lógicas, han encontrado barreras más
infranqueables... por ahora.
Pero volvamos a la onda del shock. Aquí, la
serpiente es presentada sobre la base de una red
hipotética, basada en una arquitectura de intercambio de
paquetes liberados y ruteados por los nodos mismos, que
contienen datos de identificación, destino, información
propiamente dicha y, eventualmente, código ejecutable
(algo bastante similar al gusano). De esta manera, la
serpiente debería tener la inteligencia suficiente para
ir mutando su cabeza de manera de mostrar una
identificación diferente dependiendo de quién se la
solicite, y un mecanismo de autorruteo a fin de modificar
su destino dependiendo de las pistas que va recogiendo en
el camino. De hecho, la serpiente que se describe sobre
el final del libro, es extremadamente inteligente (hasta
demasiado para ser creíble, pero ¿quién sabe?), y va
agregando paquetes a su cola, juntando toda información
que tenga que ver con el bienestar público (una
definición un tanto etérea).
El protagonista, además de escribir estas especies
de proto-virus, es también una especie de paradigma del
hacker. Su intromisión constante en la red para extraer o
alterar información es alentada por un objetivo final
absolutamente coincidente con la máxima de los hackers:
"La información debe ser de acceso público e
irrestricto". Sus técnicas, además, van desde la
ingeniería social hasta la utilización de caballos de
troya (mencionados aquí como serpientes).
Debido a la forma en que Brunner imaginó los
"vifonos", es decir como una cruza entre el teléfono y la
PC, la forma en que Haflinger los manipula recuerda
también a los típicos phreakers. Teclea códigos y escucha
tonos para acceder de aquí para allá, como si manipulara
los tonos telefónicos.
Como se puede ver, la novela adelantó muchas cosas
de este mundo moderno. Hoy ya estamos a muy poca
distancia de ese tipo de red global, los mecanismos de
crédito (aún dependientes de las tarjetas), comienzan a
convertir al telemarketing en un método de compra
corriente, y los primeros sistemas de videoconferencia
comienzan a ser utilizables y son adoptados cada vez más
frecuentemente por las empresas.
Y los virus, por supuesto, se han convertido en una
verdadera plaga, aunque, por ahora, mayormente a través
de los medios magnéticos, ya que, afortunadamente (o no,
según la perspectiva de la novela), las redes ya han
logrado métodos bastante buenos de inmunidad contra
gusanos y serpientes.
El jinete en la onda del shock (1975), de John Brunner.
Ultramar Editores, 334 páginas.
Título original: The Shockwave Rider