Los virus
EL SOFTWARE PERVERSO
" Cada año aparecen nuevos virus a cual más sofisticado e indetectable. No resulta extraña la creciente preocupación de
los usuarios que, temerosos de que alguno de estos engendros diabólicos se introduzca en su ordenador, hace que se lancen enbusca del mejor antivirus del mercado.
ANTECEDENTES
Numerosos expertos han atribuido la paternidad de los virus a John Von Neumann, matemático brillante, que realizó importantes avances en inteligencia artificial. En 1.949
Neumann expuso el concepto de un fragmento de código (un programa) capaz de interaccionar con otros y de multiplicarse. También sostuvo la idea de que el software podía ser destructivo hacia sí mismo o hacia otro software.
No obstante, se ha dado en situar el origen de la difusión del fenómeno vírico en una serie de artículos publicados por A. K. Dewdney, a partir de mayo 1.984, en la revista Scientific American. según contaba Dewdney, durante años se había mantenido en secreto la existencia de un juego de alta tecnología, desarrollado y practicado por los investigadores de inteligencia artificial de los Laboratorios Bell de la AT&T. En dicho juego, llamado "Core Wars", dos programadores debían escribir sendos programas hostiles que tenían la capacidad de crecer en la memoria (eran autorreproducibles) y enzarzarse en una lucha contra su adversario por el control de la totalidad de la memoria, destruyendo por completo al programa enemigo.
Como se ve, Dewdney no fue el inventor de los virus, sino más bien el impulsor de este tipo de programas al comentar, con todo lujo de detalles, las virtudes de tan creativo y original juego.
Esta fascinante confesión era la confirmación publica de que el software, al igual que un organismo vivo, tenía la capacidad de reducirse a sí mismo y extenderse.La noticia revolucionó el mundo académico, y las investigaciones sobre el tema se dispararon.
Pero fue en 1983, un año antes de la revelación del contenido de "Core Wars", cuando Fred Cohen, estudiante de postgrado de la Universidad de California, escribió el primer "virus computacional",obteniendo así el Doctorado en Ciencias de la Computación. Durante la conferencia IFIC/SEC/84, el propio Cohen calificó lo que ya por aquel entonces se conocía como "virus de ordenador",como un software maligno, capaz de reproducirse a sí mismo.
Los primeros virus, elaborados en las universidades, iban surgiendo como producto de experiment sobre
inteligencia artificial y con el loable ánimo de satisfacer la curiosidad que inspiraban los misterios de la programación. No era raro que los expertos de la época comenzaran a plantearse el peligroso potencial que encerraban estos programas y la facilidad con que podían usarse para fines poco éticos.
Hoy en día resulta sencillo acceder a la información necesaria para elaborar un virus y, contrariamente a la creencia popular, no es preciso poseer elevados conocimientos en materia de programación para llevar a buen término el proyecto.
PERFIL DEL PROGRAMADOR DE VIRUS
Dewdney afirmaba tajantemente en uno de sus artículos, que el virus no era la obra de un profesional de la informática, sino de un vándalo del ordenador. Lo cierto es que, de un tiempo, a esta parte, escribir virus se ha convertido en un hobby muy extendido y, en ello, la informática y la psicología han intervenido a partes iguales.
Ya en los años 60 encontramos antecedentes de programación dañina. Los programadores descontentos buscaban sabotear el sistema de computadoras en las que trabajaban para obtener generalmente, una satisfacción moral y ver así saldadas sus amenencias hacia el jefe. El acceso restringido a estos grandes sistemas limitó el alcance de estos ataques, de forma que estaban sumamente controlados. Pero era justamente en estos controles estrechos, donde los programadores encontraban el estimulo que buscaban para poner en práctica sus técnicas y donde cada nueva limitación se veía como un reto. Ya entonces surgió la defensa más antigua de aquellos que se dedican a crear virus "lo hice para mostrar los puntos débiles del sistema de seguridad". No cabe duda de que los primeros virus se debieron más a un desafío que a la malicia.
El estraordinaio desarrollo que han experimentado las técnicas de programación durante los últimos años, ha conferido gran poder a aquellos que las dominan. El uso irresponsable de ese poder combinado con un exceso de autoconfianza, inmadurez, rencor o malicia por parte de los programadores, ha dado como resultado la triste avalancha de virus que viene asolando nuestros ordenadores desde hace unos diez años.
La percepción del pirata creador de virus como un héroe fue común en la primera mitad de los 80. Películas como juegos de Guerra popularizaron la imagen del joven experto informático poco agraciado, pero marcadamente sibilino y sobradamente capaz de engañar a los adultos con una astucia desmedida.
Si bien, gracias al cine, cada uno de nosotros tiene una idea preconcebida del perfil del programador de virus estándar, resulta conveniente señalar algunas variantes:
-Jóvenes maravillas: Suelen ser estudiantes avanzados de Ciencias de la Computación que desean dejar huella de su paso
por el mundo de una forma algo heterodoxa.Crean estos virus solo para demostrarse a sí mismos que son capaces de hacerlo, y sueñan con llegar a idear un virus indetectable y definitivo.
-Punds cibernéticos (cyberpunds): Los cyberpunks se inspiran en la novela de ciencia ficción Neuromancer, de William Gibson. En ella, el vaquero Case viaja a través de los interfaces introduciéndose en computadoras y robando datos confidenciales. El paso de la novela al videojuego del mismo nombre ha sido inevitable, manteniéndose en todo su desarrollo fiel a la leyenda. En él, desempeñamos el papel de un cyberpunk en busca de software cada vez más poderoso que nos permita saltarnos los sistemas de seguridad informática más sofisticados; y en el juego, como en la realidad, es la idea de formar parte de una aventura que les atrae.
-Crackers: Denominados de esta forma para diferenciarlos de los hackers (entusiastas de la computación que, rozando la obsesión, se dedican a sacar el máximo partido a sus ordenadores y software, pero siempre siguiendo la ética del Hacker. Los crackers son criminales computacionales que comparten la obsesión del hacker, pero enfocada a actividades ilícitas y siempre en su provecho.
-Terroristas: Cometen delitos informáticos por motivos políticos. Los virus que elaboran no suelen actuar inmediatamente sino que, una vez que han infectado a su "huésped", permanecen ocultos hasta que se activan, resultando muy destructivos. Algunos virus políticos muestran en pantalla mensajes en nombre de una causa o para descreditar a la oposición. Otros reflejan claras motivaciones religiosas.
-Investigadores: Existen rumores de que la Agencia de Seguridad Nacional de Estados Unidos se encuentra actualmente desarrollando virus informáticos para ser utilizados como armas. Estos podrían haberse utilizado para inutilizar el sistema de defensa antiaéreo iraquí en la operación Desert
Storm (tormenta del desierto), aunque no está confirmado.
¿POR QUE CREAR UN VIRUS?
No cabe duda de que crear un módulo de software que pueda realizar acciones tan sorprendentes como la automultiplicación encierra un atractivo irresistible y supone casi un desafío para cualquier programador. Nos hemos referido anteriormente al sentido del reto y a la estimulante sensación de riesgo que inspira en sus autores.
Hay virus que se limitan a reproducirse y además de difundirse mediante la infección a programas, no hacen nada más. Suelen incluir algún mensaje que aparece cada cierto tiempo en pantalla, con moderada insistencia y provocando leves molestias, pero en ningún caso provocan la pérdida de datos. Estos virus pueden ser considerados inofensivos, pero
en ningún caso, como se a dado a llamar, benignos. No hay virus benigno: cualquier programa que implique un funcionamiento anómalo del ordenador, por leve que sea la alteración, ya supone un perjuicio para el usuario en forma de perdida de tiempo y, por consiguiente, de dinero.
Muchas infecciones víricas, en cambio, tienen la evidente intención de hacer daño, tanto como les sea posible. Las motivaciones que pueden empujar a sus programadores a idear tan despreciable creación suelen residir en la venganza, el fanatismo político o una malicia tan retorcida como ciega.
Por supuesto, existen algunas hipótesis sin confirmar que apuntan a los grandes fabricantes de software como los precursores de la corriente vírica. La difusión de estos virus protegería a sus productos de la copia indiscriminada por parte de los piratas, delito que supone escalofriantes pérdidas anuales a estas compañías. Ahora bien, es fácil darse cuenta de que este tipo de guerra acabaría perjudicando a los mismos fabricantes, pues se verían obligados a reemplazar miles de copias de sus productos a causa de las infecciones.
Hay quien va aún más allá y asegura que los virus proceden de las mismas casas que fabrican los programas que los combaten: los antivirus. La idea no parece descabellada, pero puede no ser del todo cierta. Basta con echar una ojeada a la cantidad y variedad de programas contaminantes que circulan, frente al reducido número de antivirus, para darnos cuenta de que no es así.
PERO, ¿QUE ES UN VIRUS?
Un V.I.R.U.S. (Vital información resources under siege, es decir, ataque a recursos vitales de información) es un programa dañino que modifica otros programas ubicando una copia de si mismo dentro de ellos. La inmensa mayoría de los virus están programados en emsamblador, un lenguaje de bajo nivel que opera muy cerca del nivel hardware. No obstante existe constancia de virus programados en lenguajes de alto nivel como C o Pascal. Estos, aunque igualmente eficaces,son mucho más escasos que los programados en ensamblador, pues presentan algunos defectos como su gran tamaño aspecto, que compromete seriamente sus espectativas de vida,dada la sofistificación de los métodos de detección actuales.
Con esta definición ya podemos diferenciar perfectamente entre un virus y los también llamados "Caballos de Troya".Losprimeros tienen la capacidad de replicarse. esto es, de crear copias de sí mismos. En cambio, los segundos no se duplican; haciendo honor a su nombre se nos presentan como programas de gran utilidad para nuestra gestión y es al ejecutarlos o cuando cierta condición ha sido satisfecha cuando llevan a cabo sus dañinos efectos, como dañar la tabla de asignación de ficheros (FAT) o formatear el disco duro.
Tanto los virus como los troyanos pueden actuar como bombas lógicas, permaneciendo acultos durante un cierto tiempo y activándose en una fecha determinada o transcurrido un cierto número de ejecuciones del sistema.
CLASES DE VIRUS
Existen dos grandes grupos de virus, los virus del sector de arranque (boot sector viruses) o BSVs, y los virus de programas, aunque hay algunos que pertenecen a ambos grupos.
Un BSV es un virus que infecta el sector de arranque de un disco. Veamos cómo funciona. Normalmente el sector de arranque contiene un código para cargar los archivos del sistema operativo. Cuando arrancamos el ordenador se realizan una serie de comprobaciones del equipo y, a continuación, se carga el contenido del sector cero de la FAT o sector de arranque del disco está infectado, el virus toma el mando desde el principio, copiándose en la RAM y, desde aquí, en todo disco no protegido que introduzcamos, infectándolo. Dependiendo del tipo de BSV que se trate, éste puede, o bien ocupar su lugar y almacenar el original en alguna parte del disco, o bien reemplazar el sector de arranque original y ocupar su lugar sin más.
Un ejemplo de BSV es el célebre virus de la pelotita o ping-pong. Este virus, como todo BSV, sustituye la información original de carga contenida en el sector de arranque por su propio código, con el fin de tomar el control. Se le presenta entonces un problema, y es que su propio programa ocupa más espacio del que puede almacenarse en un solo sector del disco. ¿Solución? Almacenar el resto del código y el sector 0 original en otro lugar del disco marcándolo en la FAT como defectuoso, con lo que evita ser borrado u observado por el usuario, pasando así inadvertido.
Un virus de programa es un virus que infecta archivos ejecutables (EXE, COM,...). Un archivo infectado albergará una copia del virus generalmente situada al final de su código, pero se dan casos en los que aparece al principio o incluso entre el propio código del archivo, consiguiendo en este último caso dificultar enormemente su detección. Según su forma de propagación podemos distinguir dos tipos:
-VIRUS RESIDENTES: Son aquellos en los que, al ejecutar el archivo infectado, el virus queda residente en memoria y procede a infectar cada nuevo archivo que se ejecute a partir de ese momento.
-VIRUS DE ACCION DIRECTA: Estos virus, al ejecutar el programa que han infectado, empiezan a buscar otros archivos ejecutables para infectarlos, sin esperar a que nosotros los ejecutemos.
TECNICAS DE OCULTACION
Si pensamos acerca de los virus y su funcionamiento, una de las preguntas que nos puede asaltar es ¿Por qué no nos percatamos de su presencia hasta que ya han actuado? y -lo que es más importante- ¿Cómo se las ingenian para ocultarse?. Cuando intentamos escribir en un disco protegido contra escritura siempre nos encontramos con el mismo mensaje:
ERROR EN PROTECCION CONTRA ESCRITURA
ANULAR, REPETIR, DESCARTAR?
Si un virus intentara copiarse en un disco protegido cabría esperar que apareciera en pantalla dicho mensaje. Sin embargo, esto no ocurre; el creador del virus ha previsto esta contingencia y, para no dar pistas de la presencia de su programa invasor, intercepta una interrupción.
Para explicar qué es una interrupción lo veremos con un ejemplo. Imaginemos que estamos escribiendo una carta y, de repente, nos interrumpe el timbre del teléfono. Como es de suponer, pararemos de escribir y contestaremos la llamada para después proseguir con nuestro trabajo. Esto puede ser molesto, pero ¿acaso no lo sería mucho más si tuviéramos que estar descolgando continuamente el aparato para saber si nos están llamando en un instante concreto?. Algo similar ocurre con el ordenador. La CPU desempeña nuestro papel y, de no existir estas interrupciones, tendría que estar consultando en todo momento al resto del equipo para averiguar si alguno de sus componentes está solicitando en ese instante sus servicios, con la enorme pérdida de tiempo que ello supondría. La existencia de interrupciones permite a la CPU desempeñar la función que venía haciendo hasta ese momento sin preocuparse de lo demás y, una vez que algún componente ha requerido de sus servicios mediante una interrupción, ella puede decidir entre atenderla o hacerla esperar. Este mecanismo es el que se sigue, por ejemplo, para la gestión del teclado y el que mantiene el reloj del ordenador.
En concreto, la interrupción 24h. es la encargada de mostrar en pantalla el mensaje al que nos hemos referido anteriormente. Al interceptar esta interrupción, el virus puede intentar copiarse en un disco protegido contra escritura y, al no aparecer el mensaje, no habría ninguna razón aparente para que sospechásemos de su presencia y de su intento fallido de infección.
La interrupción 21h. es otra de las generalmente interceptadas por los virus. Al hacerlo impide que nos percatemos de ciertos cambios ocurridos en la fecha y en el tamaño de los archivos que han sido infectados, dado que estos signos podríamos interpretarlos automáticamente como una señal inequívoca de su presencia. Otra utilidad que le encuentran a interceptar esta interrupción es la de averiguar si ya se han copiado en la memoria y, en tal caso, no volver a hacerlo. Aunque muchos virus siguen utilizando estas técnicas, los más sofisticados se valen de recursos más ingeniosos para ocultarnos su existencia, con lo que aumenta su peligrosidad al ser mucho más difícil su detección por los antivirus convencionales. Entre estas técnicas de nueva generación destacaremos las más habituales:
-STEALTH: Los virus que utilizan esta técnica ocultan los signos visibles de infección (aumento del tamaño del archivo, cambio de fecha...), en otras palabras, si uno de estos virus se encuentra en memoria y realizamos un DIR, no
apreciaremos cambios respecto a las características originales de los archivos infectados. En cambio, si hemos arrancado el ordenador desde un disco de sistema limpio y realizamos la misma operación, podremos observar los cambios que ha introducido el virus en los archivos.
-TUNNELING: Los virus que emplean esta técnica consiguen acceder directamente a los servicios del DOS y de la BIOS, con lo que obtienen un gran poder. Esta técnica es la empleada por los virus más modernos y puede presentarse acompañada de procedimientos stealth.
-SELF-ENCRIPTION: Cuando un virus adopta la técnica de encriptación, se codifica de forma que no puede ser reconocido como tal por el usuario.
-POLIMORFIC-MUTATION: Los virus polimórficos tienen la capacidad de encriptarse de una forma diferente en cada ocasión. Esto es, dos archivos infectados por un mismo virus tendrán un código distinto y, en consecuencia, la identificación del virus en uno de ellos no podrá conducir a la del otro, pues, a todos los efectos, se trataría de virus distintos.
-ARMOURNING: Los virus que siguen esta técnica evitan ser examinados, una vez aislados, por programas desensambladores (recordemos que la mayoría de los virus están programados en lenguaje ensamblador), con lo que resulta más difícil la elaboración de una vacuna al no ser posible conocer su funcionamiento interno.
Ahora que sabemos más acerca de estos molestos inquilinos vamos a ver unas pequeñas medidas eficaces para la protección contra virus, que es diferente a cómo detectarlos:
1-. Haz periódicamente copias de seguridad de todo aquello que no quieras perder en caso de infección.
2-. Nunca arranques el ordenador desde un disco del que no tengas la absoluta seguridad de que está limpio. Esta sería la única forma de que un BSV infectara el disco duro.
3-. Si arrancas el ordenador desde la unidad A: con un disco que no sea de sistema y éste contiene un BSV, aún puedes evitar la infección reseteando el ordenador, pero nunca con CTRL-ALT-DEL (hay virus que sobreviven a esto).
4-. Siempre que te sea posible protege tus discos contra escritura. Los virus no pueden saltarse la pestaña de protección de los discos.
5-. Utiliza siempre programas originales. Además de estar testados contra la mayoría de los virus conocidos, gozarás de las numerosas ventajas que otorga el fabricante,
tales como asistencia técnica o información sobre futuras actualizaciones.
6-. Es conveniente comprobar con algún antivirus reciente cualquier software nuevo que vayamos a utilizar, en especial si es de dudosa procedencia.
Si antes se puso al corriente de cómo se puede evitar un virus, en este apartado vamos a tratar el siguiente tema:
¿CUANDO SOSPECHAR QUE TU ORDENADOR HA SIDO INFECTADO?
"Son múltiples los indicios que pueden hacernos pensar que nuestro ordenador ha sido presa de un virus. Teniendo en cuenta que la variedad de posibles efectos que pueden derivarse de la actuación del virus es casi tan elevada como su número, nos limitaremos sólo a las manifestaciones más habituales:"
A) Aparecen mensajes de error inusuales
B) Hay menos memoria de la habitual.
C) El ordenador se ve ralentizado y tarda más en cargar los programas: hay dificultades al leer archivos o discos.
D) La luz de la disquetera se mantiene encendida más tiempo de lo normal.
E) Los archivos simplemente desaparecen.
F) Pérdida de espacio en disco.
G) Se produce una variación en el tamaño de los archivos del sistema operativo.
H) Se aprecia un cambio en la apariencia del directorio.
La mayoría de la gente suele realzar más el sentido de la palabra virus, es decir, su concepto, y como es habitual se suelen crear FALSOS MITOS SOBRE LOS VIRUS.
- Un virus no puede extenderse de un tipo de ordenador a otro, es decir, un virus creado para PC no puede infectar un Macintosh.
- No puede generarse espontáneamente, debe haberse introducido mediante el software utilizado.
- No todos causan un daño permanente, algunos se desactivan transcurrido cierto tiempo después de llevar a cabo sus acciones.
- Un virus no puede infectar un ordenador a menos que se arranque desde un disco con virus o se ejecute un programa infectado.
- No puede infectar un disco protegido contra escritura.
- La simple lectura de datos desde un disco infectado no produce contagio: el virus no se copiará en la memoria.
CADENA DE VIRUS
"Para localizar una cadena vírica lo más recomendable es utilizar un programa que nos permita buscar cadenas hexadecimales por todo el disco duro. PC TOOLS Y UTILIDADES NORTON son dos de los más indicados. Con estos programas obtendremos un largo listado de números y letras en código hexadecimal; se requiere conocer las cadenas propias de los virus para identificaltas entre todas las demás. Aquí tenéis una lista de algunas de ellas:
DARK AVENGER: 9D 73 48 2E 3B 1E 08 07 75 3A 85 DB 74 36 E8 AB 02 9D E8 83 00 72 34
BRAIN: 7C A2 09 7C 8B 0E 07 7C 89 0E 0A 7C E8 57
CASCADE-B: FA 8B CD E8 00 00 5B 81 EB 31 01 2E F6 87 2A 01
CASCADE 1701: 0F 8D B7 4D 01 BC 82 06 31 34 31 24 46 4C 75 F8
FLIP: FB B8 03 00 E8 1F 00 06 B4 42 00 50 D8 C0 07
DATACRIME II : 2E 8A 07 2E C6 05 22 32 C2 D0 CA 2E 88 07 43 2E
Ejemplos de algunos virus, el por qué de su activación y sus consecuencias:
- El virus TELECOM se activa al arrancar 400 veces el ordenador y deja limpio el HD.
- El virus FINGERS cuenta los golpes de las teclas. Cuando el contador llega a 3.000 aparece el mensaje y el ordenador se detiene.
- El virus BRAIN cambia la etiqueta de volumen de los discos de 360 Kb por la de BRAIN.
- El virus CASINO obliga a jugar con una tragaperras con el disco duro como premio. Si pierdes el virus destruye la FAT.
o El virus BARROTES al ser activado en una determinada fecha aparecen unos BARROTES que bloquean la pantalla y no dejan realizar el trabajo en dicho archivo.
No hay comentarios:
Publicar un comentario