2. Amenazas Programadas
    Actualmente existen varios tipos de programas que pueden llegar a dañar seriamente el sistema de cualquier usuario. Aunque su comportamiento a veces es bastante parecido,  también existen diferencias entre ellos que los distinguen
2.1 Gusanos
    Los gusanos son programas independientes capaces de autoreplicarse. Su objetivo no es infectar otros progamas, sino realizar múltiples copias de sí mismos y propagarlas a través de las redes para desbordarlas y colapsarlas; produciendo así, un ataque por "denegación de servicio".
   Además, algunos gusanos pueden incluir como parte de su código algún virus informático o bomba lógica para que actúe sobre las máquinas en las que se establecen.
   Un ejemplo de gusano basteante conocido fue el presuntamente desarrollado por Robert Morris Jr., que introduciéndose en una red UNIX a través de un sistema de correo electrónico, consiguió bloquear la red ARPAnet (Advanced Research Projects Agency Network), precedesora de la actual Internet y que conectaba a varias universidades americanas.
 
2.2. I-Worms o Gusanos de Internet
    Su extensión es .VBS, .WSH, o .SHS están escritos en lenguaje script (Visual Basic Script o Windows Scripts Hosting) y suelen llegar como falsos .TXT. Además admiten más de un sistema de ataque y replicación, suelen tener capacidad para abrir puertos del ordenador atacado y pueden conectarse vía Web, FTP o Telnet con servidores de grupos de noticias o con páginas web en las cuales se añaden nuevo código (plug-in).
   Estos programas, poseen una gran potencia de propagación, ya que cada ordenador infectado envía a su vez, el código del i-worm a múltiples ordenadores y, además, son fáciles de programar.
   Un ejemplo de i-worm muy conocido fue el I LOVE YOU, este programa era un script bastante sencillo, escrito en Visual Basic Script. Llegaba en forma de mensaje, con el asunto I LOVE YOU y un archivo adjunto con el nombre de LOVE-LETTER-FOR-YOU.TXT.vbs, aunque en muchos casos, la extensión permanecía oculta en las configuraciones por defecto de Windows, lo que inducía a pensar que se trataba de un simple archivo de texto.  Este virus, produce un efecto colateral en la estructura de la Red. Aparte de los problemas que causa en la máquina infectada,  como la eliminación de archivos, la Red se ve afectada por millones de e-mails que empiezan a sobrecargar los servidores de correo, hasta que los administradores deben bloquearlos, produciendo así un Deny of Service al usuario.
   Una variante de este virus fue VBS.LoveLetter.E, también conocido como Mother's Day. Éste llegaba al buzón de correo del usuario con un mensaje en el cual se avisaba de un cargo de 326.92$ por un regalo de un diamante para el día de la madre. En el archivo adjunto se incluían instrucciones para evitar el pago. Algunos usuarios de la Red temerosos de que se les pudiese cargar este importe en su targeta de crédito, ejecutaban los adjuntos y se veían infectados.

Fig 2.2  Fragmento del código del i-worm I LOVE YOU
    Otro i-worm bastante interesante es Hybris. Si este gusano es ejecutado por el usuario, se instala en el sistema y modifica el código de carga inicial de WSOCK32.DLL (la librería de comunicaciones por Internet empleada por Windows) con su propio código, y después cifra el fragmento original, para dificultar su desinfección. De esta forma puede ejecutar las funciones "connect", "recv" y "send", por medio de las cuales Hybris es capaz de monitorizar las acciones que se producen en cada conexión a la Red.
    Cuando la librería infectada se carga en la memoria del ordenador, Hybris pasa a controlar todas las comunicaciones que tienen lugar por medio de Internet, interceptando nuevas direcciones de correo electrónico a las que enviará copias de sí mismo.
   Además, este i-worm recibe plug-ins desde grupos de noticias de Internet, y éstos aparecen cifrados con algoritmo RSA y una llave de 128 bits, de tal modo que no se puede impedir que se siga actualizando por medio de Internet, ya que no podremos bloquear las direcciones o cerrar las cuentas en las que se encuentren las actualizaciones. Los plug-ins después de haber sido procesados, son automáticamente instalados y asimilados por cada una de las copias de Hybris.
  Finalmente, las acciones que es capaz de realizar Hybris son:     Otros ejemplos de i-worms son: Melissa y Ramen un gusano que ataca Linux.
 
2.3  Troyanos
     Un troyano o caballo de Troya es un fragmento de código que se esconde en el interior de un programa aparentemente inofensivo, pero que desarrolla actividades distintas del propósito aparente del programa que le sirve de anfitrión.
   Los caballos de Troya no tienen capacidad de replicación como los virus y los gusanos y sólo llevan a cabo su función cuando el programa que lo contiene se ejecuta.
  Normalmente, se esconden en programas distribuidos como software libre, demos, juegos... aunque también podemos encontrarnos troyanos escondidos en programas que simulan el compresor ARJ o el antivirus McAfee. Algunos ejemplos de troyanos son los siguientes:
     
    2.4 Puertas Falsas
     Las puertas falsas (trap doors o back doors) son un mecanismo establecido en el sistema por su diseñador o por alguien que ha modificado el funcionamiento del mismo. Su objetivo es ofrecer un modo de acceder al sistema esquivando todas las medidas de seguridad establecidas cuando se usa el procedimiento normal. Se trata pues de proporcionar una ruta directa y oculta de acceso al sistema.
    En algunas ocasiones las puertas falsas se establecen durante el desarrollo de la aplicación, con el fin de testearla o permitir un acceso directo y fácil a determinados módulos en caso de fallo del mecanismo normal de acceso. En general estas puertas se eliminan al distribuir la aplicación pero puede que a veces no se haga, intencionadamente o por descuido.
    Estas puertas poseen un mecanismo de acceso que puede ser una combinación de teclas, uan secuencia de acciones, un login determinado...
    Un ejemplo de puerta falsa es la que presentan las BIOS de las placas AWARD. Cuando queramos modificar sus parámetros podemos utilizar cualquiera de las siguientes contraseñas: "condo," y "589589". Aunque el propietario del ordenador haya incorporado su propia contraseña, las dos anteriores suponen una puerta falsa que permite entrar a la configuración de la BIOS igualmente.
2.5 Cibertroyanos
    Los cibertroyanos son programas capaces de crear puertas falsas.  Controlan cuando un usuario se conecta a Internet o a una intranet y que pueden  hacerse con el control de la máquina y abrir puertos y conexiones a través de los cuales envían información a determinados servidores.
    Constan de dos partes, un servidor y un cliente. El servidor es el que actúa en el programa a infectar mientras que el cliente puede ser utilizado por cualquier usuario para acceder al ordenador remoto.
    Como ejemplos de este tipo de programas tenemos el Back Orifice (BO), el NetBus, el DeepThroat y Qaz.

    El funcionamiento del servidor del BO se basa en que, cuando se produce una conexión a la Red, la parte que actúa como servidor abre un puerto de comunicaciones, por defecto el 31337, lo cual permite al programa cliente entrar en contacto con él y acceder a todos los recursos del ordenador. El ejecutable del servidor del BO ocupa 124.92 bytes, al ser ejecutado se borra de forma automática y crea una copia de sí mismo en el subdirectorio windows/system como “.exe” (espacio .exe) y un archivo “windll.dll” de 8192 bytes. El hecho de que se llame .exe hace que muchas veces no sea perceptible por el usuario, ya que Windows tiende a no mostrar las extensiones.
     Por último, se mete en el registro para ejecutarse cada vez que inicie Windows. Desde el cliente y en conexión con cualquier usuario afectado por el Back Oriffice, se puede apagar el ordenador remoto, enviarle mensajes, obtener todas las claves de la cuenta de acceso a Internet, conseguir cualquier archivo del disco duro...
     La mejor forma de detectar una puerta trasera abierta en nuestro PC es controlando los  puertos que tenemos abiertos durante la conexión a Internet o a la intranet. Para ello podemos recurrir al comando netstat y observar las conexiones abiertas. Si comprobamos que hay alguna que emplea un puerto extraño habrá que empezar a sospechar en la presencia de una puerta trasera. Por ejemplo, si queremos detectar BO hemos de emplear netstat y verificar las conexiones UDP abiertas efectuando  netstat –an | find “UDP”. Si nos responde algo como UDP 0.0.0.0:31337*.*, tendremos instalado BO en nuestra máquina. Para desinfectarla hemos de acceder a la carpeta Windows/System y localizar y eliminar los ficheros WINDLL.DLL (8192 bytes) y .EXE ("espacio.exe" de 124928 bytes). Después mediante  el comando regedit localizamos la clave correspondientea a HKEY_LOCAL_MACHINES\Software\Microsoft\Windows\CurrentVersion\ RunServices  localizando y eliminando todas las referencias al .EXE.
    NetBus es un programa con funciones parecidas a BO. Utiliza los puertos 12345 y 12346 para escuchar comunicaciones, por lo que también podremos saber si estamos infectados utilizando el comando netstat –an | find “12345”. También podemos ejecutar el comando telnet y establecer una conexión a localhost (el propio ordenador) en el puerto 12345. Si NetBus se encuentra instalado, se mostrará una cadena indicando su presencia.
   Para eliminarlo de nuestro sistema hemos de encontrar el programa servidor que por defecto es patch.exe, aunque puede tomar cualquier nombre. Para ello hay que acudir al registro (regedit.exe) y buscar el  ejecutable \HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows \ CurrentVersion\ Run. Una vez sepamos el nombre del ejecutable buscaremos dicho archivo y lo borraremos.
     Otro programa similar a BO y NetBus es DeepThroat.  Éste utiliza los puertos 2140 y el 3150, mientras que el cliente abre el puerto 60000. En esta aplicación el servidor se queda tal cual instralado en la máquina. Es decir, no crea nuevos archivos, ni se renombra, ni nada similar, funcionando desde el directorio en el que se ejecuta por primera vez (el nombre del servidor es systempatch.exe). Para detectarlo podemos utilizar también el comando netstat.
    Por último, el programa Qaz, que supuestamente fue utilizado para introducirse en la misma red de Microsoft. Qaz es un ejecutable escrito en el lenguaje Visual C++, que utiliza la técnica de los antiguos virus de compañía. Cuando  Qaz se ejecuta busca el fichero notepad.exe y lo renombra como note.com. A continuación, se copia con el nombre de notepad.exe. Esto hace que cada vez que se llame al Bloc de Notas, primero se ejecute Qaz y luego se llame a note.com, por lo que el usuario, a primera vista no se da cuenta de la presencia del virus.
   Además, cada vez que se ejecuta el sistema, este programa modifica el Registro de Windows con la siguiente entrada:
HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ StartIE= C:\ WINDOWS \notepad.exe qazwsx.hsq.
Qaz es capaz de propagarse por la unidades compartidas de las redes locales, pero no es capaz de autoenviarse por e-mail. En cambio sí utiliza el e-mail para actuar como puerta trasera, mandándole a su autor la dirección de IP de los ordenadores atacados y abre una puerta trasera en el puerto TCP 7597, que permite a su creador ejecutar programas en la máquina infectada, mandarle aplicaciones para controlar de forma remota los equipos o introducir nuevos virus...
   Para detectar la presencia de Qaz, podemos utilizar netstat, como en los casos anteriores.
 

    Reciben el nombre de Bombas lógicas una serie de instrucciones ocultas en programas, que se ejecutan al producirse un hecho determinado. A veces se utilizan para lanzar virus, gusanos u otro tipo de programas contra el sistema.
   La condición para que se active su ejecución puede ser simplemente una fecha, una combinación de teclas, el número de veces que se ejecuta un programa o cualquier otro evento que decida su programador. Si no se produce esta condición pueden permanecer ocultos sin ejercer ninguna acción. En cambio, si se activan, pueden llegar a mover aleatoriamente los bytes por el disco duro o borrar la FAT.
    Parece ser que las bombas lógicas son utilizadas a veces fraudulentamente por programadores que realizan aplicaciones a medida. Simplemente, las programan para que se activen y generen un error en determinadas fechas, de esta forma, el cliente no tiene más remedio que  recurrir al programador para que lo repare, cada cierto tiempo.
   Ejemplos de virus que utilizan el mecanismo de bomba
lógica para su activación son:

          • El viernes 13. Se activa sólo en esta fecha.

• El virus Flip. El día 2 de cada mes ataca de 4 a 5 de la tarde.
          • El virus Barrotes. El día 5 de enero se
          pone en marcha.

          • El virus Manolo. Se pone en marcha
          después de que se hayan realizado 220
          llamadas al sistema.
 

2.7 Applets Java y ActiveX
    Otros programas que pueden ser perjudiciales para nuestro PC son los applets Java y los controles ActiveX, que se encuentran en el interior de las páginas web y se descargan de manera automática sobre la máquina conectada. Son capaces de entrar en nuestro ordenador, bloquearlo, tomar su control o cualquier otra acción similar.
    Los applets de Java, tan comunes en múltiples páginas web, son tipos especiales de aplicaciones Java diseñadas para ser ejecutadas desde un navegador (se reciban desde Internet o no ).  Cuando se ejecuta un applet recibido desde Internet, se carga en una máquina virtual a través de un cargador de clases, que es el responsable de aislar el applet y ejecutarlo a través de un verificador de código. El verificador chequea violaciones de las reglas del lenguaje Java que puedan causar un daño o acceso no autorizado. Pero por otro lado, los applets que se ejecutan desde el sistema de archivos local no tienen ninguna de las restricciones asociadas a los recibidos desde Internet, por lo que pueden realizar cualquier acceso al disco duro.
    Microsoft ofrece una opción en el Explorer llamada Authenticode a través de la cual cada control es comprobado y firmado digitalmente por la autoridad certificadora Verising. Si el applet está firmado, el navegador informa de la autenticidad del programa, el autor, etc.
    ActiveX proporciona a los programadores una posibilidad de enviar pequeños objetos ejecutables que serán ejecutados en el ordenador del usuario. Al contrario que Java, este tipo de ejecutables no tienen un sistema de seguridad, es código que puede ser situado sin ninguna restricción donde se desee y acceder sin problemas a la máquina del usuario. Esto crea un enorme agujero para que los virus puedan viajar a través de las páginas web si el usuario no controla dichas recepciones.
 
2.8 Virus
      Podríamos definir los virus como: Secuencia de instrucciones ejecutable en un entorno informático, capaz de autoreplicarse de forma autónoma, parasitando a otras secuencias.
     Un virus no es un programa independiente. No funciona por sí solo, sino que debe parasitar otros programas para poder funcionar. Por lo tanto, un virus tan solo se ejecuta cuando lo hace la secuencia de instrucciones que ha infectado.
     La mayoría de los virus son secuencias escritas en código máquina, aunque también existen virus que consisten  en una secuencia de instrucciones incluida en cualquier programa .BAT o
en un guión de shell utilizado por el sistema operativo.
     Normalmente, el objetivo de un virus es autorreplicarse para conseguir infectar la mayor cantidad de archivos posible, y luego proceder a atacar la seguridad o el fundionamiento del PC, del sistema operativo, de la red... 
     En general, la estructura de un virus se divide en dos partes:     Aunque la gran parte de los virus actuales, además poseen módulos para actuar como i-worms, cibertroyanos...

   La mayoría de los virus contienen una secuencia o serie única de instrucciones que se denomina firma o patrón. Estas firmas sirven para identificar el virus en cuestión. Los virus con base en su firma se dividenden dos clases: los de firma única y los multifirmas o polimórficos. Los de firma única se detectan fácilmente, pero los polimórficos cambian su firma en cada infección.
   Antes de infectar un archivo, muchos virus intentan determinar si éste ya ha sido infectado previamente, buscando en el archivo su firma. Si la firma se encuentra en el archivo, éste ya ha sido infectado y no será infectado otra vez.
   La firma puede tener varias formas. Algunos virus usan una secuencia de caracteres como ‘sURIV’ (VIRUs deletreado a la inversa) en una posición fija, algunos comprueban el tamaño del archivo dividiéndolo por un número, otros comprueban si el número de segundos en la fecha del archivo está fijado a un valor, como por ejemplo 62 ...
    Si los virus no comprobasen bien su firma, el mismo virus reinfectaría varias veces el mismo archivo, el tamaño de éste crecería desmesuradamente y el virus sería fácilmente detectado.
     Los virus más importantes en estos momentos, según los archivos que infectan son los virus de macro,  los virus de la BIOS,  los virus de script, los virus del mIRC y los virus del  e-mail.