DEFINICION
¿Qué es exactamente un virus informático?
Definiciones hay tantas como preguntas sin respuesta exacta. Veamos, pues, si cabe la posibilidad de concretar algunos requisitos que cumplen estos agentes víricos:
* Son programas de computadora.
* Su principal cualidad es la de poder autorreplicarse.
* Intentan ocultar su presencia hasta el momento de la explosión.
* Producen efectos dañinos en el "huésped".
Si exceptuamos el primer punto, los restantes podrían aplicarse también a alos virus biológicos. El parecido entre biología y tecnología puede llegar a ser en ocasiones ciertamente abrumador. Como el cuerpo humano, el computadora puede ser atacado por agentes infecciosos capaces de alterar su correcto funcionamiento o incluso provocar daños irreparables en ciertas ocasiones. En estas páginas usaré comúnmente términos biológicos. Esto es debido a que pienso que , realmente, los virus informáticos son auténticas imitaciones de sus hermanos biológicos. Así pues usaré palabras como "explosión", "huésped", "peligrosidad tecnológica o tecnopeligrosidad", "zona caliente", etc... para explicar términos completamente informáticos.
Un virus es un agente peligroso que hay que manejar con sumo cuidado. La "contención" es la primera regla de oro. Desarrollemos un poco los puntos expuestos antes:
Un virus informático es un programa de computadora, tal y como podría ser un procesador de textos, una hoja de cálculo o un juego. Obviamente ahí termina todo su parecido con estos típicos programas que casi todo el mundo tiene instalados en sus computadoras. Un virus informático ocupa una cantidad mínima de espacio en disco ( el tamaño es vital para poder pasar desapercibido ), se ejecuta sin conocimiento del usuario y se dedica a autorreplicarse, es decir, hace copias de sí mismo e infecta archivos, tablas de partición o sectores de arranque de los discos duros y disquetes para poder expandirse lo más rápidamente posible. Ya se ha dicho antes que los virus informáticos guardan cierto parecido con los biológicos y es que mientras los segundos infectan células para poder replicarse los primeros usan archivos para la misma función. En ciertos aspectos es una especie de "burla tecnológica" hacia la Naturaleza. Mientras el virus se replica intenta pasar lo más desapercibido que puede, intenta evitar que el "huésped" se dé cuenta de su presencia... hasta que llega el momento de la "explosión". Es el momento culminante que marca el final de la infección y cuando llega suele venir acompañado del formateo del disco duro, borrado de archivos o mensajes de protesta. No obstante el daño se ha estado ejerciendo durante todo el proceso de infección, ya que el virus ha estado ocupando memoria en el computadora, ha ralentizado los procesos y ha "engordado" los archivos que ha infectado.
¿Cómo surge un virus?
Los virus tienen un ciclo de vida muy concreto:
* Programación y desarrollo
* Expansión
* Actuación
* Extinción o mutación ( en este último caso el ciclo se repite )
Virii: Con este término se hace referencia al estudio y desarrollo de virus informáticos. Tras esta palabra se esconde toda una filosofía informática. En Internet podemos encontrar cientos de páginas que tratan el tema, y tras ellas importantes desarrolladores de virus, en algunos casos organizados en grupos con nombres como 29A , La Vieja Guardia, ... En la cabecera de algunas de estas páginas podemos encontrar un mensaje como "Los autores no se responsabilizan del contenido de estas páginas"... o " solo con fines educativos"... pero cuando damos una vuelta por ellas podemos encontrar código destructivo de lo más variado, incluso ponen a disposición de incautos programas ejecutables infectados. También podemos encontrar herramientas de generación de virus tales como el Virus Creation Lab, Trojan Horse, ... Estos grupos se mueven a sus anchas por Internet, participando en los grupos de noticias ( ej.: es.comp.virus ) y en los canales de IRC.
Las páginas de "La Vieja Guardia" son un ejemplo de las muchas relacionadas con el Underground, un tema que está gozando de un gran auge en Internet.
Es justo reconocer que estos grupos hacen casi más que nadie en la lucha contra los virus informáticos, aunque esto pueda parecer una contradicción. Ciertamente podemos hacer distinciones entre desarrolladores de virus. En su inmensa mayoría son personas que intentan superarse a sí mismas creando virus cada vez más complicados, pero cuando alguien necesita ayuda para desinfectar ese virus puede encontrarse con que el propio programador le responda en algún grupo de noticias diciéndole lo que tiene que hacer o que antivirus le recomienda. ( Ciertamente hacen un doble juego ).
Normalmente el buen desarrollador de virus maneja con gran perfección el lenguaje ensamblador, aunque un virus puede desarrollarse también en lenguajes de alto nivel. Se pueden encontrar incluso aplicaciones destinadas a usuarios con pocos conocimientos de programación para la creación de virus tales como el Virus Construction Lab, Nowhere Utilities, Vc2000, nada que ver con el Turbo Assembler.
"Peligro Biológico":
Los trabajadores de hospitales, laboratorios e industrias farmacológicas saben muy bien lo que significa la "flor de biopeligrosidad"... la gente que trabaja con computadoras no sabe en la mayoría de las ocasiones lo que implica el término "Virus Informático".
¿ Por que se hace un virus ?
La gran mayoría de los creadores de virus lo ven como un hobby, aunque también otros usan los virus como un medio de propaganda o difusión de sus quejas o ideas radicales, como por ejemplo el virus Telefónica, que emitía un mensaje de protesta contra las tarifas de esta compañía a la vez que reclamaba un mejor servicio, o el famosísimo Silvia que sacaba por pantalla la dirección de una chica que al parecer no tuvo una buena relación con el programador del virus.
En otras ocasiones es el orgullo, o la competitividad entre los programadores de virus lo que les lleva a desarrollar virus cada vez más destructivos y difíciles de controlar. Pero que afourtunadamente se estan desarrollando mejores antivirus.
HISTORIA
A contunuacion se presenta una breve cronologia de lo que ha sido los origenes de los virus:
1949: Se da el primer indicio de definicion de virus. John Von Neumann (considerado el Julio Verne de la informatica), expone su "Teoria y organizacion de un automata complicado". Nadie podia sospechar de la repercusion de dicho articulo.
1959: En los laboratorios AT&T Bell, se inventa el juego "Guerra Nuclear" (Core Wars) o guerra de nucleos de ferrita. Consistia en una batalla entre los codigos de dos programadores, en la que cada jugador desarrollaba un programa cuya mision era la de acaparar la maxima memoria posible mediante la reproduccion de si 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 antidoto: el antivirus Reaper cuya mision era buscar y distruir al Creeper.
1974: El virus Rabbit hacía una copia de si mismo y lo situaba dos veces en la cola de ejecucion del ASP de IBM lo que causaba un bloqueo del sistema.
1980: La red ARPANET es infectada por un "gusano" y queda 72 horas fuera de servicio. La infección fue originada por Robert Tappan Morris, un joven estudiante de informática de 23 años aunque según él fue un accidente.
1983: El juego Core Wars, con adeptos en el MIT, salio a la luz publica en un discurso de Ken Thompson. Dewdney explica los terminos 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".
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 Pakistan aparece en Estados Unidos.
CLASIFICACION
Dependiendo del lugar donde se alojan, la tecnica de replicacion o la plataforma en la cual trabajan, podemos diferenciar en distintos tipos de virus.
Virus de sector de arranque (boot).
Virus de archivos.
Virus de accion directa.
Virus de sobreescritura.
Virus de compañia.
Virus de macro.
Virus BAT
Virus del MIRC.
VIRUS DE SECTOR DE ARRANQUE (BOOT).
Utilizan el sector de arranque, el cual contiene la informacion sobre el tipo de disco, es decir, numero de pistas, sectores, caras, tamaño de la FAT, sector de comienzo, etc. Atodo esto hay que sumarle un pequeño programa de arranque que verifica si el disco puede arrancar el sistema operativo. Los virus de Boot utilizan este sector de arranque para ubicarse, guardando el sector original en otra parte del disco. En muchas ocasiones el virus marca los sectores donde guarda el Boot original como defectuosos; de esta forma impiden que sean borrados. En el caso de discos duros pueden utilizar tambien la tabla de particiones como ubicacion. Suelen quedar residentes en memoria al hacer cualquier operacion en un disco infectado, a la espera de replicarse. Como ejemplo representativos esta el Brain.
VIRUS DE ARCHIVOS.
Infectan archivos y tradicionalmente los tipos ejecutables COM y EXE han sido los mas afectados, aunque es estos momentos son los archivos (DOC, XLS, SAM...) los que estan en boga gracias a los virus de macro (descritos mas adelante). Normalmente insertan el codigo del virus al principio o al final del archivo, manteniendo intacto el programa infectado. Cuando se ejecuta, el virus puede hacerse residente en memoria y luego devuelve el control al programa original para que se continue de modo normal. El Viernes 13 es un ejemplar representativo de este grupo.
Dentro de la categoria de virus de archivos podemos encontrar mas subdivisiones, como los siguientes:
Virus de accion directa. Son auellos que no quedan residentes en memoria y que se replican en el momento de ejecutarse un archivo infectado.
Virus de sobreescritura. Corrompen el achivo donde se ubican al sobreescribirlo.
Virus de compañia. Aprovechan una caracteristica del DOS, gracias a la cual si llamamos un archivo para ejecutarlo sin indicar la extension el sistema operativo buscara en primer lugar el tipo COM. Este tipo de virus no modifica el programa original, sino que cuando encuentra un archivo tipo EXE crea otro de igual nombre conteniendo el virus con extension COM. De manera que cuando tecleamos el nombre ejecutaremos en primer lugar el virus, y posteriormente este pasara el control a la aplicacion original.
VIRUS DE MACRO.
Es una familia de virus de reciente aparicion y gran expansion. Estos estan programas usando el lenguaje de macros WordBasic, gracias al cual pueden infectar y replicarse a traves de archivos MS-Word (DOC). En la actualidad esta tecnica se ha extendido a otras aplicaciones como Excel y a otros lenguajes de macros, como es el caso de los archivos SAM del procesador de textos de Lotus. Se ha de destacar, de este tipo de virus, que son multiplataformas en cuanto a sistemas operativos, ya que dependen unicamente de la aplicacion. Hoy en dia son el tipo de virus que estan teniendo un mayor auge debido a que son facilies de programar y de distibuir a traves de Internet. Aun no existe una concienciacion del peligro que puede representar un simple documento de texto.
Porcion de codigo de un tipico virus Macro:
Sub MAIN
DIM dlg As FileSaveAs
GetCurValues dlg
ToolsOptionsSave.GlobalDotPrompt=0
Ifcheckit(0)=0 Then
MacroCopy FileName$() + ":autoopen",
"global;autoopen"
End If
VIRUS BAT.
Este tipo de virus empleando ordenes DOS en archivos de proceso por lotes consiguen replicarse y efectuar efectos dañinos como cualquier otro tipo virus.
En ocasiones, los archivos de proceso por lotes son utilizados como lanzaderas para colocar en memoria virus comunes. Para ello se copian a si mismo como archivos COM y se ejecutan. Aprovechar ordenes como @ECHO OFF y REM traducidas a codigo maquina son <
> y no producen ningun efecto que altere el funcionamiento del virus.
VIRUS DEL MIRC.
Vienen a formar parte de la nueva generacion Internet y demuestra que la Red abre nuevas forma de infeccion. Consiste en un script para el cliente de IRC Mirc. Cuando alguien accede a un canal de IRC, donde se encuentre alguna persona infectada, recibe por DCC un archivo llamado "script.ini".
FUNCIONAMIENTO
Hay que tener en cuenta que un virus es simplemente un programa. Por lo tanto, debemos de dejar a un lado las histerias y los miedos infundados y al mismos timepo ser consientes del daño real que puede causarnos. Para ello, lo mejor es tener conocimiento de como funcionan y las medidas que debemos tomar para prevenirlos y hacerles frente.
PROCESO DE INFECCION.
El virus puede estar en cualquier sitio. En ese disquete que nos deja un amigo, en el último archivo descargado de Internet.
Dependiendo del tipo de virus el proceso de infección varia sensiblemente.
Puede que el disco contaminado tenga un virus de archivo en el archivo FICHERO.EXE por ejemplo. El usuario introduce el disco en la computadora ( por supuesto no lo escanea con un antivirus o si lo hace es con un antivirus desfasado ) y mira el contenido del disco... unos archivos de texto, unas .dll's, un .ini ... ah, ahí esta, un ejecutable. Vamos a ver que tiene. El usuario ejecuta el programa. En ese preciso momento las instrucciones del programa son leídas por el computadora y procesadas, pero también procesa otras instrucciones que no deberían estar ahí. El virus comprueba si ya se ha instalado en la memoria. Si ve que todavía no está contaminada pasa a esta y puede que se quede residente en ella. A partir de ese momento todo programa que se ejecute será contaminado. El virus ejecutará todos los programas, pero después se copiará a sí mismo y se "pegará" al programa ejecutado "engordándolo" unos cuantos bytes. Para evitar que usuarios avanzados se den cuenta de la infección ocultan esos bytes de más para que parezca que siguen teniendo el mismo tamaño. El virus contaminará rápidamente los archivos de sistema, aquellos que están en uso en ese momento y que son los primeros en ejecutarse al arrancar la computadora. Así, cuando el usuario vuelva a arrancar la computadora el virus se volverá a cargar en la memoria cuando se ejecuten los archivos de arranque del sistema contaminados y tomará otra vez el control del mismo, contaminando todos los archivos que se encuentre a su paso.
Puede que el virus sea también de "Sector de arranque". En ese caso el código del virus se copiará en el primer sector del disco duro que la computadora lee al arrancar. Puede que sobreescriba el sector original o que se quede una copia del mismo para evitar ser detectado. Los virus de sector de arranque se aseguran de ser los primeros en entrar en el sistema, pero tienen un claro defecto. Si el usuario arranca la computadora con un disquete "limpio" el virus no podrá cargarse en memoria y no tendrá el control.
Un caso menos probable es que el virus sea de "Tabla de partición". El mecanismo es muy parecido al de los de sector de arranque solo que el truco de arrancar con un disquete limpio no funciona con estos. En el peor de los casos nos encontraremos con un virus multipartita, que contaminará todo lo que pueda, archivos, sector de arranque...
TECNICAS DE PROGRAMACION
Técnicas Stealth
Son técnicas "furtivas" que utilizan para pasar desapercibidos al usuario y a los antivirus. Habitualmente los virus ocultan el tamaño real de los archivos que han contaminado, de forma que si hacemos un DIR la información del tamaño de los archivos puede ser falsa. Los virus de tabla de partición guardan una copia de la FAT original en otro lugar del disco que marcan como sectores defectuosos para mostrarsela al usuario cuando haga por ejemplo un FDISK. Incluso hay virus que detectan la ejecución de determinados antivirus y descargan de la memoria partes de su propio código "sospechoso" para cargarse de nuevo cuando estos han finalizado su búsqueda.
Tunneling
Es una técnica usada por programadores de virus y antivirus para evitar todas las rutinas al servicio de una interrupción y tener así un control directo sobre esta.
Requiere una programación compleja, hay que colocar el procesador en modo paso a paso. En este modo de funcionamiento, tras ejecutarse cada instrucción se produce la interrupción 1. Se coloca una ISR (Interrupt Service Routine) para dicha interrupción y se ejecutan instrucciones comprobando cada vez si se ha llegado a donde se quería hasta
recorrer toda la cadena de ISRs que halla colocando el parche al final de la cadena.
Antidebuggers
Un debugger es un programa que permite decompilar programas ejecutables y mostrar parte de su código en lenguaje original. Los virus usan técnicas para evitar ser desemsamblados y así impedir su análisis para la fabricación del antivirus correspondiente.
Polimorfismo o automutación
Es una técnica que consiste en variar el código virico en cada infección ( más o menos lo que hace el virus del SIDA en los humanos con su capa protéica ). Esto obliga a los antivirus a usar técnicas heurísticas ya que como el virus cambia en cada infección es imposible localizarlo buscandolo por cadenas de código. Esto se consigue utilizando un algoritmo de encriptación que pone las cosas muy difíciles a los antivirus. No obstante no se puede codificar todo el código del virus, siempre debe quedar una parte sin mutar que toma el control y esa es la parte más vulnerable al antivirus.
La forma más utilizada para la codificación es la operación lógica XOR. Esto es debido que esta operación es reversible:
7 XOR 9 = 2
2 XOR 9 = 7
En este caso la clave es el número 9, pero utilizando una clave distinta en cada infección se obiene una codificación también distinta.
Otra forma también muy utilizada consiste en sumar un numero fijo a cada byte del código vírico.
TSR
Los programas residentes en memoria (TSR) permanecen alojados en esta durante toda su ejecución.
Los virus utilizan esta técnica para mantener el control sobre todas las actividades del sistema y contaminar todo lo que encuentren a su paso. El virus permanece en memoria mientras la computadora permanezca encendido. Por eso una de las primeras cosas que hace al llegar a la memoria es contaminar los archivos de arranque del sistema para asegurarse de que cuando se vuelva a arrancar la computadora volverá a ser cargado en memoria.
GANA DINERO RECIBIENDO EMAILS EN TU CORREO ELECTRONICO, PINCHA EN LA IMAGEN Y AFILIATE, ES GRATIS.
cortesia de miarroba.com