|
|||||||||||||||||
|
.:: INTRO
¿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 ordenador.
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 ordenador 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.
Dearrollemos un poco los puntos expuestos antes:
Un virus informático es un programa de ordenador, 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 ordenadores. 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 ficheros, 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 ficheros 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 ficheros 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 ordenador, ha ralentizado los procesos y ha "engordado" los ficheros que ha infectado.
¿Cómo surge un virus?
Los virus tienen un ciclo de vida muy concreto:
*
Programación y desarrollo
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.
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
¿ 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.
.:: CLASIFICACIÓN
Tradicionalmente los virus son clasificados por su forma de infección. Así podemos catalogar los virus en:
*
Virus de fichero.
Los gusanos y Caballos de Troya no deben ser considerados como virus, pues a pesar de que reúnen algunas de las características de estos no cumplen todas ellas. Personalmente creo que al igual que los virus biológicos los virus informáticos pueden ser clasificados por su nivel de peligrosidad. En biología a los virus se les cataloga en "niveles de peligrosidad" y se les manipula con unos sistemas de "biopeligrosidad" en concordancia a su nivel de peligrosidad o su poder de infección. Así el virus del SIDA, por ejemplo se clasifica en un nivel de biopeligrosidad 1 frente al nivel 4 ( más alto ) del virus Ebola. La gente que trabaja con virus sabe lo que es tratar con el SIDA, pero muy pocos se las han visto con el Ebola y menos los que desearían encontrarse con él.
Así pues, podríamos clasificar los virus informáticos en niveles de "tecnopeligrosidad" o "peligro tecnológico" haciendo un símil con el mundo de la biología. Tal clasificación quedaría así.
* Nivel de Tecnopeligrosidad 1 * Nivel de Tecnopeligrosidad 2 * Nivel de Tecnopeligrosidad 3 * Nivel de Tecnopeligrosidad 4
Los realmente peligrosos y más difíciles de eliminar son los de nivel 4, son agentes "calientes" y que requieren un nivel alto de conocimiento y bastante tiempo su desinfección ( Lógicamente sin "arrasar" el disco duro ).
.:: PROGRAMACIÓN
Un virus no es más que un conjunto de instrucciones de programación. Habitualmente los virus se programan en lenguaje de muy bajo nivel ( ensamblador ) , pero podemos encontrar virus programados en C, Visual Basic, o lenguaje de Macros de Word o Excel, por ejemplo:
Un ejemplo del código de un virus sería este:
install_check:
cmp esi,"ANTI" call
delete_file
; ANTI-VIR.DAT files
Estas instrucciones son incomprensibles para una persona que no conozca el lenguaje ensamblador. Pertenecen al virus ANTI-ETA escrito por GriYo del 29ª. Naturalmente y por razones obvias este no es todo el código del virus, es solo una pequeña parte del mismo. Este código se graba en un fichero y se pasa por un programa ensamblador y linkador, que lo convierte en ejecutable, es decir, con extensión .EXE o .COM. Después el virus se ejecuta e inicia el proceso de infección.
Proceso de infección
El virus puede estar en cualquier sitio. En ese disquete que nos deja un amigo, en el último fichero descargado de Internet...
Dependiendo
del tipo de virus el proceso de infección varia sensiblemente. Puede que el disco contaminado tenga un virus de fichero en el archivo FICHERO.EXE por ejemplo. El usuario introduce el disco en el ordenador ( por supuesto no lo escanea con un antivirus o si lo hace es con un antivirus desfasado ) y mira el contenido del disco... unos ficheros 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 ordenador 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 ficheros de sistema, aquellos que están en uso en ese momento y que son los primeros en ejecutarse al arrancar el ordenador. Así, cuando el usuario vuelva a arrancar el ordenador el virus se volverá a cargar en la memoria cuando se ejecuten los ficheros de arranque del sistema contaminados y tomará otra vez el control del mismo, contaminando todos los ficheros 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 el ordenador 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 el ordenador 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, ficheros, sector de arranque...
Técnicas de programación
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 ficheros 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.
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
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 el ordenador permanezca encendido. Por eso una de las primeras cosas que hace al llegar a la memoria es contaminar los ficheros de arranque del sistema para asegurarse de que cuando se vuelva a arrancar el ordenador volverá a ser cargado en memoria.
.:: TRATAMIENTO Y DESINFECCIÓN
Muchas personas se quedan realmente petrificadas cuando descubren la existencia de un virus en su sistema. Conozco casos de personas que apagaron el ordenador y no lo volvieron a encender durante meses por miedo a que se estropeara, esperando que el virus se "muriera". En
torno a los virus informáticos hay un halo de pánico a medio camino
entre el "miedo tecnológico" y el mito. En un principio los medios de comunicación hablaban de los virus informáticos como si estos pudieran contagiar a las personas. Había gente que desenchufaba los ordenadores de la red eléctrica para evitar que los virus entraran en su ordenador.
Una de las cosas más importantes cuando se encuentra un virus es conservar la calma. Lo verdaderamente peligroso no es el virus... sino la reacción del que se lo encuentra frente a sí. Un virus es fácilmente desinfectable si contamos con la calma y las herramientas adecuadas. Estas herramientas son:
*
Copias de seguridad de los datos importantes.
Como eliminar virus
[ Virus de Fichero ]
1) Arranque el ordenador con un "disquete de arranque 100% libre de virus". El arranque del ordenador debe ser total, es decir, no es suficiente con rearrancar el ordenador con las teclas Ctrl + Alt + Sup. 2) Utilizar un antivirus y testear el disco duro y todos los disquetes y unidades de soporte magnético utilizadas en ese sistema. El antivirus desinfectará todos los virus. Si no se contara con antivirus se podría proceder a eliminar los ficheros que tenemos la certeza de que están contaminados, sustituyéndolos por ficheros originales procedentes de las copias de seguridad.
[ Virus de sector de arranque ]
1) Arranque el ordenador con un "disquete de arranque 100% libre de virus". El arranque del ordenador debe ser total, es decir, no es suficiente con rearrancar el ordenador con las teclas Ctrl + Alt + Sup. 2) Utilice un antivirus o en caso de no ser capaz este de desinfectar el virus reemplace los archivos de sistema por otros que sepa con certeza que están limpios. Puede hacer esto usando el comando Sys c: desde un disquete de arranque del sistema y con ese comando del sistema operativo.
[ Virus de tabla de partición ]
1) Arranque el ordenador con un "disquete de arranque 100% libre de virus". El arranque del ordenador debe ser total, es decir, no es suficiente con rearrancar el ordenador con las teclas Ctrl + Alt + Sup. 2) Utilice un antivirus o en caso de no poder este desinfectar el sistema destruya la tabla de partición y cree una nueva, teniendo luego que recuperar todos los datos desde los backups.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hack Enterprise [ http://hacke.webcindario.com ] | Todos los derechos reservados ® | CopyRight 2002-2XXX © | Prohibida la copia parcial y/o total de la web | Prohibido linkear links linkeados, linkear links tambien... sin la previa y/o anticipada autorizacion de/los webmaster(s) | Queda reservado por copyright todo el diseño de la web, imagenes, logos, etc... | Webmasters -> webmaster@hackenterprise.zzn.com | Page -> hacke@hackenterprise.zzn.com | Webmaster limp -> Mario E. Geréz de La República Argentina, Bs. As., La Matanza, Isidro Casanova | Gracias a las webs amigas por el material brindado ! |