domingo, 6 de julio de 2014
Historía
Y así empezó todo...
Virus.
Todo el mundo ha oído hablar de ellos y muchos los han sufrido, pero su forma
de infectar, reproducirse o atacar sigue siendo un gran misterio para la
mayoría. Una antigua máxima reza: "Si quieres vencer a tu enemigo,
conócelo primero". Eso es lo que se intentará en esta entrega: si se
ejecutan en un ordenador, es que son programas. Y si son programas, se pueden
comprender. Es cierto que no contamos con el código fuente, pero ¿acaso es
imprescindible? ¿Es que no tenemos el código objeto...?
Desde que en 1987 se diera el
primer caso documentado de ataque de un virus informático en la Universidad de
Delaware, mucho se ha dicho y escrito sobre el tema dentro de los foros más
insospechados. A pesar de ello los virus siguen siendo grandes desconocidos
para la gran mayoría, razón que sin duda contribuye no poco a que cada vez sea
mayor el número de ellos en expansión. Conocer y entender la forma en que
actúan, se reproducen y se comportan es la mejor forma de estar prevenido y
saber cómo reaccionar; la solución de formatear el disco duro nada más
enterarse de que dentro hay un virus es bastante extrema y, por lo demás, suele
eliminar toda la información del disco duro... a excepción del propio virus.
Por otra parte, ya no en el caso de
un particular, sino en el de las empresas, es muy posible que no puedan
permitirse esperar a que se saque la siguiente versión de un antivirus que
elimine el que les afecta, y necesiten que alguien realice un estudio inmediato
de su virus,
identifique su forma de actuar, sus efectos, y se pueda poner a corregirlos
cuanto antes.
Esta serie de artículos tratará de
dar cumplida visión del funcionamiento y técnicas de estos programas, pensando
que el conocimiento y el entendimiento son dos armas básicas en la lucha contra
cualquier amenaza.
Hay quien opina que este tipo de
información no debe hacerse pública para evitar que más gente se dedique a
fabricar virus. Pero, ya que según los estudiosos la media de aparición de
virus nuevos viene a ser de unos 5 o 6 cada día -por no contar las
modificaciones y mutaciones sobre otros ya existentes-, es fácil llegar a la
conclusión de que "los malos" ya tienen toda la información que
necesitan. Normalmente las políticas de ocultación de información de este tipo
con ánimo de evitar que se utilice con "malos fines" fracasan
estrepitosamente al acabar siempre desinformados los que sufren los ataques y
nunca quienes los perpetran, cosa que ayuda a que los ataques sean mucho más
efectivos.
Por eso aquí se tratará con virus
reales, estudiando su comportamiento a través de su propio código. La
naturaleza de estos programas obliga, eso sí, a suponer en el lector
conocimientos mínimos de lenguaje ensamblador. Se explicarán construcciones
crípticas u operaciones poco evidentes por estar fuertemente ligadas a la
arquitectura de la máquina, pero no el repertorio de instrucciones o los modos
de direccionamiento. Para información sobre estos aspectos, referirse a la
bibliografía.
LOS COMIENZOS
La paternidad de la idea de un
programa capaz de reproducirse se le atribuye a John von Neumann por su
artículo "Theory and Organization of Complicated Automata" del año
1949. Von Neumann estaba interesado en la creación de vidas artificiales electrónicamente,
a las que daba el nombre de autómatas que, según él, podían reproducirse sin
excesiva dificultad.
También por aquel entonces, cuando
empezaban a desarrollarse los primeros ordenadores, se vio la necesidad de
llevar a la computadora a un estado inicial conocido, eliminando rastros de
otros programas previamente cargados. Una solución muy ingeniosa consistía en
implementar una instrucción que simplemente se copiaba a la siguiente posición
de memoria y saltaba a ella para seguir ejecutándose. De esta forma todo el
mapa de memoria se llenaba con un único valor conocido: el código
correspondiente a la instrucción. Este fue otro ejemplo claro de código capaz
de reproducirse. Seguramente basado en él, más adelante, en los años 60, cobró
gran popularidad el juego "Core Wars", diseñado en los laboratorios
Bell de AT&T: dos jugadores lanzaban simultáneamente sus programas que se
reproducían en memoria hasta que ésta se agotaba. Ganaba aquel que fuera capaz
de "conquistar" más memoria, para lo cual era perfectamente legal "matar"
a las copias del adversario y "robarle" esa memoria.
Aparte del méramente lúdico,
también se trató de darle un uso algo más práctico a este tipo de programas, y
así, a finales de los años 70, dos investigadores del Centro de Investigación
Xerox de Palo Alto, California, idearon un programa que debía encargarse de las
labores de mantenimiento y administración del complejo, al que dieron el nombre
de "gusano". El programa "dormía" por el día y por la noche
se propagaba por todos los ordenadores del Centro haciendo copias de seguridad
y otras tareas de gestión. Todo esto en la teoría, porque en la práctica el
gusano escapó de los ordenadores de prueba del laboratorio, se extendió por
toda la red y paralizó todas las máquinas. Al intentar eliminarlo, seguía
reapareciendo, así que no hubo más remedio que crear otro programa vermicida
que fuera por todas las máquinas matando copias del gusano.
LOS AÑOS 80
La palabra virus no se empezó a usar hasta
que Fred Cohen, un estudiante graduado de la Universidad del Sur de California,
lo utilizó en 1984 para su tesis sobre programas autoduplicadores. En ella daba
la primera definición formal del término y hacía un estudio matemático de la
expansión de este tipo de engendros, mediante el cual demostró que crear un
programa detector de virus perfecto era lógicamente imposible (ver recuadro).
Como se dijo antes, en 1987, el 22
de octubre, se da el primer ataque de virus del que se tiene noticia. En
realidad era inofensivo y contenía la dirección y teléfono de los autores: dos
hermanos de Pakistán, estudiantes de la Universidad de Lahore, aunque, al
parecer, hubo un estudiante que perdió su tesis debido a efectos secundarios
del virus. También ese año se produce la primera infección masiva sobre
ordenadores Macintosh: un consultor de Aldus Corporation se infectó con un
disco de juegos y al realizar luego pruebas al programa Aldus Freehand
contaminó el disco que luego distribuyó su empresa. El virus se limitaba a
presentar en pantalla un "mensaje universal de paz" a todos los usuarios
del Mac, firmado por Richard Brandow, editor de la revista MacMag, al llegar al
2 de Marzo de 1988 (fecha del aniversario de la aparicíon del Macintosh II) y
se autodestruía inmediatamente.
Pero los buenos deseos de paz
pronto se transformaron en sentimientos menos encomiables. Así, tiempo después,
un banco de la isla de Malta se vio afectado por un virus que sacaba el
siguiente mensaje por pantalla:
"DISK DESTROYER - A SOUVENIR OF MALTA / I have just DESTROYED the
FAT on your Disk!! / However, I have kept a copy in RAM, / and I'm giving you /
a last chance to restore your precious data./ WARNING: IF YOU RESET NOW ALL
YOUR / DATA / WILL BE LOST FOREVER!! / Your data depends on a game of JACKPOT /
CASINO DE MAL"
Suscribirse a:
Comentarios de la entrada
(Atom)
0 comentarios:
Publicar un comentario