VR10: 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