|
por Jesús Manuel Márquez Rivera <JmMr> 29 Julio 2003
VIDA ARTIFICIAL
EL FASCINANTE MUNDO DE LOS VIRUS INFORMÁTICOS
INDICE GENERAL
-
Introducción.
-
Breve historia de los virus.
-
Definición, clasificación y tipos.
-
“Scene”: historia, grupos, ezines y escritores.
-
Virus y antivirus. ¿Cómo se hacen y actúan?
-
Algunos virus muy curiosos.
-
Protección contra el “malware”.
-
El futuro de la vida artificial.
-
Glosario vírico. Bibliografía. Recursos en Internet.
-
Apéndices:
10.1 1988, el gusano de Morris.
10.2 1999, el año en que bailó
Melissa.
10.3 2000, el año del virus Iloveyou. Hay amores
que...
|
“...destruir es muy sencillo, lo difícil es crear”
Wintermute, escritor de virus (29A)
|
“Yo no soy ningún terrorista, soy un artista”
Billy Belcebú, escritor de virus (IKX)
|
|
Con especial agradecimiento a los trabajos de autores
tan diversos como Mark Ludwig (Little y Giant Black Book), Cicatrix (VDAT),
Wintermute (Curso de Virus), Iczelion (Assembler), Ciriaco de Celis (Universo
Digital), Peter Norton (Assembler), Dirk van Deun (virus de batch) y todos aquellos que
han dedicado mucho tiempo a la rama vírica de la “metainformática”. Se me olvidaba
Eugene Kaspersky ; )
A maty, a jmg, a m&m, a
yzhan ... A mi amigo Francisco Díaz Valladares, al que le deseo lo mejor en su novela sobre
temática de tecnología centrada en el sistema Galileo y en el hacking. A Chessy por su Hacking en
NT, todavía modelo para mí.
|
1. INTRODUCCIÓN.
ACLARACIÓN INNECESARIA
Este trabajo es un esfuerzo
deliberado para explicar el mundo de los virus al usuario medio, con un lenguaje sencillo y claro. Hay muchos
artículos y libros especializados que resultan inasequibles, más técnicos y que profundizan más,
exponiendo código vírico y comentándolo para aquellos que ya saben ensamblador.
Esta versión gratuita y para
Internet, en formato Acrobat (pdf) es un primer borrador. Con esto no quiero decir que se
excusen los errores, sino que está en desarrollo. Al preparar el capítulo correspondiente de la
“Guía sobre el hacking”, no he podido evitar sentirme fascinado por la vida artificial y
he tenido que imponerme 40 páginas como límite.
Si la acogida de este trabajo es
satisfactoria, no tengo la menor duda que prepararé un libro sobre virus “para
mortales”, no en el sentido de “aprenda en 15 días” sino de introdúzcase
con facilidad en un universo difícil. Si todos aprendiéramos a respetar la excelencia y el esfuerzo en
los demás, a darles las gracias con un simple correo electrónico, tendríamos más textos y
herramientas a disposición de la comunidad. Al menos los primeros peldaños de la escalera. La verdad es que
la ignorancia (la mía, claro) hace osados a los hombres, que decían los clásicos :) Desde que
empecé a estudiar programación por libre, siempre he tenido claro que uno de mis objetivos era proponer un
método de aprendizaje sencillo y ameno. Un acierta “didáctica” del hacking
“ético”. Además de código vírico “realmente” explicado
paso a paso (batch, ensamblador, Visual Basic para Aplicaciones, Visual Basic Script, etc.), incorporaría
una historia a fondo de los virus, sus creadores y creaciones, los grupos y ezines, con ejemplos, entrevistas... pero
eso es otra historia.
Las ganas y las prisas por aprender son
buenas y malas. Buenas porque generan un impulso enorme, malas porque un porcentaje muy alto abandonan tras la primera
acometida. Prefiero el deseo de aprender y un cierto grado de tenacidad. También la curiosidad.
Otra intención es refutar los
tópicos sobre los escritores, creadores, coderz, Vxers... que son falsos (en la mayoría de los
casos). La mayoría son artistas y técnicos.
Que nadie piense
que se pueden entender o crear virus o gusanos sin esfuerzo, sin estudio, sin pasar horas leyendo tutoriales de
programación o de técnicas de infección o de ocultación.
Siempre me habían fascinado las
noticias sobre virus y gusanos. A finales de los ochenta, siendo un individuo ajeno por completo a la informática,
pensaba que esos “virus” serían una bacterias o algo semejante, que atacarían los componentes
físicos (cables, baterías... ) de los ordenadores, semejante al óxido o Dios sabe qué...
El día que comprendí aproximadamente lo que era un virus
informático quedé atrapado, tanto que desde entonces he leído con mucho interés
cuanta información ha estado a mi alcance. Siempre me preguntaba cómo serían esas personas capaces de
dar vida a algunas de esas criaturas tan perfectas y en constante lucha con los Avs o gente de los antivirus.
El problema de los
virus informáticos en relación con la seguridad y la integridad no debe ser exagerado, pero tampoco
menospreciado. Hay muchas personas que llevadas por la ignorancia o una mala experiencia opinan que todos
los virus son ingenios malignos, terribles y nada más. También hay quien dice que los virus no hacen
daño, que es muy fácil combatirlos. Ni una cosa ni la otra son ciertas.
Aunque los medios de comunicación contribuyen a la fama de las
creaciones y de sus creadores cuando son lo suficientemente incautos e inexpertos para dejarse atrapar, o
bien cuando por diversos motivos buscan la fama, no debemos olvidar que los escritores de virus son en muchos casos
expertos en programación. A veces los otros “expertos” que emiten su opinión
en los medios tienen un resentimiento particular, sobre todo si trabajan en una empresa de software
antivirus ;-) o sencillamente poseen una ignorancia académica.
El “autor” del gusano Kournikova fue contratado,
al parecer, por el alcalde de su pueblo por su pericia :))))))) En realidad no escribió ni una sola línea de
código para hacer el gusano. Usó una extraordinaria herramienta creada por K alamar.
Los escritores de virus constituyen una tribu muy reducida y poderosa
del underground informático, y por razones evidentes muy cerrada. Hace unos años ha saltado a los
medios de comunicación la figura de GriYo, uno de los más laboriosos y mejores
“Vxers” de la “scene” actual, perteneciente al grupo 29A,
posiblemente el mejor del mundo.
Una sátira que cuenta en "el mundillo":
El que sabe, crea virus,
el que no sabe, crea antivirus
(esta regla tiene algunas excepciones ;)
La palabra mágica de esta vida artificial es ensamblador, un
lenguaje de programación muy cercano al código binario o lenguaje de la máquina (ése escrito con
ceros y unos), que permite reducir el tamaño de las creaciones y realizar operaciones con gran rapidez y
efectividad. Es la joya de la programación (y por cierto bastante difícil para la mayoría de los
mortales). Lo analizaremos más detenidamente en un apartado de la Guía, dedicado a la
programación.
En este capítulo trataremos sobre virus y gusanos. Dada la
proliferación de troyanos y puertas traseras en los sistemas y programas, es necesario dedicar un
capítulo específico a los troyanos en otra sección de la Guía.
Tanto en lo relacionado con el lenguaje ensamblador como con los troyanos,
en la sección de “Recursos en la Red”, al final de este artículo-capítulo
podrás encontrar referencias útiles e interesantes para ampliar y verificar la información.
Desde que apareció el “primer virus
informático” in the wild (suelto, en libertad) en 1986 (sobre los
“anteriores” para Apple II y de Cohen trataremos más adelante) hasta el día de hoy se
calculan entre 50.000 y 100.000 los existentes (la primera cifra refleja aquellos que recogen los antivirus más
completos). La cifra real sin incluir las variantes puede rondar los 10-15.000. Hablamos de
“malware” por seguir el término al uso, aunque aquí habría que incluir
algún sistema operativo de éxito y algunos de sus programas para Internet :)
Algunos gusanos y virus, son diseñados para servidores o redes
concretos, adaptándose a sus características y no saliendo nunca de su objetivo, incluso para mostrar una
vulnerabilidad concreta (“proof-of-concept”). Otros muchos se mantienen en los discos y colecciones
de algunos escritores o en BBS de acceso restringido, esperando el momento oportuno. Existen virus para casi cualquier
plataforma y sistema operativo: MSDOS, Windows, Macintosh, Unix, Commodore, Linux, etc.
Cuando parecía que “ya no había mucho que
hacer” han aparecido los gusanos CodeRed, Nimda, SirCam ... y el futuro nos va a deparar muchas
sorpresas. Una vez más, los “profetas” y agoreros tropezaron en la misma piedra, anunciando el fin
de los virus y gusanos...
Generar virus es fácil,
crearlos es difícil, muy difícil.
En la Informática
y en Internet los “dioses” son UNIX (GNU/Linux), C, TCP/IP ... y el lenguaje
ensamblador. Lo demás es secundario... ah, y Amiga y “Speccy” ;)
2. BREVE HISTORIA DE LOS VIRUS.
Hay numerosos estudios eruditos que intentan
determinar la paternidad de la idea. Es muy difícil saber con exactitud quién habló por vez primera
sobre algo parecido a un código con las características de un virus.
Quizás el primero que adelantó una definición de lo que
entonces no existía todavía fue el matemático John von Neumann (a la derecha) al publicar
en 1949 un artículo titulado “Theory and Organization of Complicated Automata”
hablando de “una porción de código capaz de reproducirse a sí mismo”. No digo que
fuera “el padre de los virus”...
Se inician las “Core Wars” (guerras del
núcleo) a finales de los 50, desarrolladas por H. Douglas Mcllroy, Victor Vysottsky y Robert Morris
Sr. (sí, el padre del otro, el del Gusano), investigadores de inteligencia artificial de los
laboratorios Bell. Dos programas hostiles, escritos en un lenguaje pseudo-ensamblador llamado
RedCode, podían crecer en memoria y luchar entre sí. Consiguieron su
“guerrero” más perfecto al que llamaron “Gemini”. La película
“Tron” de 1982 no es ajena a esto.
En 1970 Bob Thomas creó un programa al que llamó
“Creeper” (reptador) que viajaba por las redes y era usado por los controladores aéreos
para ceder el control de un avión de un terminal a otro.
A principios de los 80, John Shock y Jon Hupp, del
centro de investigación Xerox de Palo Alto, California, diseñaron un programa-gusano para
intercambio de mensajes y tareas automáticas durante la noche, pero se puso a trabajar de forma incontrolada y
tuvieron que eliminarlo. :(
En 1983 Ken Thompson (imagen de la
izq.) recibía el premio Alan Turing y sorprendía a todo el mundo con un discurso basado en las
“Core Wars”, en el que estimulaba a todos los usuarios y programadores a experimentar con
esas “criaturas lógicas”. Por cierto, este “vándalo” fue el creador
de UNIX en 1969.
En 1984 y en años sucesivos, apareció en la prestigiosa
revista norteamericana “Scientific American” una serie de artículos de A. K.
Dewney en los que revelaba al gran público la existencia y las características de las
“Core Wars”.
En 1985 un estudiante de la Universidad
de California del Sur llamado Fred Cohen (foto dcha.) completaba su tesis sobre programas
autoduplicadores (iniciada en 1983). Fue en realidad el director de su tesis el que le sugirió el
nombre de “virus informático”. Había publicado un artículo en
“IFIPsec 84” titulado “Computer Viruses. Theory and experiments”,
en el que establecía una definición académica del virus informático como: “un programa que
puede infectar a otros programas incluyendo una copia posiblemente evolucionada de sí mismo”.
Se puede decir que es en el año 1986 cuando aparecen los
primeros virus en el sentido que le damos hoy al término. Los virus para Apple II, especialmente Elk
Cloner, y los ensayos académicos de Cohen tienen otra consideración.
En enero de 1986 aparece en escena el virus
“Brain”, procedente de Paquistán. Fue el primer virus para PC,
capaz de infectar el sector de arranque y de ocultarse (técnica stealth). En ese mismo
año, Ralf Burger creó el virus “Virdem”, el primero que podía
infectar ficheros ejecutables, en este caso sólo los COM (más simples y sencillos de
infectar). Lo distribuyó en la reunión del Chaos Computer Club en Alemania en
diciembre de ese año. Estaban definidos los dos tipos básicos de virus según el soporte
infectado, aunque la constante es que se pretendía infectar código ejecutable estuviera en el sector de
arranque de un disquete o en un programa ejecutable. A la espera de un tercer tipo: los interpretados (macro y
scripts), en los que el código vírico actúa cuando se “ejecuta” el archivo de
texto en el que va escondido.
En 1987 tenemos al virus "Stoned" (origen de uno de los
más famosos de todos los tiempos: el "Michelangelo"). La película
“Hackers”, odiada y amada a partes iguales, hace referencia a cierto gusano parecido al de
Morris y a un virus en el que no es difícil ver un recuerdo de Michelangelo (lo llaman Leonardo da
Vinci). También se tiene noticia del "Lehigh" (relacionado con pruebas de Cohen y Ken van Wyk, al
parecer) y del famosísimo "Vienna" (cuya inclusión del código desamblado en un libro por
Ralf Burger provocó un gran escándalo).
Y llegó 1988, año de la mayoría de edad de
los virus y gusanos. Nadie volvería a decir que eran producto de la imaginación, leyendas urbanas,
“leyendas comparables a la de los gnomos”. No voy a traer a estas páginas (o pantallas)
ejemplos de aquellos años para no sonrojar a decenas de expertos que se cubrieron de gloria acerca de la
inexistencia e imposibilidad de los virus informáticos ;) Bueno, sí lo haré en el futuro
libro.
El viernes 13 de mayo de 1988 el virus
“Jerusalem” o “Friday the 13th”, conocido como "Viernes
13" comenzó a propagar el miedo entre los usuarios de todo el mundo. Este es el primer
pánico asociado a un virus.
El 2 de noviembre de ese año fue liberado el gusano de
Morris o “gusano de Internet” que colapsó un 10% de ARPANET. Creado por un
estudiante norteamericano llamado Robert Tappan Morris. El caos generado por el pánico
superó a los efectos técnicos reales.
En 1989 se inicia lo que se conocerá más tarde como la
“factoría búlgara”, dada la cantidad y calidad de virus creados en ese país.
Destacan los virus "Eddie", "Nomenklatura" (que afectó al gobierno británico con
especial intensidad), "Dark Avenger", "el Número de la Bestia", etc. El libro
“Los piratas del chip” de Clouhg y Mungo (Approaching Zero) relata de forma muy
amena e interesante estos sucesos, especialmente la “evolución” del virus "Yankee
Doodle" y la extraña relación del creador de virus “Dark
Avenger” con el periodista de asuntos informáticos Vesselin Bontchev.
Uno de los factores
decisivos para generar el caldo de cultivo para esa explosión vírica en Bulgaria fue la llegada de noticias
sobre los efectos del gusano de Morris.
Los primeros años 90 vieron la aparición del
polimorfismo, de los primeros grupos de escritores y de los ezines, forma principal de comunicación
entre los investigadores de la vida artificial, junto a los foros que se formaban en torno a BBS
(ordenadores que mantenían un programa para recibir conexiones de otros ordenadores a través de la
línea telefónica).
Esta era la
época del MS DOS, que reinaba sin discusión en el mundo de los PCs.
Con la aparición del Windows 95 (¡en 1995!) se
revoluciona el mundo vírico. Tras un período de desconcierto, se producen las primeras
creaciones para el nuevo sistema aperitivo... operativo.
No cabe duda que
Microsoft y sus productos Windows han contribuido a la difusión y masificación de la informática y del
uso de Internet, pero tiene tantas cosas en la lista negativa que no sé si habría que preguntarse si todo
habría sido mejor sin Microsoft. ;)
Fueron "Boza" (de forma imperfecta) y
"Win32.Jacky", de Jacky Querty (ya perfeccionada) los que encontraron el camino de la
infección y abrieron la vía para los demás.
En este año se realiza el primer virus de macro para Word:
"Concept" (ya existían en Mac).
Junto a la “factoría búlgara”,
sería legítimo hablar de la “factoría española” de virus al referirnos al
BBS “Dark Node” y al grupo 29A, en 1995 y 1996. Y no debemos olvidar que
algunos de los mejores "Vxers" actuales son españoles.
A finales de los 90, la creciente generalización de
Internet hace que los virus y gusanos aprovechen este medio para propagarse velozmente por todo el mundo
(correo, lenguajes de script ... ).
En 1998, el virus "CIH", más conocido como
"Chernobyl", produce daños en la BIOS y obliga a quitar la placa base en determinados PCs. La
noticia de“un virus que daña el hardware” inunda los medios.
En 1999, David L. Smith revoluciona ciertos aspectos de la
seguridad con su gusano de macro "Melissa". Fue un auténtico fenómeno periodístico
(mediático que dirían hoy) a nivel mundial. Ninguno se había extendido con tal velocidad hasta
entonces. Aprovecha la libreta de direcciones del ordenador infectado para propagarse.
El año 2000 es el año del gusano
"ILOVEYOU". El uso de la ingeniería social puso en evidencia el eslabón más débil
de la seguridad en muchos sitios: el factor humano.
La explosión de los gusanos de Internet (I-Worm) tuvo
lugar en el 2001. "SirCam" (gusano mexicano), "CodeRed" (aprovecha un fallo o bug del
IIS), "Nimda" (inspirado en los anteriores), "BadTrans", ...
El prestigioso coderz brasileño Vecna liberó
"Hybris", auténtica delicia para los estudiosos y pesadilla para los demás mortales.
Los años 2002 y 2003 han generado noticias especialmente
impactantes, pero el número de virus, gusanos y demás malware se ha disparado hasta niveles...
¿preocupantes? , por lo que los medios de comunicación no pueden darle el relieve que tuvieron
aquellos míticos de 1988, 1999 o 2000.
"Klez", "Bugbear", "Goner",
"Slammer", "Bugbear.B", "Mapson", "Sobig" ...
¿Qué
ocurrirá en los próximos años? ¿Será alguien capaz de diseñar un virus para
Echelon? ¿Cuál será el primer virus que incorpore I.A.? Ya el
"Esperanto" de Mr. Sandman apuntó algunos aspectos con módulos de
decisión.
|
MARK LUDWIG, EL AMIGO DE LOS VIRUS
Mark Ludwig es uno de los personajes más sobresalientes relacionados
con los virus informáticos. Escritor interesado por los aspectos técnicos y por la filosofía que
encierra su existencia: partidario de la difusión de la información sobre código y técnicas
víricas. La “seguridad a través de la oscuridad” o desinformación es
practicada por gigantes como Microsoft, con un resultado más que discutible ;)
En 1990 publicó un libro en el que enseñaba
cómo programarlos, con el espectacular título de “The Little Black Book of Computer
Viruses” (El Pequeño Libro Negro de los Virus Informáticos). La versión
electrónica disponible en Internet data de 1996.
Provocó tal escándalo al incluir virus en código fuente,
que aún hoy se encuentran algunos dardos envenenados en los escritos de expertos de seguridad y de empresas
antivirus al referirse al señor Ludwig como un irresponsable.
“Computer Viruses, Artificial Life and Evolution”
(Virus Informáticos, vida artificial y evolución) es otro libro destacable sobre la dimensión
más profunda de este arte que también es ciencia. Quizás en unas décadas podamos
apreciar la altura del pensamiento reflejado en este libro.
Después vino “The Giant Black Book of Computer
Viruses” (El Gran Libro Negro de los Virus Informáticos) en 1995. Muy completo y con más
de 600 páginas. Cuenta con una segunda edición más depurada aún.

Cabe destacar también la publicación de un cdrom repleto de
textos, virus vivos, códigos fuente y herramientas. Dada la dificultad de encontrar editor, Mark Allen
Ludwig los edita en “American Eagle Publications”, notable sello editorial en un
mundo cada vez más oligopólico.
En la actualidad se pueden encontrar las versiones en formato pdf
de los dos Libros Negros, con el contenido de los disquetes que acompañaban a los libros impresos
(virus vivos y código fuente) en la excelente página VX Heavens.
Especial interés tiene la entrevista que le hace Fernando
Bonsembiante titulada “El amigo de los virus: Entrevista a Mark Ludwig”, que puede
inspirar a muchas personas interesadas en el estudio y en la creación responsable de virus informáticos.
Entre otras cosas, muestra su preferencia por el libro de Peter Norton para aprender lenguaje ensamblador
(assembler) y el programa Tasm de Borland para editarlos y compilarlos.
|
TABLA CRONOLÓGICA: VIDA ARTIFICIAL Y SCENE (1981-2003)
|
| AÑO |
VIRUS, GUSANOS Y OTROS ACONTECIMIENTOS
|
| 1981 |
Virus para Apple
II. Aparece el IBM PC. |
| 1982 |
|
| 1983 |
Elk Clones
(Apple II). Fred Cohen inicia su estudio. |
| 1984 |
|
| 1985 |
Cohen
termina su tesis doctoral. |
| 1986 |
Virus Brain
(sector de arranque) / Virdem (infector de ficheros COM) de Ralf Burger. Virus Ping
Pong |
| 1987 |
Virus
Vienna. Virus Stoned. Virus LeHigh (a raíz de sus efectos se inicia VIRUS-L). Ralf
Burger incluye código virus Vienna en su libro. |
| 1988 |
El gusano de
Internet creado por Robert T. Morris. El virus Viernes 13 o Jerusalem. El gusano
WANK. |
| 1989 |
Virus Dark
Avenger. Primer BBS sobre virus (Bulgaria). |
| 1990 |
Inicios del
polimorfismo. Virus Whale (muy complejo). Virus Flip / Omicron (1º
multipartito). Mark Ludwig publica “The Little Black Book of Computer
Viruses”. |
| 1991 |
El virus
Tequila, primero plenamente polimórfico. MtE. Mutation Engine de Dark Avenger (añade
polimorfismo casi sin esfuerzo). Número 1 del primer ezine vírico: 40HEX (grupo
Phalcom/Skism). |
| 1992 |
El virus
Michelangelo produce un terremoto (ya detectado en 1991). Virus Dark Avenger. VCL (Virus
Creation Laboratory) del grupo Nuke. |
| 1993 |
MSDOS 6.0.
Arrestado el grupo de coderz ARCV (Association of Really Cruel Viruses) en G.B. |
| 1994 |
Chistopher Pile (a)
Black Baron encarcelado por delitos relacionados con virus. |
| 1995 |
Concept, el
primer virus de macro para Word (antes los hubo en Mac). Mark Ludwig publica “The Giant Black Book of
Computer Viruses”. BBS español “Dark Node” sobre virus (origen de
29A). |
| 1996 |
Boza, primer
virus para Windows 95. Win32.Jacky resuelve los problemas. Número 1 del ezine 29A (el grupo 29A
aparece después). |
| 1997 |
|
| 1998 |
El virus Strange
Brew, primero escrito en Java. Se detecta el virus CIH o Chernobyl (26 abril). Noticias
del troyano DIRT ¿Gran Hermano o estafa? |
| 1999 |
El año del
virus Melissa (gusano, virus de macro). Se procesa a David L. Smith. El virus Bubbleboy no
requiere que se abra el adjunto. Babylonia, primer virus capaz de actualizarse conectando con un sitio web.
Virus Esperanto de Mr.Sandman (primero multiplataforma no siendo de macro). El timo del
“efecto 2000” calculado en más de 60.000 millones dólares. |
| 2000 |
El año del
gusano Iloveyou. Vecna libera su creación Hybris. Aparece VBSWG (VBS Worms Generator) por [K]
alamar. El famoso troyano BO en su nueva versión Back Orifice 2000. |
| 2001 |
Los gusanos de
Internet: Nimda, SirCam, CodeRed, BadTrans ... Noticias sobre el troyano Linterna Mágica del
FBI. |
| 2002 |
Klez.H
(aprovecha las dobles extensiones). Bugbear. |
| 2003 |
Gusano SQL –
Slammer. La revista Wired publica el código. Bugbear.B. Sobig |

- Siguiente -
- ANTIVIRUS y BICHOS -
- Artículos
Varios -
|