Los Virus.
Los comienzos.
Fue por 1970 cuando el primer programa al que podemos considerar virus como tal, denominado creeper, apareció en el escenario informático.
Su “acción destructiva” consistía en mostrar un mensaje desafiante en la pantalla de los ordenadores IBM a los que atacaba en exclusividad. Fue creado, en respuesta, el primer software antivirus llamado “reaper”que desinfectaba a los equipos afectados.
Quizás podríamos considerar que la primera gran epidemia tal y como hoy en día las conocemos tuvo su origen en Pakistán, cuando dos hermanos desarrollaron un virus que difundieron por medio de la venta de programas de software piratas, vendidos a bajo precio en su negocio “Brain Computer” . Esos programas ilegales, adquiridos por turistas que a su vez realizaron copias en sus respectivos países de dichos programas, contenían el virus Brain. Un buen día sus ordenadores se negaron a arrancar mostrando el siguiente mensaje:
Welcome to the Dungeon (c) 1986 Basit * Amjad (pvt) Ltd. BRAIN COMPUTER SERVICES 730 NIZAB BLOCK ALLAMA IQBAL TOWN LAHORE-PAKISTAN PHONE :430791,443248,280530. Beware of this VIRUS.... Contact us for vaccination............. !!"
El cual aconsejaba buscar la solución a sus problemas infecciosos en el negocio informático de Lahore antes citado. Se calcula que la infección afecto a 20.000 ordenadores.
A continuación se presenta una breve cronología de lo que ha sido los orígenes de los virus:
Cronología:
1939 - 1949: El científico matemático John Louis Von Neumann (considerado el Julio Verne de la informática), colaborador en la construcción de las célebres computadoras ENIAC y UNIVAC , publica un artículo titulado “teoría y organización de autómatas complejos” donde demuestra la posibilidad de crear pequeños programas con capacidad para tomar a su vez el control de otros programas. Nadie sospechó en un principio las consecuencias de dicho artículo.

John Louis Von Neumann
1959: En los laboratorios AT&T Bell, se inventa el juego "Guerra Nuclear" (Core Wars) o guerra de núcleos de ferrita. Consistía en una batalla entre los códigos de dos programadores, en la que cada jugador desarrollaba un programa cuya misión era la de acaparar la máxima memoria posible mediante la reproducción de sí mismo.
1970: El Creeper es difundido por la red ARPANET. El virus mostraba el mensaje "SOY CREEPER...ATRAPAME SI PUEDES!". Ese mismo año es creado su antídoto: el antivirus Reaper cuya misión era buscar y destruir al Creeper.
1974: El virus Rabbit hacía una copia de sí mismo y lo situaba dos veces en la cola de ejecución del ASP de IBM lo que causaba un bloqueo del sistema.
1980: La red ARPANET (fue la red precursora de Internet) es infectada por un "gusano" y queda 72 horas fuera de servicio. La infección fue originada por Robert Tappan Morris, hijo de uno de los creadores del “Core Wars”, un joven estudiante de informática de 23 años aunque según él fue un accidente. La red, que utilizaba UNIX como sistema operativo se vio afectada en 6.000 servidores. Robert Tappan fue juzgado y condenado, cumpliendo 400 horas de trabajo comunitario.
1983: El juego Core Wars, con adeptos en el MIT, salió a la luz pública en un discurso de Ken Thompson. Dewdney explica los términos de este juego. Ese mismo año aparece el termino virus tal como lo entendemos hoy.
1985: Dewdney intenta enmendar su error publicando otro artículo "Juegos de Computadora virus, gusanos y otras plagas de la Guerra Nuclear atentan contra la memoria de los ordenadores".
1986: Un programador llamado Ralf Burger se dio cuenta de que un archivo podía ser creado para copiarse a sí mismo, adosando una copia de él a otros archivos. Escribió una demostración de este efecto a la que llamó VIRDEM, que podía infectar cualquier archivo con extensión .COM. Aparecen, pues, en escena los primeros virus capaces de infectar ficheros .EXE y .COM.
1987: Se da el primer caso de contagio masivo de computadoras a través del MacMag Virus, también llamado Peace Virus, sobre computadoras Macintosh. Este virus fue creado por Richard Brandow y Drew Davison y lo incluyeron en un disco de juegos que repartieron en una reunión de un club de usuarios. Uno de los asistentes, Marc Canter, consultor de Aldus Corporation, se llevó el disco a Chicago y contaminó la computadora en el que realizaba pruebas con el nuevo software Aldus Freehand. El virus contaminó el disco maestro que fue enviado a la empresa fabricante que comercializó su producto infectado por el virus.
Se descubre la primera versión del virus "Viernes 13" en los ordenadores de la Universidad Hebrea de Jerusalén.
1988: El virus Brain creado por los hermanos Basit y Alvi Amjad de Pakistán aparece en Estados Unidos. El primer virus destructor y dañino plenamente identificado que infecta muchos PCs fue creado en 1986 en la ciudad de Lahore, Pakistán, y se le conoce con el nombre de BRAIN. Este virus infectaba el sector de arranque de los disquetes. Sus autores vendían copias pirateadas de programas comerciales como Lotus, Wordstar, etc por sumas bajísimas. Los turistas que visitaban Pakistán, compraban esas copias y las llevaban de vuelta a los EE.UU. Las copias pirateadas llevaban un virus. Fue así, como infectaron mas de 20,000 PCs. Los códigos del virus Brain fueron alterados en los EE.UU., por otros programadores, dando origen a muchas versiones de ese virus, cada una de ellas peor que la precedente. IBM sufre una infección del virus "Cascade" contaminando a muchos de sus clientes. Aparecen los primeros antivirus comerciales.
1989 Año de efervescencia viral. Virus como el "Fu manchú", "Jerusalem", "Datacrime", "Stoned", ponen en alerta a usuarios y empresas del peligro real y el coste económico que conlleva la infección de virus.
1991: Propagación por toda Europa y Estados Unidos del célebre virus “Dark Avenger” originario de Bulgaria, que alcanzó fama por su rápida técnica de infección e ingeniosa programación. Aparición del primer virus polimórfico. Symantec comercializa "Norton Antivirus".
1995: Los macro virus aparecen en escena, familia de virus con capacidad para infectar documentos y replicarse infectando otros documentos sin ser archivos ejecutables. Alerta mundial frente al virus "Michelangelo".
1998. El año del Back Orifice, primer virus Troyano diseñado para la administración remota de equipos.
1999: Aparecen los virus con la más terrible capacidad de difusión: Los virus adjuntos a mensajes de correo. Todos hemos oído hablar, si es que no los hemos sufrido en nuestro sistema, de Melissa, Magister, Chernobyl, Sircam, I love you...
Desde sus comienzos hasta hoy el panorama vírico ha pasado de ser algo anecdótico a ser un problema inherente al uso de los ordenadores, algo así como la polución en las ciudades.
La generalización del elemento informático hace que cada vez aparezcan más personas con capacidad para crear este tipo de programas, y la expansión de Internet, con su trasvase masivo e incesante de datos, correos, archivos, información, ha propiciado las condiciones idóneas para que se produzcan las epidemias que hoy en día conocemos, y que llegan a afectar a millones de ordenadores.
Creadores de Virus.
Si, pero, ¿quién tiene interés y capacidad en crear virus y conseguir que se infecten miles, quizás millones de ordenadores, con el consiguiente perjuicio y coste económico?
En la mayoría de los casos esas dos motivaciones, es decir, el desarrollo de nuevos virus y el propósito de causar daños no van, necesariamente, unidos. Muchos desarrolladores crean y mejoran los virus desde la óptica de la superación informática. Aunque generalmente, sobre todo después de alguna epidemia, los medios informativos nos ofrecen una imagen preocupante de jóvenes retraídos socialmente con grandes conocimientos de informática que desde su domicilio o universidad generan virus que llegan a producir grandes pérdidas económicas. Esto generalmente no es así. Existe cierto movimiento social underground dedicado a la investigación y desarrollo de los virus, al igual que a otras materias de la informática, como el Cracking o ingeniería inversa, que se ocupa de desproteger lo protegido. Entrar en uno de esos grupúsculos no es excesivamente difícil, en la red se puede encontrar mucha información al respecto, incluso códigos enteros de nuevos virus y cursos de programación.. Sirva esta página como ejemplo de lo dicho:
http://rt001z1g.eresmas.net/virus/curso/ Existe en Internet un documento redactado por el escritor freelance Markus Salo en el cual, entre otros, se exponen los siguientes conceptos:
Algunos de los programadores de virus, especialmente los mejores, sostienen que su interés por el tema es puramente científico, que desean averiguar todo lo que se pueda sobre virus y sus usos.
A diferencia de las compañías de software, que son organizaciones relativamente aisladas unas de otras (todas tienen secretos que no querrían que sus competidores averiguaran) y cuentan entre sus filas con mayoría de estudiantes graduados, las agrupaciones de programadores de virus están abiertas a cualquiera que se interese en ellas, ofrecen consejos, camaradería y pocas limitaciones. Además, son libres de seguir cualquier objetivo que les parezca, sin temer por la pérdida de respaldo económico.
El hecho de escribir programas vírales da al programador cierta fuerza coercitiva, lo pone fuera de las reglas convencionales de comportamiento. Este factor es uno de los más importantes, pues el sentimiento de pertenencia es algo necesario para todo ser humano, y es probado que dicho sentimiento pareciera verse reforzado en situaciones marginales.
Por otro lado, ciertos programadores parecen intentar legalizar sus actos poniendo sus creaciones al alcance de mucha gente, (vía Internet, BBS especializadas, etc.) haciendo la salvedad de que el material es peligroso, por lo cual el usuario debería tomar las precauciones del caso.
Existen programadores, de los cuales, generalmente, provienen los virus más destructivos, que alegan que sus programas son creados para hacer notoria la falta de protección de que sufren la mayoría de los usuarios de computadoras.
La gran mayoría de estos individuos son del mismo tipo de gente que es reclutada por los grupos terroristas: hombres, adolescentes, inteligentes.
Pero una cosa es la creación, para lo cual inexcusablemente se ha de poseer los conocimientos adecuados, y otra la difusión. Cualquier persona que tenga acceso al código de un virus, esto es, al virus ya programado, puede causar su difusión, para lo que únicamente hace falta cierta inestabilidad moral o psicológica, cosa harto fácil de encontrar.
¿Qué es un virus?
Aunque existen muchas definiciones, todas ellas acertadas, un virus es sencillamente un programa con capacidad de reproducirse por si mismo. Ese es el concepto básico.
Los virus tienen un principal objetivo: Propagarse.
Composición.
¿Cómo es un virus "por dentro"?
Los virus son pequeños programas y como tales están desarrollados en un lenguaje de programación informático. Ese lenguaje comúnmente es el Ensamblador o Assembler, lenguaje de programación de bajo nivel, que reúne las condiciones idóneas para su desarrollo. Es un lenguaje poderoso, utilizado para programar ciertas rutinas de control de hardware en UNIX, como por ejemplo drivers de dispositivos, que ofrece efectuar las acciones de un lenguaje de alto nivel sin serlo, con gran control sobre ellas. El código recopilado en este lenguaje trabaja directamente sobre el Hardware, lo que hace innecesario ningún software intermedio. Por tanto, esto justifica que el virus pueda obtener el control total del ordenador, como si de el Sistema Operativo se tratase, si puede cargarse antes que éste.
También podemos encontrar virus programados en lenguajes de Macro, los Macro virus, y otros programados en Visual Basic Scripts, Java Script, y controles Active X a partir de 1999.
El tamaño de código será siempre mínimo, esto es debido a su necesidad de ocultamiento.
Ofrecemos para aquel que pueda estar interesado, el código en ensamblador del virus Viena, ya obsoleto, a efectos divulgativos.
Código virus Vienna.
Asimismo, y respecto a su morfología se pueden distinguir tres módulos principales de codificación en un virus informático:
Módulo de Reproducción
Módulo de Ataque
Módulo de Defensa
El módulo de reproducción se encarga de manejar las rutinas de "parasitación" de entidades ejecutables (o archivos de datos, en el caso de los virus macro) a fin de que el virus pueda ejecutarse subrepticiamente, pudiendo, de esta manera, tomar control del sistema e infectar otras entidades permitiendo se traslade de un ordenador a otro a través de algunos de estos archivos. Este módulo es, pues, el encargado de efectuar una copia del virus y su funcionamiento es igual al de cualquier algoritmo de copia, con la particularidad de que se copia a él mismo.
El módulo de ataque. Este es optativo. En caso de estar presente es el encargado de manejar las rutinas de daño adicional del virus. Por ejemplo, el conocido virus viernes 13, tiene un módulo de ataque que se activa cuando el calendario del sistema refleje dicha fecha. En estas condiciones la rutina actúa y las acciones dañinas se producen.
El módulo de defensa. Tiene, obviamente, la misión de proteger al virus y, como el de ataque, puede estar o no presente en la estructura. Sus rutinas apuntan a evitar todo aquello que provoque la remoción del virus y retardar, en todo lo posible, su detección. Éste es el módulo de más reciente incorporación, y también el más desarrollado técnicamente, podríamos considerar que es el módulo inteligente del virus, ya que aparte de lograr hacer desaparecer o minimizar en gran medida la presencia del mismo tiene capacidad de efectuar acciones defensivas agresivas para evitar ser eliminado.
Estos tres módulos por lo corriente están situados en un entorno, esto es, están incluidos en otros programas, la posibilidad principal es que se hayan adosado al mismo durante el proceso de réplica e infección, a lo que se da el nombre de programa anfitrión, pero también pueden estar incluidos en un entorno creado específicamente para enmascarar al virus.
Características.
Aunque, desde luego, la cosa no acaba ahí, podemos señalar ciertas características comunes de los virus:
· Están creados y programados intencionadamente.
· Pueden introducirse en el ordenador por diferentes vías.
· Deben ser ejecutados para realizar su función ya que dependen de un archivo ejecutable que los cargue en memoria.
· Adoptan apariencias de o se integran con programas o archivos ejecutables de apariencia normal.
Al ejecutarse realizan dos tareas prioritarias:
1) Buscan otros elementos para infectar. Estos elementos pueden ser disquetes, discos duros, archivos o programas. Para realizar dicho cometido una parte del código del virus se encarga de buscar e infectar los archivos o elementos que deban ser contaminados.
2) Se reproducen. Una vez detectado el elemento a infectar, otra parte del código del virus se encarga de realizar una copia de si mismo en dicho elemento, asegurando así su propagación.
Además de estas características, los virus también pueden realizar algunas o todas estas acciones:
· Efectuar algún tipo de acción destructiva o dañina en el equipo anfitrión, como pueda ser la modificación o borrado de datos o programas, en algunos casos de vital importancia para el funcionamiento del ordenador como ficheros del sistema, de configuración, registro, etc
· Efectuar algún tipo de acción modificativa o no destructiva, como mostrar alguna imagen o mensaje o simplemente reproducirse y auto enviarse.
· Pueden, en algunos casos, modificar su código cada vez que se reproduzcan, con el objetivo de dificultar la acción de los antivirus.
· Ciertos virus tienen capacidad de auto encriptarse, para eludir igualmente a los antivirus.
Por lo común, cuando el virus ha logrado acceder al ordenador, se colocará en situación tal que pueda ser ejecutado por el usuario de manera no intencionada. Hasta ese momento el virus no tiene capacidad de actuación. Por otro lado, también es posible que el virus no actué inmediatamente después de ser ejecutado, puede quedar latente en espera de que se cumpla alguna condición (Una fecha concreta, por ejemplo.)
¿Qué elementos infectan los virus?
Ésta es una de las máximas del elemento virus:
"Toda porción de código ejecutable es susceptible de ser infectada."
"Toda porción de código no ejecutable es susceptible de ser infectada, pero nunca puede producir, por sí sola, una infección"
Objetivo principal de los virus:
Archivos que se encuentran en un medio de almacenamiento como discos duros o disquetes. En especial los archivos que sean programas, es decir, aquellos con extensión EXE o COM que se han de ejecutar para efectuar determinadas funciones.
También pueden infectar el propio medio de almacenamiento, es decir, los disquetes o disco duro, infectando posteriormente los archivos en ellos almacenados.
De manera secundaria, ciertos virus infectan archivos que no son programas, pero que contienen macros, como más adelante veremos.
Etapas del ciclo de vida de un virus informático.
Los virus informáticos, al igual que sus homónimos biológicos, es decir, los microorganismos infecciosos, tienen también su ciclo de vida.
Creación (Programación y desarrollo).
Es la etapa en la cual el programador, con conocimientos en lenguaje ensamblador u otro aplicable a la codificación de virus, establece en él las características y capacidades del virus, es decir, sus módulos de reproducción, de ataque y de defensa.
Gestación (infección al sistema).
En esta etapa el virus después de haber infectado el sistema (vía e-mail, discos flexibles, etc) se aloja, usualmente en la memoria del computador para esperar una orden o instrucción que lo ejecute para poder causar los daños y en un futuro multiplicarse. Esta circunstancia es muy factible que pase totalmente desapercibida por el usuario.
Reproducción y propagación.
En esta fase el virus ejecuta la misión principal para la que fue creado, que no es el ataque o daño como pudiera parecer a primera vista: La reproducción. El programa realizará copias iguales (o con ligeras variaciones, lo que dificultará su detección por los antivirus) con el fin de propagarse. Incluso existen virus que se reproducen mientras esperan ser activados (ejecución de alguna acción por parte del usuario). Luego se auto envían a través de correo electrónico, se transportan a través de disquetes , etc. para continuar contagiando otros sistemas, que a su vez extenderán la infección...
Activación (inicio de actividad del virus).
El durmiente despierta. El virus comienza a funcionar en un momento concreto, cuando se cumplen unas condiciones específicas. Estas pueden ser desde una fecha y hora concreta a la ejecución de algún programa por parte del usuario. Es entonces cuando el virus ejecuta su módulo de ataque y produce los daños en el sistema anfitrión para los que ha sido programado. Es cierto que algunos virus simplemente se reproducen, pero puede considerarse que un sistema es atacado si es modificado sin consentimiento.
Detección y Destrucción del virus.
Hoy en día la respuesta eficaz a los nuevos virus puede ser desarrollada por las casas de antivirus en cuestión de horas. Normalmente estas empresas reciben una muestra del nuevo ejemplar, analizan su código y lo incluyen en sus bases de datos lo más rápidamente posible. Una vez capacitados los antivirus para la detección y eliminación del virus, es el principio de su fin.
otro texto muy bonito
