💾 Archived View for texto-plano.xyz › peron › articulos › virus.gmi captured on 2023-04-19 at 23:23:44. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

➡️ Next capture (2023-05-24)

-=-=-=-=-=-=-

El Mundo de los Virus

1960s.

COREWARS: Las "Guerras del Núcleo"

En 1961 se origina en los Laboratorios Bell un juego de programación que tenía un sentido práctico: evaluar la resistencia de los primeros mainframes dotados con sistemas operativos de tiempo compartido (aquellos capaces de ejecutar tareas en segundo plano).

Retroactivamente, recibió el nombre de COREWARS ("Guerras del Núcleo), en vista de la memoria "de núcleo de ferrite" que usaban las primerísimas máquinas con sistemas de tiempo compartido y múltiples usuarios.

Para ello tres programadores de los laboratorios Bell, Victor Vyssotsky, Robert Morris (padre) y Douglas McIlroy desarrollaron un programa gestor llamado DARWIN ("porque veríamos la supervivencia del mas apto"). La lucha se daba por medio de microprogramas minimalistas, y el resultado lo decidía una rutina "árbitro" que correría con privilegios. La arena de este coliseio estaba formada por una parte de lo los 32K de memoria del mainframe IBM 7090.

Las "reglas" convenidas consistían en que los jugadores debían programar sus "gladiadores" usando un conjunto de instrucciones reducidos que podían ser interpretadas por el CTSS "Sistema de Cómputo de Tiempo Compartido" original. Las rutinas de combate debían tener la menor cantidad de instrucciones posibles y su fin era conquistar los 32K de la "arena".

Los tres ingenieros jugaron varias rondas de DARWIN. El programa más pequeño capaz de replicarse, encontrar y matar otros programas en la arena de la memoria de núcleo resultó tener 30 instrucciones. McIlroy en un momento logró un programa inmortal de 15 instrucciones capaz de buscar y matar, pero la inmortalidad le vino a costa de no poder reproducirse.

Robert Morris en cambio creó un programa con el que finalmente pudo ganar la justa: una rutina de 44 instrucciones con estrategia adaptativa. Cuando el programa de Morris encontraba la locación de memoria superior de un programa ajeno, analizaba un poco por encima del mismo (usando un offset). Si encontraba que dicha locación no estaba protegida, la reservaría para usar el mismo offset a posteriori). De lo contrario utilizaría otro offset.

En conclusión podemos decir que La idea de las COREWARS se usaba como una propuesta teórico practica, pero dieron el origen de múltiples condiciones de los virus informáticos: la noción de replicarse, apoderarse de recursos de un huésped (y por extensión, del operador), la de funcionar con independencia del creador, y finalmente el espíritu lúdico.

1970s

CREEPER y REAPER

Ya para 1971 McIlroy había podido presentar variaciones de este singular torneo que podían correr en la Atlas Titan de la universidad de Cambridge, y las mainframes IBM System/360. En esta época se comienza a hablar ya del concepto de "virus informático" por la similitud que tienen estos programas de computadora con los virus biológicos.

Pero el advenimiento de las redes de datos, especialmente la ARPANET, produce una nueva conceptualización lúdica inspirada en las viejas COREWARS.

Se trataban ya de los primeros virus prácticos. Entre los más conocidos estaba el CREEPER de 1971, de Bob Thomas, que corría bajo el sistema TENEX de la reciente PDP-10 de la Digital Equipment. El CREEPER era un programa subrepticio sólo en su técnica de difusión, pero no era malicioso; era un programejo fanfarrón que imprimía en bucle en las teletipos el mensaje "Soy el CREEPER, ATRAPAME SI PUEDES". Ray Thomlinson modificó a CREEPER para que no sólo "viajara" a través de las redes de datos gracias a las potentes facilidades de guionado que tenía el TENEX, sino que además se "autoreplicara" y enviase copias de si mismo.

Esta es la versión que podríamos ya describir como GUSANO REPLICANTE o Vibrión. Para no causar graves incordios, creó al REAPER, otro gusano encargado de buscar y eliminar el al CREEPER (con lo que podríamos decir que era el primer virus-antivirus, o sobre el modelo de antígeno).

1980s

Con la popularización de las microcomputadoras y la estandarización de los sistemas operativos empieza a engendrarse un nuevo paradigma de VIRUS. Las primeras microcomputadoras tenían un sistema operativo a veces colocado en una memoria de solo lectura y no se infectaban. Pero conforme los sistemas operativos se hicieron más poderosas, requerían cargarlo en un diskette. Esto hacía que estas microcomputadoras se arrancasen siempre con un diskette

colocado en la diskettera. Esto permitió un nuevo vector infeccioso: la infección por sector de arranque.

La técnica consistía en sobreescribir el primer sector del diskette de inicio con parte o todo el código del virus y luego poner un "salto" al resto del disco ejecutaba el código del virus antes que el del sistema operativo.

El primero aparece muy limitadamente, el ELK CLONER. Era un virus de 1984 escrito por un estudiante de 15 años, que usaba una Apple II.

Los clásicos Virus

Con el MS-DOS ya aparece fuerte el concepto del software privativo. Este

asocia al software (anteriormente libre) a un concepto de mercancía. Es así como aparece el primer VIRUS AUTORREPLICANATE para MSDOS, y el primer VIRUS MASIVO, el PAKISTANI BRAIN.

Se trataba de un virus programado por un par de hermanos de Lahore, Pakistán, quienes poseían también una BBS llamada Dungeon. Su objetivo era atacar las copias ilegales de un software de monitoreo cardíaco para MSDOS. Se replicaba haciendo uso de sector de arranque en discos floppys de sistema e incluia un mensaje "en memoria de miles de virus". Es un virus que tuvo muchísima difusión en todo el mundo.

El Gusano de Morris

Este es conocido como "el primer virus de Internet", el "Gran Gusano" o el

"Gusano RTM".

Fue desarrollado un 17 de octubre pero de 1988 por "RTM" Robert Tappan Morris (si, ¡el Hijo del Robert Morris (padre), el del DARWIN!). Funcionaba en las computadoras mainframe PDP y VAX que corrían el UNIX de Berkeley.

Usaba exploits de seguridad sobre los programas SENDMAIL y FINGER, sobre los servicios de LOGIN sin contraseña, o por ejecuciones de shell remoto para replicarse. Si bien analizaba sus nuevos anfirtriones en busca de infecciones previas "para no pisarse la manguera entre bomberos", cometió errores de programación que lo hacían más infeccioso de lo deseado, especialmente porque temió el uso de programas tipo REAPER que lo cazaran... Terminó haciendo que su gusano RTM fuese extremadamente infeccioso y poco furtivo. Las cargas en el sistema y las redes obligaron a "apagar internet" el 2 de noviembre de 1988.

El código fuente del gusano está disponible en la web, siempre se dijo que era obra de un mal programador, pero no es tan así, es un retruécano sobre un programa portable y sumamente infeccioso en su momento (hoy ya no funcionaría).

En mi opinión el funcionamiento de los "gusanos" asemeja al de la teniasis, en el sentido que el mismo código es capaz de autorreplicarse, viajar vectorizando un ambiente de red por sus propios medios, y multiplicarse para buscar supervivencia de su progenie parasitando múltiples huéspedes ajenos a lo largo de dicha red. La tenia - por asqueroso que parezca el ciclo biológico de este gusano parasitario - hace lo mismo: tras generarse a partir de huevos en el tracto digestivo, vectoriza los deshechos - excremento - para buscar infectar el sistema digestivo, ya sea por sus medios (movimientos de parte de su cuerpo eslabonado), o de huevos, parasitando otros huéspedes. Es impresionante como Morris padre se inpiró en ese bicho de mierda para hacer el CREEPER!

Se dice que Morris (h) intentó ofuscar su gusano propagándolo en el MIT en lugar de hacerlo desde Cornell, su alma mater. Esto le valió el costo de su condena, ya que agregaba la humana condición de "culo sucio". Aunque lo cierto es que terminó avisando - de forma anónima - y a la gente de Hardvard.

Estas particularidades llevaron al descubrimiento del autor. Morris adujo en el juicio que quería demostrar lo inadecuado de las medidas de seguridad actuales en las redes de computadoras que podían provocarse explotando defectos que EL habia descubierto. Pero tenía poco sentido que lo hubiese hecho desde sistemas ajenos al suyo, si eso era realmente el caso. Fue condenado a 3 años de prisión y se convirtió en el primer convicto por abuso de computadoras.

1990s

El Callejón de las Bombas

Otro virus que repetían vectores similares al viejo STONED pero cargaban otras "cabezas de guerra" eran las BOMBAS DE TIEMPO o BOMBAS LÓGICAS. Estos hacían su infección o su actividad bajo ciertas condiciones. El fundamental fue el STONED, un virus bromista que tuvo muchísimas variaciones, muchas de ellas dañinas más que nada por errores de programación. Fue realmente inflyente por los centenares de virus que inspiró. Tal vez el más famoso (aunque técnicamente no derivaba de el, si era una bomba de tiemnpo) fue el MICHAELANGELO. Fue un virus del cual se generó la PRIMER PARANOIA E HISTERIA MASIVA POR VIRUS INFORMATICOS. Fue descibierto a inicios del 91 en Australia y era de autor desconocido. Se adujo que iba a destruir todas las computadoras del mundo el 6 de marzo de 1992. Si bien borraba discos o inutilizaba las computadoras, podía evitarse "cambiando la fecha" del reloj de la PC. Finalmente fue casi inocuo.

Sus planos esquemáticos, el código fuente en ensamblador, C o Clipper, permitía desarrollar y compilar estos virus a la par que se aprendía programación, pero fundamentalmente concentró la fauna virósica al sistema operativo de Microsoft. con el final de su ciclo operativo a mediados de la década, finalizó la etapa que podríamos llamar "clásica" de los virus informáticos de diseño, para iniciarse la era de los exploits de Windows, los virus Macro, y los troyanos de Internet.

Te invito a escuchar nuestro antiguo podcast sobre la historia de los virus, donde detallamos un poco de dónde es que sale la idea de Robert Morris (padre), Douglas McIlroy y otros, y su reinterpretación por Robert Tappan Morris (hijo).

Podcast sobre Virus