sábado, 21 de mayo de 2011

VIRUS INFORMATICOS

Virus (informática), programa de ordenador que se reproduce a sí mismo e interfiere con el
hardware de una computadora o con su sistema operativo (el software básico que controla la
computadora). Los virus están diseñados para reproducirse y evitar su detección. Como
cualquier otro programa informático, un virus debe ser ejecutado para que funcione: es decir,
el ordenador debe cargar el virus desde la memoria del ordenador y seguir sus instrucciones.
Estas instrucciones se conocen como carga activa del virus. La carga activa puede trastornar
o modificar archivos de datos, presentar un determinado mensaje o provocar fallos en el
sistema operativo.
Existen otros programas informáticos nocivos similares a los virus, pero que no cumplen
ambos requisitos de reproducirse y eludir su detección. Estos programas se dividen en tres
categorías: caballos de Troya, bombas lógicas y gusanos. Un caballo de Troya aparenta ser
algo interesante e inocuo, por ejemplo un juego, pero cuando se ejecuta puede tener efectos
dañinos. Una bomba lógica libera su carga activa cuando se cumple una condición
determinada, como cuando se alcanza una fecha u hora determinada o cuando se teclea una
combinación de letras. Un gusano se limita a reproducirse, pero puede ocupar memoria de la
computadora y hacer que sus procesos vayan más lentos.

ESPECIES DE VIRUS

Existen seis categorías de virus: parásitos, del sector de arranque inicial, multipartitos,
acompañantes, de vínculo y de fichero de datos. Los virus parásitos infectan ficheros
ejecutables o programas de la computadora. No modifican el contenido del programa
huésped, pero se adhieren al huésped de tal forma que el código del virus se ejecuta en
primer lugar. Estos virus pueden ser de acción directa o residentes. Un virus de acción
directa selecciona uno o más programas para infectar cada vez que se ejecuta. Un virus
residente se oculta en la memoria del ordenador e infecta un programa determinado cuando
se ejecuta dicho programa. Los virus del sector de arranque inicial residen en la primera
parte del disco duro o flexible, conocida como sector de arranque inicial, y sustituyen los
programas que almacenan información sobre el contenido del disco o los programas que
arrancan el ordenador. Estos virus suelen difundirse mediante el intercambio físico de discos
flexibles. Los virus multipartitos combinan las capacidades de los virus parásitos y de sector
de arranque inicial, y pueden infectar tanto ficheros como sectores de arranque inicial.
Los virus acompañantes no modifican los ficheros, sino que crean un nuevo programa con el
mismo nombre que un programa legítimo y engañan al sistema operativo para que lo ejecute.
Los virus de vínculo modifican la forma en que el sistema operativo encuentra los programas,
y lo engañan para que ejecute primero el virus y luego el programa deseado. Un virus de
vínculo puede infectar todo un directorio (sección) de una computadora, y cualquier programa
ejecutable al que se acceda en dicho directorio desencadena el virus. Otros virus infectan
programas que contienen lenguajes de macros potentes (lenguajes de programación que
permiten al usuario crear nuevas características y herramientas) que pueden abrir, manipular
y cerrar ficheros de datos. Estos virus, llamados virus de ficheros de datos, están escritos en
lenguajes de macros y se ejecutan automáticamente cuando se abre el programa legítimo.
Son independientes de la máquina y del sistema operativo.


Clasificación de los virus

La clasificación correcta de los virus siempre resulta variada según a quien se le pregunte.
Podemos agruparlos por la entidad que parasitan (sectores de arranque o archivos
ejecutables), por su grado de dispersión a escala mundial, por su comportamiento, por su
agresividad, por sus técnicas de ataque o por como se oculta, etc. Nuestra clasificación
muestra como actúa cada uno de los diferentes tipos según su comportamiento. En algunos
casos un virus puede incluirse en más de un tipo (un multipartito resulta ser sigiloso).



Caballos de Troya: Los caballos de troya no llegan a ser realmente virus porque no tienen la
capacidad de autoreproducirse. Se esconden dentro del código de archivos ejecutables y no
ejecutables pasando inadvertidos por los controles de muchos antivirus. Posee subrutinas
que permitirán que se ejecute en el momento oportuno. Existen diferentes caballos de troya
que se centrarán en distintos puntos de ataque. Su objetivo será el de robar las contraseñas
que el usuario tenga en sus archivos o las contraseñas para el acceso a redes, incluyendo a
Internet. Después de que el virus obtenga la contraseña que deseaba, la enviará por correo
electrónico a la dirección que tenga registrada como la de la persona que lo envió a realizar
esa tarea. Hoy en día se usan estos métodos para el robo de contraseñas para el acceso a
Internet de usuarios hogareños. Un caballo de troya que infecta la red de una empresa
representa un gran riesgo para la seguridad, ya que está facilitando enormemente el acceso
de los intrusos. Muchos caballos de troya utilizados para espionaje industrial están
programados para autodestruirse una vez que cumplan el objetivo para el que fueron
programados, destruyendo toda la evidencia.


Camaleones: Son una variedad de similar a los Caballos de Troya, pero actúan como otros
programas comerciales, en los que el usuario confía, mientras que en realidad están
haciendo algún tipo de daño. Cuando están correctamente programados, los camaleones
pueden realizar todas las funciones de los programas legítimos a los que sustituyen (actúan
como programas de demostración de productos, los cuales son simulaciones de programas
reales). Un software camaleón podría, por ejemplo, emular un programa de acceso a
sistemas remotos (rlogin, telnet) realizando todas las acciones que ellos realizan, pero como
tarea adicional (y oculta a los usuarios) va almacenando en algún archivo los diferentes
logins y passwords para que posteriormente puedan ser recuperados y utilizados ilegalmente
por el creador del virus camaleón.


Virus polimorfos o mutantes: Los virus polimorfos poseen la capacidad de encriptar el
cuerpo del virus para que no pueda ser detectado fácilmente por un antivirus. Solo deja
disponibles unas cuantas rutinas que se encargaran de desencriptar el virus para poder
propagarse. Una vez desencriptado el virus intentará alojarse en algún archivo de la
computadora.
En este punto tenemos un virus que presenta otra forma distinta a la primera, su modo
desencriptado, en el que puede infectar y hacer de las suyas libremente. Pero para que el
virus presente su característica de cambio de formas debe poseer algunas rutinas
especiales. Si mantuviera siempre su estructura, esté encriptado o no, cualquier antivirus
podría reconocer ese patrón.
Para eso incluye un generador de códigos al que se conoce como engine o motor de
mutación. Este engine utiliza un generador numérico aleatorio que, combinado con un
algoritmo matemático, modifica la firma del virus. Gracias a este engine de mutación el virus
podrá crear una rutina de desencripción que será diferente cada vez que se ejecute.
Los métodos básicos de detección no pueden dar con este tipo de virus. Muchas veces para
virus polimorfos particulares existen programas que se dedican especialmente a localizarlos
y eliminarlos. Algunos softwares que se pueden baja gratuitamente de Internet se dedican
solamente a erradicar los últimos virus que han aparecido y que también son los más
peligrosos.No los fabrican empresas comerciales sino grupos de hackers que quieren
protegerse de otros grupos opuestos. En este ambiente el presentar este tipo de soluciones
es muchas veces una forma de demostrar quien es superior o quien domina mejor las
técnicas de programación.
Las últimas versiones de los programas antivirus ya cuentan con detectores de este tipo de
virus.


Virus sigiloso o stealth: El virus sigiloso posee un módulo de defensa bastante sofisticado.
Este intentará permanecer oculto tapando todas las modificaciones que haga y observando
cómo el sistema operativo trabaja con los archivos y con el sector de booteo. Subvirtiendo
algunas líneas de código el virus logra apuntar el flujo de ejecución hacia donde se encuentra
la zona que infectada.
Es difícil que un antivirus se de cuenta de estas modificaciones por lo que será imperativo
que el virus se encuentre ejecutándose en memoria en el momento justo en que el antivirus
corre. Los antivirus de hoy en día cuentan con la técnica de verificación de integridad para
detectar los cambios realizados en las entidades ejecutables.


El virus Brain de MS-DOS es un ejemplo de este tipo de virus. Se aloja en el sector de
arranque de los disquetes e intercepta cualquier operación de entrada / salida que se intente
hacer a esa zona. Una vez hecho esto redirigía la operación a otra zona del disquete donde
había copiado previamente el verdadero sector de booteo.
Este tipo de virus también tiene la capacidad de engañar al sistema operativo. Un virus se
adiciona a un archivo y en consecuencia, el tamaño de este aumenta. Está es una clara
señal de que un virus lo infectó. La técnica stealth de ocultamiento de tamaño captura las
interrupciones del sistema operativo que solicitan ver los atributos del archivo y, el virus le
devuelve la información que poseía el archivo antes de ser infectado y no las reales. Algo
similar pasa con la técnica stealth de lectura. Cuando el SO solicita leer una posición del
archivo, el virus devuelve los valores que debería tener ahí y no los que tiene actualmente.
Este tipo de virus es muy fácil de vencer. La mayoría de los programas antivirus estándar los
detectan y eliminan.



Virus lentos: Los virus de tipo lento hacen honor a su nombre infectando solamente los
archivos que el usuario hace ejecutar por el SO, simplemente siguen la corriente y
aprovechan cada una de las cosas que se ejecutan. Por ejemplo, un virus lento únicamente
podrá infectar el sector de arranque de un disquete cuando se use el comando FORMAT o
SYS para escribir algo en dicho sector. De los archivos que pretende infectar realiza una
copia que infecta, dejando al original intacto.
Su eliminación resulta bastante complicada. Cuando el verificador de integridad encuentra
nuevos archivos avisa al usuario, que por lo general no presta demasiada atención y decide
agregarlo al registro del verificador. Así, esa técnica resultaría inútil.

La mayoría de las herramientas creadas para luchar contra este tipo de virus son programas
residentes en memoria que vigilan constantemente la creación de cualquier archivo y validan
cada uno de los pasos que se dan en dicho proceso. Otro método es el que se conoce como
Decoy launching. Se crean varios archivos .EXE y .COM cuyo contenido conoce el antivirus.
Los ejecuta y revisa para ver si se han modificado sin su conocimiento.


Retro-virus o Virus antivirus: Un retro-virus intenta como método de defensa atacar
directamente al programa antivirus incluido en la computadora. Para los programadores de
virus esta no es una información difícil de obtener ya que pueden conseguir cualquier copia
de antivirus que hay en el mercado. Con un poco de tiempo pueden descubrir cuáles son los
puntos débiles del programa y buscar una buena forma de aprovecharse de ello.
Generalmente los retro-virus buscan el archivo de definición de virus y lo eliminan,
imposibilitando al antivirus la identificación de sus enemigos. Suelen hacer lo mismo con el
registro del comprobador de integridad.


Otros retro-virus detectan al programa antivirus en memoria y tratan de ocultarse o inician
una rutina destructiva antes de que el antivirus logre encontrarlos. Algunos incluso modifican
el entorno de tal manera que termina por afectar el funcionamiento del antivirus.
Virus multipartitos: Los virus multipartitos atacan a los sectores de arranque y a los ficheros
ejecutables. Su nombre está dado porque infectan las computadoras de varias formas. No se
limitan a infectar un tipo de archivo ni una zona de la unidad de disco rígido. Cuando se
ejecuta una aplicación infectada con uno de estos virus, éste infecta el sector de arranque.
La próxima vez que arranque la computadora, el virus atacará a cualquier programa que se
ejecute.


Virus voraces: Estos virus alteran el contenido de los archivos de forma indiscriminada.
Generalmente uno de estos virus sustituirá el programa ejecutable por su propio código. Son
muy peligrosos porque se dedican a destruir completamente los datos que puedan encontrar.


Bombas de tiempo: Son virus convencionales y pueden tener una o más de las
características de los demás tipos de virus pero la diferencia está dada por el trigger de su
módulo de ataque que se disparará en una fecha determinada. No siempre pretenden crear
un daño específico. Por lo general muestran mensajes en la pantalla en alguna fecha que
representa un evento importante para el programador. El virus Michel Angelo sí causa un
daño grande eliminando toda la información de la tabla de particiones el día 6 de marzo.


Conejo: Cuando los ordenadores de tipo medio estaban extendidos especialmente en
ambientes universitarios, funcionaban como multiusuario, múltiples usuarios se conectaban
simultáneamente a ellos mediante terminales con un nivel de prioridad. El ordenador
ejecutaba los programas de cada usuario dependiendo de su prioridad y tiempo de espera. Si
se estaba ejecutando un programa y llegaba otro de prioridad superior, atendía al recién
llegado y al acabar continuaba con lo que hacia con anterioridad. Como por regla general, los
estudiantes tenían prioridad mínima, a alguno de ellos se le ocurrió la idea de crear este
virus. 
El programa se colocaba en la cola de espera y cuando llegaba su turno se ejecutaba
haciendo una copia de sí mismo, agregándola también en la cola de espera. Los procesos a
ser ejecutados iban multiplicándose hasta consumir toda la memoria de la computadora
central interrumpiendo todos los procesamientos.


Macro-virus: Los macro-virus representan una de las amenazas más importantes para una
red. Actualmente son los virus que más se están extendiendo a través de Internet.
Representan una amenaza tanto para las redes informáticas como para los ordenadores
independientes. Su máximo peligro está en que son completamente independientes del
sistema operativo o de la plataforma. Es más, ni siquiera son programas ejecutables.
Los macro-virus son pequeños programas escritos en el lenguaje propio (conocido como
lenguaje script o macro-lenguaje) propio de un programa. Así nos podemos encontrar con
macro-virus para editores de texto, hojas de cálculo y utilidades especializadas en la
manipulación de imágenes.