Texto suministrado por Alejo
2. EL FENÓMENO VIRUS
2.1 Definición
2.2 Propiedades de los
Virus
2.3 Orígenes
2.4 Desarrollo del fenómeno
Virus
3. TIPOLOGÍA
3.1 Virus del sector de
arranque
3.2 Virus de tabla de partición
(FAT)
3.3 Virus de Fichero
3.4 Virus multipartes
3.5 Otros
Bueno, como veo que estas interesado en todo lo referente a los virus, voy a estudiarlos en este texto de una manera global, dando a conocer los aspectos más interesantes de su funcionamiento y de su peligrosidad, tratando además su evolución y creación.
En ésta página dedicada a uno
de los fenómenos informáticos más peligrosos de los
últimos años Mandáme un correo si necesitas más
información.
2.1 Definición
Un virus lo podemos definir, como un pequeño programa cuyo objetivo es perjudicar el funcionamiento de una computadora, por medio de las instrucciones con que fue programado.
Podemos dar otra definición de virus, aquella que los señala como un programa de ordenador capaz de replicar su código, de forma reiterada, en el soporte distinto al que ocupa inicialmente.
Tal ha sido la evolución de dichos virus en los últimos años, que su número aumenta vertiginosamente dia a dia, y se prevee que en el año 2000, podrían haber diez millones de virus en circulación, y hasta hoy se conocen cerca de 3000 programas en el mundo con estas características.
2.2 Propiedades de los virus
Además de la característica principal de estos programas, que es su facultad de duplicación, existen otros muchos caracteres de los virus, como son los siguientes:
- Modifican el código ejecutable:
Aquí aparece el adjetivo "contagio". Para que un virus contagie
a otros programas ejecutables, debe ser capaz de alterar la organización
del código del programa que va a infectar.
- Permanecen en la memoria de nuestra
computadora: Cuando un usuario, inocente de las consecuencias,
ejecuta en su ordenador un programa con virus, éste pasa a acomodarse
en la memoria RAM. Esto lo hace para adueñarse de la computadora,
y por así decirlo, tomar el mando.
- Se ejecutan involuntariamente:
Un virus sin ejecutar es imposible que dañe nuestra computadora.
En ese momento está en reposo, en modo de espera, necesitando de
alguien que por equivocación ejecute el programa "portador" (porque
supongo que nadie ejecuta un virus en su ordenador intencionadamente).
- Funcionan igual que cualquier programa:
Un virus, al ser un programa de computadora, se comporta como tal, a lo
cual hay que dar gracias. Dicho programa necesita de alguien que lo ponga
en funcionamiento, si no, es software inútil.
- Es nocivo para la computadora:
Pero esto depende del virus con el que tratemos. Podemos encontrarnos programas
que destruyen parcial o totalmente la información, o bien programas
que tan solo concluyen en un mensaje continuo en pantalla, aunque al final
muy molesto.
- Se ocultan al usuario: Claramente,
el programador del virus desea que el usuario no lo advierta durante el
máximo tiempo posible, hasta que aparezca la señal de alarma
en nuestro ordenador. Conforme pasa el tiempo, los virus van desarrollando
más y mejores técnicas de ocultamiento, pero también
se van desarrollando los programas antivirus y de localización.
2.3 Orígenes
En el año 1949, fue Jonh Von Newman, denominado por muchos como el padre de la informática, quién tras una serie de estudios reconoció la posible existencia de un código o programa que pudiera reproducirse continuamente.
En Septiembre de 1984, fue Fred Cohen, quién expuso de forma pública el término "virus de computadora", como aquel software maligno con capacidad de reproducción, tal y como definió Von Newman.
2.4 Desarrollo del fenómeno virus
En los últimos años, el área
informática ha experimentado un vertiginoso crecimiento, y con esto,
los programas que las compañías distribuyen, que cada vez
alcanzan antes el periodo de madurez. Hace algunos años, los usuarios
comenzaron a grabar los programas, debido al alto precio de los mismos,
lo que llevo a los programadores de virus a encontrar el principal modo
de distribución. Podemos, por otro lado, enunciar otras fuentes
de desarrollo de los virus como son las redes, el freeware y shareware,
las BBS, y la aparición de programas sencillos de creación
de virus.
Los virus que hasta ahora se han descubierto, se clasifican en base a lo siguiente:
- Virus de sector de arranque
- Virus de tabla de partición
- Virus de fichero
- Virus multipartes
- Otros
3.1 Virus de sector de arranque
Se clasifican dentro de este apartado, aquellos virus que son capaces de variar o reemplazar el sector de arranque de un disco duro, como objetivo final del contagio.
Dicho programa desplaza la versión original del sector de arranque, llevando a la imposibilidad de sobreescritura en dicho sector alterado. Tales sectores se le aparecerán al usuario como en mal estado o inútiles.
Los virus de este tipo, se almacenan en la memoria RAM de la computadora, y se ejecutan cada vez que el usuario encienda el computadora.
3.2 Virus de tabla de partición
Este tipo de virus, altera la oportunidad que el sistema operativo DOS nos da a cada usuario, de dividir el disco duro en partes, llamadas particiones.
Resulta muy poco común encontrar un virus de este tipo totalmente, pues para ello el mecanismo de infección de éste se realizaría de tabla de partición de un disco duro, a tabla de partición de otro disco duro. Podría darse, en sistemas de redes locales, es decir, en sistemas de ordenadores ampliamente intercomunicados.
3.3 Virus de fichero
Los virus de fichero son capaces de modificar los ficheros con diversas extensiones(exe,bat,etc..). El contagio de un virus de este tipo hace engordar, por así decirlo, el programa infectado, pues el virus pasa a formar parte de él.
Cuando se ejecuta un programa contaminado, el virus toma el control y se instala, como siempre hemos visto que suele hacer, en la memoria RAM de la computadora. A partir de este momento, el virus está completamente preparado para hacer de residente en un programa, e ir expandiéndose poco a poco a los demás programas de nuestra computadora
3.4 Virus multipartes
Cuando los programadores de virus desean incrementar las características expansivas y de contagio de un virus, aparecen en escena los llamados multipartitas. Estos virus son capaces de infectar cuatro posibles elementos: tabla de partición del disco duro, sector de arranque de disco duro, sector de arranque de disquete, y fichero ejecutable. También llamados multipartes, estos "simpáticos", son capaces de contagiar dos o más elementos de los que he nombrado anteriormente.
3.5 Otros
Aparte de los cuatro tipos de virus que he descrito hasta ahora, podemos diferenciar tres programas peligrosos, y como no, perniciosos para nuestra computadora. Éstos son los siguientes:
- Gusano: Podemos definir de esta
manera a aquellos programas que se desplazan por la memoria de una manera
independiente, es decir, sin tener que acogerse a otros programas como
el virus. Cuando dicho gusano encuentra zonas de memoria desocupadas, las
ocupa con el fin de poder realizar copias sucesivas de sí mismo.
En base a estos programas, podemos contar
lo sucedido con referencia a la red. El "gusano de internet", fue un programa
escrito por Robert Morris Jr. con 23 años, y liberado la noche del
2 de noviembre de 1988. Este programa era capaz de duplicarse por internet,
y así lo hizo; desafortunadamente, el gusano se pasó de la
raya y se multiplicó incontrolablemente. En muy poco tiempo, la
mayor parte de internet tuvo que ser cerrada, causando así uno de
los mayores trastornos informáticos de la historia.
Poco después, como consecuencia de los denominados hackers informáticos (personas dedicadas a 'fisgonear' en sistemas informáticos y programas), surgieron los gusanos. Estos programas eran escritos por los hackers con el fin de evitarse la incómoda tarea de ir probando passwords (claves) para entrar en las redes informáticas a través de modem. Estos programas constituían un ingenio que tenía como única misión el 'espiar' lo que encerraban las redes de esos sistemas. Los gusanos fueron los primeros en burlar las protecciones de los sistemas, un factor muy importante por el que se caracterizan muchos virus.
Como se ha apuntado antes, sólo tenían
el fin de espiar lo que esas redes contenían, o simplemente husmear
con fin 'didáctico'. Su objetivo no era el destruirlas, sino que
al contrario, se divertían cuanto más merodeaban sin ser
descubiertos. Un caso primitivo de gusano es la versión Gemini del
'juego' Core War -consistente en que un programa debía de anular
las funciones de otro-. Esta versión tenía el fin de copiarse
a sí mismo 100 unidades de memoria más allá de su
posición actual, transfiriendo el control a la nueva copia (el siguiente
paso fue la duplicación del control). Otro ejemplo de gusano más
famoso es el que desarrolló Robert T. Morris introduciéndose
en una red UNIX a través de un sistema de correo electrónico
MAIL por toda la red ARPAnet (Advanced Research Projects Agency Network)
que conectaba a varias universidades americanas. Este gusano se iba duplicando
una y otra vez en el espacio libre del ordenador. El resultado fue que
todos los ordenadores afectados tuvieron diversos errores de funcionamiento.
Actualmente Morris está en prisión por tal hecho.
- Caballo de Troya: La característica
esencial de estos programas es la carencia del factor de autoréplica,
ejecutándose su código maligno tan solo cuando se ejecuta
el programa que lo porta(caballo de troya). De esta manera, es un programa
creado para ofrecer al usuario una apariencia inofensiva, pero escondiendo
un módulo capaz de destruir información. Hace algunos años,
muchas empresas, recibieron un disquete con información sobre el
Sida, pero que incluía un caballo de troya que destruía datos.
- Bomba Lógica: Dichos programas
se caracterizan por estar ocultos al usuario, en modo de espera, hasta
que llega un plazo determinado, que es cuando se ejecutan. Hasta entonces,
el usuario no notaba absolutamente nada extraño en su computadora.
El típico ejemplo de estos programas es el "Viernes 13", que se
ejecuta tal fecha, hasta lo cual, lo único que hace es ocupar una
pequeña porción de memoria.
-Conejos
: El nacimiento de los modernos virus informáticos podría
encontrarse en lo que se denominó programas conejo. Un programa
conejo es aquel cuya principal función, como si de un conejo se
tratase, es la de reproducirse infinitamente, copiándose así
mismo hasta que ocupa toda la memoria libre o el disco del ordenador, dejándolo
bloqueado. Estos programas surgieron en las redes
informáticas, y se cree que sus verdaderos orígenes se encuentran
cuando en los antiguos sistemas de grandes ordenadores, unos programas
tenían un mayor nivel de acceso que otros. Fue entonces cuando alguien
llegó a ese sistema y quiso que su programa tuviese un acceso mayor
del que tenía. Como no podía hacerlo en la red, ideó
un programa que, tras ponerse a la cola de los otros existentes, al llegarle
el turno se ejecutase y se copiase a sí mismo, obteniéndose
así dos copias. Con estas copias sucedía lo mismo un poco
más tarde, por lo que después fueron 4, 8, 16, 32, 64...
etcétera. De esta forma, el programa tendría cada vez una
mayor acceso (el doble que la vez anterior). Por primera vez se había
creado un ingenio informático que podía ocasionar grandes
catástrofes, colapsando las grandes redes informáticas.
La condición de permanecer oculto al usuario, durante un cierto periodo de tiempo, mientras se realiza el mayor número posible de copias, la llevan a cabo los virus mediante una serie de técnicas de ocultamiento, que denominamos como técnicas stealth. Cuanto más precisas y avanzadas sean las técnicas que utilice cada virus, más tiempo permanecerá escondido a los ojos del usuario. Normalmente, dichas técnicas son programadas mediante dos procesos diferentes:
- Intercepción de interrupciones:
Todas las aplicaciones que se ejecutan bajo DOS, utilizan una serie de
interrupciones para comunicarse con el sistema operativo, y solicitar ciertas
acciones necesarias del mismo. Si por cualquier causa un virus sustituye
cualquier interrupción, cualquier solicitud que cualquier programa
haga de la misma, puede ser redireccionada por éste, y así
llevar a cabo su función.
- Encriptación del código
del virus: Dicha técnica persigue que el virus aparezca diferente
en cada una de las infecciones que lleve a cabo. De esta manera, dos infecciones
de un virus que utiliza la encriptación del código, sólo
serán iguales si utiliza la misma clave de encriptación.
La única forma de detección común es identificar el
algoritmo de mutación que ha realizado el virus.
Las técnicas más interesantes
de ocultamiento de los virus, son las técnicas avanzadas, y por
ello van a ser las tratadas a continuación. Cabe destacar que los
virus también pueden no tener técnicas, o tenerlas básicas
o medias.
Principalmente, las técnicas avanzadas constan de cuatro posibles acciones, que son las siguientes:
- Localización de un antivirus:
Existen virus residentes en memoria que analizan los diferentes programas,
buscando programas antivirus. Si localizan alguno de ellos, el virus automaticamente
desinfecta los ficheros infectados, y aparentemente sale de la memoria.
De esta manera, el programa pernicioso enseña al usuario los ficheros
tal y como estarían normalmente, sin su presencia.
- Intercepción de arranques en
caliente: Las técnicas avanzadas de un virus pueden incluso
simular un arranque en caliente(llamamos así al típico ctrl-alt-del),
sin abandonar la memoria RAM.
- Utilización de algoritmos de
encriptación: Esta técnica de los virus persigue evitar
la localización de signaturas que realizan los programas de detección
de virus, cuando son ejecutados.
- Grabación aleatoria de rutinas
no significativas: Los programadores expertos, usan dicha técnica
con las rutinas no significativas de los virus en su proceso de infección.
Quizá las personas que hasta aquí han leído pensarán, ¿ pero cómo localizo un virus en mi ordenador si las técnicas de ocultamiento son tan avanzadas ?. A continuación voy a explicar los síntomas más característicos de la infección de un virus:
- Cambios en las características
de los ficheros ejecutables: Casi todos los virus de fichero, aumentan
el tamaño de un fichero ejecutable cuando lo infectan. También
puede pasar, si el virus no ha sido programado por un experto (Tipico
principiante con aires de hacker) , que cambien la fecha del fichero
a la fecha de infección.
- Aparición de anomalías
en el teclado: Existen algunos virus que definen ciertas teclas que
al ser pulsadas, realizan acciones perniciosas en la computadora. También
suele ser común el cambio de la configuración de las teclas,
por la del país donde se programó el virus.
- Aparición de anomalías
en el vídeo: Muchos de los virus eligen el sistema de vídeo
para notificar al usuario su presencia en la computadora. Cualquier desajuste
de la pantalla, o de los caracteres de ésta nos puede notificar
la presencia de un virus.
- Se modifican el Autoexec.bat y el Config.sys:
En ciertas ocasiones, los virus modifican dichos ficheros para adaptarlos
a su presencia, al igual que las aplicaciones de software.
- Reducción del tamaño
de la memoria RAM: Un virus, cuando entra en una computadora, debe
situarse obligatoriamente en la memoria RAM, y por ello ocupa una porción
de ella. Por tanto, el tamaño útil operativo de la memoria
se reduce en la misma cuantía que tiene el código del virus.
- Desaparición de datos: Esto
es consecuencia de la acción destructiva para la que son creados
casi todos los hermosos virus. Depende de la maldad del virus si se borran
con la orden DEL, o mediante el uso de caracteres basura, lo que hace imposible
su recuperación.
- El disco duro aparece con sectores
en mal estado: Algunos virus usan sectores del disco para camuflarse,
lo que hace que aparezcan como dañados o inoperativos.
- Aparición de mensajes de error
inesperados: Lo más normal, es que en ciertos virus, el sistema
operativo produzca errores inusuales, cosa que debe alertar al usuario.
- Reducción del espacio disponible
del disco: Ya que los virus se van duplicando de manera continua, es
normal pensar que esta acción se lleve a cabo sobre ficheros del
disco, lo que lleva a una disminución del espacio disponible por
el usuario.
Como muchos de los síntomas que he puesto anteriormente, pueden venir causados por defectos de Hardware, y no por un contagio de virus, te expongo a continuación un pequeño truco para detectar la presencia de éste. A veces nos creemos que un virus tiene la culpa de todo lo que nos pasa, y en cambio lo que debemos hacer es cambiarnos el disco duro, o alguna de las tarjetas que componen nuestra computadora. El truco que podes usar, aunque hay muchos, y que te tendrá al corriente de la posible infección consiste en prepararle una trampa al virus, y es el siguiente:
Consiste en usar un pequeño programa
ejecutable, que se pondrá como trampa al virus. El tamaño
de dicho programa debe conocerse en todo momento, y ejecutándolo
veremos si nuestro ordenador está infectado o no. Para ello crearemos
un fichero trampa con extensión .COM de la siguiente manera: Primero
hacer CLICK en el icono MS DOS y despues escrivité esto:
COPY CON PROTEO.COM
(alt-144) (alt-205) (barra espaciadora)
(F6) (intro)
Las frases anteriores crean un pequeño
fichero ejecutable llamado PROTEO, de más o menos 3 bytes de tamaño.
Para ver si tenemos virus en la memoria RAM, tendremos que ejecutar PROTEO.COM,
y comparar su tamaño después de ejecutado. En resumen, tenes
que hacer esto:
PROTEO.COM
DIR PROTEO.COM
Texto suministrado por Alejo