Virus,
gusanos y troyanos
:: ¿Sabemos lo que son?
::
Lo
sé, estamos hartos de oír hablar de virus, de que
empresas antivirus nos metan el miedo en el cuerpo, intentando
que compremos sus productos, mientras probablemente, sus propios
técnicos liberen especimenes en la Red para que todos nos
infectemos, creando así una mayor demanda de (qué
casualidad) su propia oferta.
Sí,
todo esto puede ser más o menos cierto, pero detrás
de estos tres nombres (gusanos, virus y troyanos) existe todo
un mundo que considero conveniente discernir.
"Un
programa de ordenador que puede infectar otros programas
modificándolos para incluir una copia de sí
mismo".
Consultando wikipedia.org, (una
enciclopedia libre y gratuita) encontramos esta definición:
Existe cierta controversia sobre la definición de virus informático. Quizás la más aceptada pertenece
a Fred B. Cohen, quien en 1994 escribió su tesis doctoral
acerca de los virus, definiéndolos como "un programa
de ordenador que puede infectar otros programas modificándolos
para incluir una copia de sí mismo". No olvidemos
que Fred B. Cohen es considerado el padre de los virus y el primer
informático en experimentar con programas infecciosos en
los setenta. Tras esta definición,
podremos encontrar clasificaciones de todo tipo, según
qué acciones específicas tomen los especimenes.
Antes de la llegada de una Internet masiva, era mucho más
sencillo diferenciarlos porque se limitaban a una función
concreta dentro de su campo de acción. Esto es, si infectaban
disquetes, infectaban disquetes y poco más, si se transmitían
a través de redes, no eran capaces de otros logros... pero
con la interconectividad, las fronteras se han diluido, y los
virus se han especializado en lo que resulta más fácil
y eficaz a la hora de difundir su código.
Para ser virus, se necesita algún sistema
que sirva de "motor" y ejecute el código dañino,
y en cuestión de "motores" nada mejor que Windows.
Gracias a lo "opaco" de este sistema operativo y a su
filosofía de ficheros ejecutables, unido a constantes errores
de programación que permiten un primer contacto del virus
con el ordenador para ser infectado, resulta especialmente sencillo
para los "virus coders" (programadores de virus) crear
especímenes que se acunen en este sistema operativo. En
sistemas mucho más transparentes como Linux, los virus
se limitan a puras pruebas de concepto, que demuestran que "en
teoría" y sólo en teoría, sería
posible programar algún tipo de código que se ejecutara
sin permiso del usuario... pero en la práctica, resulta
casi imposible. La propia filosofía de Linux impide que,
a no ser que el usuario ponga un gran empeño, se ejecute
algo de forma silenciosa en el sistema.
Los gusanos son programas similares
a los virus que, a diferencia de estos, solamente realizan copias
de sí mismo, o de partes de él. La diferencia básica
es que no necesitan infectar a otros ficheros para reproducirse.
Los gusanos se limitan a realizar copias de sí mismos,
sin tocar ni dañar ningún otro fichero, pero se
reproducen a tal velocidad que pueden colapsar por saturación
las redes en las que se infiltran. Principalmente se extienden
a través del correo electrónico.
Troyano o Caballo de Troya: Estrictamente hablando,
un troyano no es un virus, y los términos suelen inducir
a la confusión. Un troyano es cualquier programa que llegue
al ordenador de forma encubierta, bajo otro programa aparentemente
inofensivo, y se ejecute de forma transparente para el usuario,
sin su conocimiento. El programa suele tener como fin que el sistema
pueda ser controlado remotamente, pero no es un imperativo. La
historia mitológica El Caballo de Troya ha inspirado su
nombre. A veces es confundido con los virus comunes, debido a
que para que un archivo albergue en su interior un "troyano",
debe haber sido modificado especialmente con software específico,
que lo modifica, pero no lo daña.
¿Qué conclusiones
podemos sacar? Que los especimenes de hoy en día son una
mezcla de todo lo anterior. Muchos virus, que infectan y malogran
ficheros de sistema, pueden reproducirse rápidamente y
esparcirse de forma exponencial, y a la vez, incluso muchos contienen
algún tipo de software destinado a que el PC pueda ser
controlado de forma remota. La mayoría llega a nuestro
sistema a través de otro programa que en principio parece
inofensivo. Por tanto, las fronteras de las definiciones se pierden,
y lo que conocemos como "virus", contiene un poco de
las tres acepciones clásicas.
También podemos concluir, si observamos
los virus más recientes, que la carga "negativa"
(lo que más estrictamente puede ser considerado "virus")
ha perdido valor con el tiempo. Ya no se escriben (o al menos,
llegan a ser populares) tantos virus dañinos como antaño.
Ahora los "virus coders" apuestan por la velocidad de
expansión (capacidad de replicación de un "gusano"),
que apenas hace daño, pero consigue infectar muchos ordenadores,
buscando unos absurdos quince minutos de fama que muy probablemente,
harán que acabe con sus huesos en la cárcel. Esto
es así porque lógicamente, necesitan mantener el
ordenador "sano" para que sirva de "replicador"
de copias del propio gusano, no les interesa programar virus que
inhabiliten el sistema y no les permitan reenviarse y crear la
ansiada epidemia.
Y es que, experimentar con estos programas no
está tan mal en el fondo. Muchos son un verdadero alarde
de tecnología y saber-hacer ante un lenguaje de programación.
Son necesarios profundos conocimientos del sistema operativo para
programar un virus eficiente, rápido, indetectable y que
aproveche alguna nueva vulnerabilidad de los sistemas operativos
o programas. Lo que ocurre normalmente es que esos códigos,
creados por algún mago del teclado, son publicados en Internet
y reaprovechados hasta la saciedad por irresponsables que copian
y pegan sus propias versiones del bicho para propagar un injustificado
caos en la Red.
Hasta para programar un virus hay que ser responsable
y saber mucho. Eso mismo se planteó La Universidad de Calgary,
que en Mayo de 2003 anunció que pretendía organizar
un curso llamado "Computer Viruses and Malware" impartido
por el Departamento de Ciencias Informáticas de la Universidad,
en el que se mostraría de forma práctica las bases
de la programación vírica. El Dr. John Aycock sería
el encargado de organizar el curso, y levantó polémica
en distintos sectores.
Y es que, experimentar
con estos programas no está tan mal en el fondo.
Aycock consiguió convencer
al Departamento haciéndoles ver que para crear aplicaciones
seguras, era necesario mirar a través de los ojos de los
creadores de virus, comprobar qué suelen atacar y cómo
lo hacen, para así, poder defenderse mejor ante una amenaza
creciente. El objetivo último era aprender a programar
de forma segura, algo en lo que se hace poco énfasis en
las universidades de informática hoy en día. El
profesor comparaba el hecho con el estudio de los virus biológicos,
y en concreto el de la neumonía atípica. Para crear
una vacuna segura, es necesario conocer en detalle cómo
funciona el virus, cómo contagia y estudiar su comportamiento.
Aycock alegaba que con los virus informáticos se debería
proceder de la misma forma. Aprender del "lado oscuro"
para protegerse de forma más eficaz. La
empresa antivirus Sophos criticó duramente esta idea, alegando
que "no es necesario enseñar a los chicos a entrar
en los coches y robarlos si se les quiere preparar para ser buenos
policías en el futuro". Graham Cluley, consultor
tecnológico de Sophos, añadió que "Habrá
que ver si la Universidad se hará legalmente responsable
de los posibles virus que escapen e infecten sistemas inocentes",
"No es necesario crear virus para conocerlos, tan sólo
estudiar más y mejor los que ya existen, en nuestros laboratorios
nadie se dedica a programar ningún tipo de virus",
concluyó.
Aunque la primera parte del discurso
del señor Cluley pueda estar bien razonada... no estoy
tan seguro de que la última afirmación sea completamente
cierta...