Informática

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.

Una buena  vacuna a tiempo evitará muchos problemas a nuestro ordenador.

¿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...

...por Sergio de los Santos

CONOCE MÁS REPORTAJES DEDICADOS A LA INFORMÁTICA, EXCLUSIVOS EN MUNDOINFORMÁTICA