Creeper y Reaper: El Primer Programa Autorreplicante y el Nacimiento del Antivirus (1971)
En 1971, un programa llamado Creeper se movió entre ordenadores conectados a ARPANET. Para eliminarlo, se creó Reaper: el primer antivirus de la historia. Análisis técnico del origen del malware.
El contexto: 1971, cuando Internet eran 15 máquinas
En 1971, Internet no existía. Lo que existía era ARPANET: una red experimental del Departamento de Defensa de Estados Unidos que conectaba apenas 15 nodos y 23 ordenadores entre universidades y centros de investigación. UCLA, MIT, Stanford, Harvard, BBN Technologies, Carnegie Mellon.
Los ordenadores conectados eran mainframes DEC PDP-10, máquinas del tamaño de un armario que ejecutaban un sistema operativo llamado TENEX. Desarrollado por BBN en 1969, TENEX fue pionero en memoria virtual con paginación, algo revolucionario para la época.
No había hackers, no había malware, no había antivirus. La seguridad informática como disciplina no existía. Los programadores de ARPANET compartían un entorno de confianza mutua donde la prioridad era hacer que la red funcionara, no protegerla.
En ese escenario, un ingeniero de BBN llamado Bob Thomas hizo una pregunta aparentemente inocua: ¿puede un programa moverse solo de un ordenador a otro a través de la red?
Bob Thomas y la creación de Creeper
Bob Thomas trabajaba en BBN Technologies, la empresa que había construido los IMP (Interface Message Processors), los routers primitivos de ARPANET. Thomas no buscaba crear malware. Su objetivo era explorar el concepto de programas móviles: código capaz de migrar entre máquinas para ejecutarse donde fuera más conveniente.
El resultado fue Creeper, un programa escrito en ensamblador PDP-10 que hacía algo que ningún software había hecho antes: conectarse a otro ordenador PDP-10 en ARPANET, transferir su propio código y ejecutarse en la máquina remota.
La versión original de Thomas era self-moving, no self-replicating. Cuando Creeper se transfería a una nueva máquina, se eliminaba de la anterior. No dejaba copias. Se movía.
Al llegar a un nuevo sistema, imprimía un mensaje en el teletype:
I'M THE CREEPER : CATCH ME IF YOU CAN
Ese mensaje, impreso en una terminal Model 33 ASR, es considerado el primer "payload" visible de un programa autorreplicante en la historia de la informática.
Ray Tomlinson: de Creeper a la autorreplicación real
Ray Tomlinson es más conocido por inventar el email (también en BBN, también en 1971), pero su contribución a la historia del malware es igualmente significativa.
Tomlinson tomó el código de Creeper y lo modificó con un cambio fundamental: en vez de eliminarse de la máquina origen al transferirse, la nueva versión se copiaba. El programa original permanecía activo mientras una copia idéntica aparecía en el sistema remoto.
Este cambio transformó Creeper de un programa móvil a un programa autorreplicante en red. Por primera vez, un software se propagaba de forma autónoma sin intervención humana, dejando copias funcionales en cada máquina que alcanzaba.
Con solo 28 sistemas TENEX conectados a ARPANET, el alcance era limitado. Pero el concepto estaba demostrado.
La diferencia que importa
| Versión | Autor | Comportamiento | Categoría |
|---|---|---|---|
| Creeper v1 | Bob Thomas | Se mueve, se borra del origen | Programa móvil |
| Creeper v2 | Ray Tomlinson | Se copia, permanece en el origen | Worm (gusano) |
La versión de Tomlinson es la que generalmente se cita como el primer worm informático.
Reaper: nace el primer antivirus
Con varias copias de Creeper circulando por ARPANET, alguien tenía que limpiar el desorden. Tomlinson creó Reaper en 1972: un programa que recorría ARPANET buscando y eliminando copias de Creeper.
Lo notable es que Reaper usaba exactamente las mismas técnicas que Creeper: se propagaba autónomamente por la red, se movía entre máquinas PDP-10 y ejecutaba su tarea de forma independiente. La diferencia estaba en el objetivo: en vez de replicarse, buscaba y destruía.
Reaper es ampliamente considerado el primer software antivirus de la historia. Aunque el término "antivirus" no se acuñaría hasta más de una década después, el patrón conceptual quedó establecido: un programa diseñado específicamente para detectar y eliminar otro programa no deseado.
Análisis técnico: ¿cómo funcionaba?
TENEX y la facilidad de migración
TENEX era un sistema de tiempo compartido con memoria virtual paginada, algo avanzadísimo para 1971. BBN había construido hardware personalizado (BBN Pager, Model 701) para añadir paginación al procesador KA10.
La red ARPANET usaba NCP (Network Control Program) como protocolo de comunicación. Los sistemas TENEX conectados a la red podían transferir archivos y ejecutar comandos remotos, capacidades que Creeper explotó.
El mecanismo de propagación
No se conserva el código fuente original de Creeper, pero a partir de la documentación disponible, el proceso era:
- Creeper se ejecuta en un PDP-10 con TENEX
- Enumera los hosts accesibles en ARPANET
- Establece conexión con otro PDP-10 remoto
- Transfiere su propio código al sistema destino
- Inicia ejecución remota
- (v1 Thomas) Se elimina del sistema origen
- (v2 Tomlinson) Permanece activo en ambos sistemas
- Imprime el mensaje en el teletype
Limitaciones
- Solo afectaba a máquinas PDP-10 con TENEX
- Dependía de ARPANET (28 sistemas máximo)
- No tenía payload destructivo
- No tenía mecanismo de evasión
- No modificaba otros programas (no es un virus en sentido estricto)
¿Virus, worm o qué es exactamente?
La taxonomía importa, y Creeper suele generar confusión. Aclaremos:
Virus (definición formal de Fred Cohen, 1986): programa que infecta otros programas insertando una copia posiblemente modificada de sí mismo. Creeper no infectaba otros programas. Se propagaba como entidad independiente.
Worm (gusano): programa autorreplicante que se propaga a través de una red sin necesidad de infectar otros programas ni de intervención del usuario. La versión de Tomlinson encaja perfectamente en esta definición.
Programa móvil (mobile program): software capaz de migrar entre máquinas. La versión original de Thomas encaja aquí.
| Término | ¿Aplica a Creeper? | ¿Por qué? |
|---|---|---|
| Virus | No (técnicamente) | No infecta otros programas |
| Worm | Sí (v2 Tomlinson) | Se autorreplica en red sin infectar programas |
| Malware | No (en sentido estricto) | No era malicioso, era un experimento |
| Programa móvil | Sí (v1 Thomas) | Se mueve entre máquinas |
Decir "Creeper fue el primer virus" es aceptable en lenguaje coloquial, pero impreciso técnicamente. "Primer worm" o "primer programa autorreplicante en red" es más exacto.
Los precursores teóricos
Creeper no surgió de la nada. Antes de que existiera código autorreplicante real, la teoría ya estaba formulada.
Von Neumann y los autómatas autorreproducibles (1949)
En 1949, John von Neumann dio conferencias en la University of Illinois sobre la "Theory and Organization of Complicated Automata". Describió matemáticamente cómo un autómata podría construir una copia funcional de sí mismo: el concepto de máquina autorreproducible.
Von Neumann murió en 1957 sin publicar el trabajo completo. En 1966, Arthur W. Burks editó y publicó póstumamente el libro "Theory of Self-Reproducing Automata" (University of Illinois Press).
El "Von Neumann universal constructor" es el fundamento matemático de todo programa autorreplicante. Creeper fue la primera implementación práctica de ese concepto en una red de ordenadores.
Fred Cohen y la definición formal (1983-1986)
El 10 de noviembre de 1983, Fred Cohen, estudiante en la University of Southern California, presentó el primer experimento controlado de un programa parasitario autorreplicante en un seminario de seguridad. Su mentor Leonard Adleman (la "A" de RSA) sugirió el nombre "virus" para este tipo de programa.
En 1986, Cohen publicó su tesis doctoral "Computer Viruses", la primera definición formal y matemáticamente rigurosa. Demostró que la detección perfecta de virus es un problema indecidible (equivalente al problema de la parada de Turing).
La línea temporal completa de los orígenes
| Año | Hito | Significado |
|---|---|---|
| 1949 | Von Neumann: teoría de autómatas autorreproducibles | Fundamento matemático |
| 1966 | Publicación póstuma "Theory of Self-Reproducing Automata" | Formalización teórica |
| 1971 | Bob Thomas crea Creeper (self-moving) | Primer programa móvil en red |
| 1971 | Ray Tomlinson modifica Creeper (self-replicating) | Primer worm |
| 1972 | Ray Tomlinson crea Reaper | Primer antivirus |
| 1982 | Rich Skrenta crea Elk Cloner (Apple II) | Primer virus in the wild |
| 1983 | Fred Cohen: experimento de virus en USC | Primera demostración controlada |
| 1986 | Hermanos Alvi crean Brain (IBM PC) | Primer virus para PC in the wild |
| 1986 | Fred Cohen: tesis "Computer Viruses" | Definición formal |
Legado: por qué Creeper importa en 2026
Más de cinco décadas después, los conceptos que Creeper y Reaper introdujeron siguen siendo fundamentales:
Propagación autónoma en red. Desde el Morris Worm (1988) hasta WannaCry (2017), los gusanos que se propagan por redes sin intervención del usuario siguen la misma lógica conceptual que Creeper: encontrar un host, transferir código, ejecutar.
Antivirus como contra-programa. Toda la industria antivirus (Symantec, Kaspersky, CrowdStrike, SentinelOne) se basa en el mismo patrón que Reaper: software que busca, detecta y elimina software no deseado. Los EDR modernos son descendientes directos de esa idea.
Proof of concept responsable. Creeper no era malicioso. Era un experimento controlado entre colegas. La tradición de crear PoC no destructivos para demostrar vulnerabilidades existe desde el primer día.
La dualidad creador-destructor. Tomlinson creó tanto el problema (Creeper v2) como la solución (Reaper). Esta dualidad entre ataque y defensa, entre red team y blue team, estaba presente desde el inicio.
Lo que viene después
Tras Creeper y Reaper, pasaron más de diez años antes de que el malware se convirtiera en un problema real para usuarios comunes. El siguiente capítulo de esta serie cubre Elk Cloner y Brain: los primeros virus que se propagaron fuera de laboratorios, infectando ordenadores personales a través de disquetes.
La era del disquete traería algo que ARPANET nunca tuvo: usuarios que no eran ingenieros, máquinas sin supervisión profesional y una superficie de ataque que crecía exponencialmente.
Fuentes y referencias
- Bobrow, D.G. et al. "TENEX, a Paged Time Sharing System for the PDP-10." Communications of the ACM, 1972.
- Cohen, F. "Computer Viruses: Theory and Experiments." DOD/NBS 7th Conference on Computer Security, 1984.
- Von Neumann, J. (ed. A. Burks). "Theory of Self-Reproducing Automata." University of Illinois Press, 1966.
- Core War: Creeper and Reaper
- Internet Hall of Fame: Ray Tomlinson
- History of Information: The Creeper Worm
Preguntas frecuentes
Libros recomendados
Artículos relacionados
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.