Download VirusInformaticos
Transcript
INTRODUCCION Un virus informático es un programa que se copia automáticamente y que tiene por objeto alterar el normal funcionamiento de la computadora, sin el permiso o el conocimiento del usuario. Aunque popularmente se incluye al "malware *" dentro de los virus, en el sentido estricto de esta ciencia los virus son programas que se replican y ejecutan por sí mismos. Los virus, habitualmente, reemplazan archivos ejecutables por otros infectados con el código de este. Los virus pueden destruir, de manera intencionada, los datos almacenados en un ordenador, aunque también existen otros más "benignos", que solo se caracterizan por ser molestos. Los virus informáticos tienen, básicamente, la función de propagarse, replicándose, pero algunos contienen además una carga dañina (payload) con distintos objetivos, desde una simple broma hasta realizar daños importantes en los sistemas, o bloquear las redes informáticas generando tráfico inútil. El funcionamiento de un virus informático es conceptualmente simple. Se ejecuta un programa que está infectado, en la mayoría de las ocasiones, por desconocimiento del usuario. El código del virus queda residente (alojado) en la memoria RAM de la computadora, aun cuando el programa que lo contenía haya terminado de ejecutarse. El virus toma entonces el control de los servicios básicos del sistema operativo, infectando, de manera posterior, archivos ejecutables que sean llamados para su ejecución. Finalmente se añade el código del virus al del programa infectado y se graba en disco, con lo cual el proceso de replicado se completa. * Malware malicious software, también (del inglés llamado badware o software malicioso) es un software que tiene como objetivo infiltrarse en o dañar un ordenador sin el conocimiento de su dueño y con finalidades muy diversas ya que en esta categoría encontramos desde un troyano hasta un spyware. Esta expresión es un término general muy utilizado por profesionales de la computación para definir una variedad de softwares o programas de códigos hostiles e intrusivos. Muchos usuarios de computadores no están aún familiarizados con este término y otros incluso nunca lo han utilizado. Sin embargo la expresión "virus informático" es más utilizada en el lenguaje cotidiano y a menudo en los medios de comunicación para describir todos los tipos de malware. Se debe considerar que el ataque a la vulnerabilidad por malware, puede ser a una aplicación, una computadora, un sistema operativo o una red. FUNCIONAMIENTO El funcionamiento de un virus informático es conceptualmente simple. Se ejecuta un programa que está infectado, en la mayoría de las ocasiones, por desconocimiento del usuario. El código del virus queda alojado en la memoria RAM de la computadora, aun cuando el programa que lo contenía haya terminado de ejecutarse. El virus toma entonces el control de los servicios básicos del sistema operativo, infectando, de manera posterior, archivos ejecutables que sean llamados para su ejecución. Finalmente se añade el código del virus al del programa infectado y se graba en disco, con lo cual el proceso de replicado se completa. HISTORIA El primer virus que atacó a una máquina IBM fue llamado Creeper, creado en 1972 por Robert Thomas Morris. Este programa emitía periódicamente en la pantalla el mensaje: "I'm a creeper... catch me if you can!" (soy una enredadera, agárrenme si pueden). Para eliminar este problema se creó el primer programa antivirus denominado Reaper (segadora). Sin embargo, el término virus no se adoptaría hasta 1984, pero éstos ya existían desde antes. Sus inicios fueron en los laboratorios de Bell Computers. Cuatro programadores (H. Douglas Mellory, Robert Morris, Victor Vysottsky y Ken Thompson) desarrollaron un juego llamado Core Wars, el cual consistía en ocupar toda la memoria RAM del equipo contrario en el menor tiempo posible. Después de 1984, los virus han tenido una gran expansión, desde los que atacan los sectores de arranque de disquetes hasta los que se adjuntan en un correo electrónico CLASIFICACIÓN Existen, fundamentalmente dos tipos de virus: 1. Aquellos que infectan archivos. A su vez, éstos se clasifican en: 1. Virus de acción directa: En el momento en el que se ejecutan, infectan a otros programas. 2. Virus residentes: Al ser ejecutados, se instalan en la memoria de la computadora. Infectan a los demás programas a medida que se accede a ellos. Por ejemplo, al ser ejecutados. 2. Los que infectan el sector de arranque. Recordemos que el sector de arranque es lo primero que lee el ordenador cuando es encendido. Estos virus residen en la memoria. La clasificación de los virus también se divide en dos categorías, pero el criterio de clasificación utilizado es distinto: 3. Virus de archivos, que modifican archivos o entradas de las tablas que indican el lugar donde se guardan los directorios o los archivos. 4. Virus de sistema operativo, cuyo objetivo consiste en infectar aquellos archivos que gobiernan la computadora. TIPOS DE VIRUS Existen una variedad de virus en función de su forma de actuar o de su forma de infectar clasificados de la siguiente manera. 1. Acompañante: estos virus basan su principio en que MS-DOS ejecuta en primer lugar el archivo con extensión COM frente al de extensión EXE, en el caso de existir dos archivos con el mismo nombre pero diferente extensión dentro del mismo directorio. El virus crea un archivo COM con el mismo nombre y en el mismo lugar que el EXE a infectar. Después ejecuta el nuevo archivo COM, creado por el virus, y cede el control al archivo EXE. 2. Archivo: los virus que infectan archivos del tipo *.EXE, *.DRV, *.DLL, *.BIN, *.OVL, *.SYS e incluso BAT. Este tipo de virus se añade al principio o al final del archivo. Estos se activan cada vez que el archivo infectado es ejecutado, ejecutando primero su código vírico y luego devuelve el control al programa infectado pudiendo permanecer residente en la memoria durante mucho tiempo después de que hayan sido activados. ¿DONDE SE ESCONDEN? Un virus utiliza sus propias medidas de ocultamiento, pudiendo "esconderse" en diferentes lugares. Algunos de ellos podrían ser los siguientes: * En memoria principal: En este caso el virus se colocará automáticamente en la memoria principal (memoria RAM) esperando que se ejecute algún programa (fichero con extensión EXE o COM) para infectarlo. Ese tipo de virus, se denomina residente. * Documentos con macros: Por regla general, los ficheros que no sean programas, no son infectados por ningún tipo de virus. Sin embargo, existen determinados tipos de documentos (ficheros o archivos) con los que el usuario puede trabajar, o que puede crear, que permiten incluir en ellos lo que se denomina macro. Una macro es un conjunto de instrucciones o acciones que otro programa puede llevar a cabo. Pues bien, estas macros pueden formar parte del documento (texto, hoja de cálculo o base de datos) y por tratarse de programas pueden ser infectados por los virus (virus de macro). * Sector de arranque (Boot y Master Boot): El sector de arranque es una sección concreta de un disco (disquete o disco duro) en la que se guarda la información sobre las características de disco y sobre el contenido del mismo. Cuando hablamos del sector de arranque de un disquete utilizamos el término BOOT, mientras que si se trata del sector de arranque de un disco duro, emplearemos el término Master BOOT (MBR). En ocasiones, esta sección de un disco contiene un programa que permite arrancar el ordenador. Algunos virus (los virus de Boot) se esconden en este lugar infectando ese programa y haciendo, en el arranque del ordenador, que se ejecute el virus. * Ficheros adjuntos a los mensajes de correo electrónico: Cada vez más se utiliza el correo electrónico para el envío de ficheros. Estos ficheros acompañan al mensaje (ficheros adjuntos, anexos o attachments) de texto que se envía, pudiendo estar infectados. Generalmente, al recibirlos, el destinatario no sospecha que el fichero recibido puede contener un virus o serlo, pero al abrir el mensaje y posteriormente abrir el fichero que dentro de él se incluye podría llevarse una sorpresa desagradable. * Páginas Web en Internet: Las páginas que se visitan a través de la navegación por Internet, son ficheros que por regla general no deberían estar infectados ya que se trata de documentos de texto (texto, imágenes, sonido). Sin embargo éstas pueden incluir otros elementos denominados Applets de Java o Contrloes ActiveX. Estos son programas que dotan a la página Web de mayor dinamismo, presentaciones y en definitiva, posibilidades. Por tratarse de programas pueden estar infectados e infectar al usuario que visita la página que los contiene. Según su comportamiento Los grupos principales (y más simples) de virus informáticos son: * Kluggers: Aquellos virus que al entrar en los sistemas de otro ordenador se reproducen o bien se cifran de manera que tan sólo se les puede detectar con algún tipo de patrones. * Viddbers: Aquellos virus que lo que hacen es modificar los programas del sistema del ordenador en el cual entran. Además hay otros subgrupos de los anteriores grupos: * Virus uniformes, que producen una replicación idéntica a sí mismos. * Virus cifrados, que cifran parte de su código para que sea más complicado su análisis. A su vez pueden emplear: o Cifrado fijo, empleando la misma clave. o Cifrado variable, haciendo que cada copia de sí mismo esté cifrada con una clave distinta. De esta forma reducen el tamaño del código fijo empleable para su detección. * Virus oligomórficos, que poseen un conjunto reducido de funciones de cifrado y eligen una de ellas aleatoriamente. Requieren distintos patrones para su detección. * Virus polimórficos, que en su replicación producen una rutina de cifrado completamente variable, tanto en la fórmula como en la forma del algoritmo. Con polimorfismos fuertes se requiere de emulación, patrones múltiples y otras técnicas antivirus avanzadas. * Virus metamórficos, que reconstruyen todo su cuerpo en cada generación, haciendo que varíe por completo. De esta forma se llevan las técnicas avanzadas de detección al límite. Por fortuna, esta categoría es muy rara y sólo se encuentran en laboratorio. * Sobrescritura, cuando el virus sobrescribe a los programas infectados con su propio cuerpo. * Stealth o silencioso, cuando el virus oculta síntomas de la infección. Existen más clasificaciones según su comportamiento, siendo las citadas, parte de las más significativas y reconocidas por la mayoría de los fabricantes de antivirus. Los virus más enviados según la ICVS (Informatic control virus scanner) son: Tipo 1998 2000 2003 2005 Troyanos 20% 15% 22% 25% Gusanos 22% 20% 25% 27% Boot 5% 1% 4% 2% Otros 52% 64% 49% 46% VIRUS INFORMÁTICOS Y SISTEMAS OPERATIVOS Los virus informáticos afectan en mayor o menor medida a casi todos los sistemas más conocidos y usados en la actualidad. Las mayores incidencias se dan en el sistema operativo Windows debido, entre otras causas, a: * Su gran popularidad, como sistema operativo, entre los ordenadores personales, PCs. Se estima que, actualmente, (2007) un 90% de ellos usa Windows. Esta popularidad basada en la facilidad de uso sin conocimiento previo alguno, facilita la vulnerabilidad del sistema para el desarrollo de los virus, y así atacar sus puntos débiles, que por lo general son abundantes. * Falta de seguridad en esta plataforma, situación a la que Microsoft está dando en los últimos años mayor prioridad e importancia que en el pasado). Al ser un sistema muy permisivo con la instalación de programas ajenos a éste, sin requerir ninguna autentificación por parte del usuario o pedirle algún permiso especial para ello (en los Windows basados en NT se ha mejorado, en parte, este problema). * Software como Internet Explorer y Outlook Express, desarrollados por Microsoft e incluidos en forma predeterminada en las últimas versiones de Windows, son conocidos por ser vulnerables a los virus[cita requerida] ya que éstos aprovechan la ventaja de que dichos programas están fuertemente integrados en el sistema operativo dando acceso completo, y prácticamente sin restricciones, a los archivos del sistema. * La escasa formación de un número importante de usuarios de este sistema, lo que provoca que no se tomen medidas preventivas por parte de estos, ya que este sistema está dirigido de manera mayoritaria a los usuarios no expertos en Informática. Esta situación es aprovechada constantemente por los programadores de virus. En otros sistemas operativos como Mac OS X, Linux y otros basados en Unix las incidencias y ataques son prácticamente inexistentes. Esto se debe principalmente a: Tradicionalmente los programadores y usuarios de sistemas basados en Unix/BSD han considerado la seguridad como una prioridad por lo que hay mayores medidas frente a virus tales como la necesidad de autenficación por parte del usuario como administrador o root para poder instalar cualquier programa adicional al sistema. Los directorios o carpetas que contienen los archivos vitales del sistema operativo cuentan con permisos especiales de acceso, por lo que no cualquier usuario o programa puede acceder fácilmente a ellos para modificarlos o borrarlos. Existe una jerarquía de permisos y accesos para los usuarios. Relacionado al punto anterior, a diferencia de los usuarios de Windows, la mayoría de los usuarios de sistemas basados en Unix no pueden normalmente iniciar sesiones como usuarios Administradores o root, excepto para instalar o configurar software, dando como resultado que, incluso si un usuario no administrador ejecuta un virus o algún software malicioso, éste no dañaría completamente el sistema operativo ya que Unix limita el entorno de ejecución a un espacio o directorio reservado llamado comúnmente home. Estos sistemas, a diferencia de Windows, son usados para tareas más complejas como servidores que por lo general están fuertemente protegidos, razón que los hace menos atractivos para un desarrollo de virus o software malicioso. TÉCNICAS DE LOS VIRUS Cada uno de los miles de virus existentes utiliza diferentes mecanismos, tanto para realizar la infección como para ocultarse y pasar desapercibido. Estas técnicas evolucionan con el tiempo, como las técnicas utilizadas por los programas antivirus para detectarlos. En esta sección presentamos los mecanismos utilizados por los virus: * Ocultamiento (Stealth): Los virus que utilizan esta técnica intentan pasar desapercibidos ante los ojos del usuario, no levantando ninguna sospecha sobre la infección que ya ha tenido lugar. Los virus residentes son los que más la utilizan, aunque no es exclusivamente este tipo de virus quienes la aplican. Cuando un virus infecta un determinado fichero, suele dejar signos evidentes de su actuación, como los siguientes: aumento de tamaño en el fichero infectado, modificación de la fecha y hora de creación en el fichero infectado, secciones marcadas como defectuosas, disminución de la capacidad en la memoria, ...etc. El virus se encargará de que cada una de estas pistas no puedan ser visualizadas. Para ello vigilará peticiones de información que requiere el sistema operativo acerca de estas características, interceptándolas y ofreciendo un información falseada e irreal. * Sobrepasamiento (Tunneling): Se trata de una técnica especialmente diseñada para imposibilitar la protección antivirus en cualquier momento. Mientras el análisis permanente, o residente, del programa antivirus que se encuentre instalado intenta realizar detecciones, el virus actúa en su contra. Todas las operaciones que se realizan sobre cualquiera de los archivos son inspeccionadas por el antivirus mediante la interceptación de las acciones que el sistema operativo lleva a cabo para hacerlas posible. De la misma manera, el virus interceptará estas peticiones o servicios del sistema operativo, obteniendo las direcciones de memoria en las que se encuentran. Así el antivirus no detectará la presencia del virus. No obstante, existen técnicas antivirus alternativas que permiten la detección de virus que realicen este tipo de operaciones. * Autoencriptación: Los programas antivirus se encargan de buscar determinadas cadenas de caracteres (lo que se denomina la firma del virus) propias de cada uno de los posibles virus. Estos, por su parte y mediante la técnica de autoencriptación, infectarán de forma diferente en cada ocasión. Esto significa que el virus utilizará una cadena concreta para realizar una infección, mientras que en la siguiente infección utilizará otra distinta. Por otro lado, el virus codifica o cifra sus cadenas para que al antivirus le sea difícil encontrarlo. Sin embargo, los virus que utilizan este tipo de técnicas, emplean siempre la misma rutina o algoritmo de encriptación, con lo que es posible su detección. * Polimorfismo: Basándose en la técnica de autoencriptación, el virus se codifica o cifra de manera diferente en cada infección que realiza (su firma variará de una infección a otra). Si sólo fuese así estaríamos hablando de un virus que utiliza la encriptación, pero adicionalmente el virus cifrará también el modo (rutina o algoritmo) mediante el cual realiza el cifrado de su firma. Todo esto hace posible que el virus cree ejemplares de sí mismo diferentes de una infección a la siguiente, cambiando de "forma" en cada una de ellas. Para su detección, los programas antivirus emplean técnicas de simulación de descifrado. * Armouring: Mediante esta técnica el virus impide ser examinado. Para conocer más datos sobre cada uno de ellos, éstos son abiertos como ficheros que son, utilizando programas especiales (Debugger) que permiten descubrir cada una de las líneas del código (lenguaje de programación en el que están escritos). Pues bien, en un virus que utilice la técnica de Armouring no se podrá leer el código. DAÑOS Dado que una característica de los virus es el consumo de recursos, los virus ocasionan problemas tales como: pérdida de productividad, cortes en los sistemas de información o daños a nivel de datos. Otra de las características es la posibilidad que tienen de ir replicándose. Las redes en la actualidad ayudan a dicha propagación cuando éstas no tienen la seguridad adecuada. Otros daños que los virus producen a los sistemas informáticos son la pérdida de información, horas de parada productiva, tiempo de reinstalación, etc. Hay que tener en cuenta que cada virus plantea una situación diferente. MÉTODOS DE CONTANGIO Existen dos grandes clases de contagio. En la primera, el usuario, en un momento dado, ejecuta o acepta de forma inadvertida la instalación del virus. En la segunda, el programa malicioso actúa replicándose a través de las redes. En este caso se habla de gusanos. En cualquiera de los dos casos, el sistema operativo infectado comienza a sufrir una serie de comportamientos anómalos o imprevistos. Dichos comportamientos pueden dar una pista del problema y permitir la recuperación del mismo. Dentro de las contaminaciones más frecuentes por interacción del usuario están las siguientes: * Mensajes que ejecutan automáticamente programas (como el programa de correo que abre directamente un archivo adjunto). * Ingeniería social, mensajes como ejecute este programa y gane un premio. * Entrada de información en discos de otros usuarios infectados. * Instalación de software pirata o de baja calidad. En el sistema Windows puede darse el caso de que el ordenador pueda infectarse sin ningún tipo de intervención del usuario (versiones Windows 2000, XP y Server 2003) por virus como Blaster, Sasser y sus variantes, por el simple hecho de estar, la máquina conectada a una red o a Internet. Este tipo de virus aprovechan una vulnerabilidad de desbordamiento de búfer y puertos de red para infiltrarse y contagiar el equipo, causar inestabilidad en el sistema, mostrar mensajes de error y hasta reinicios involuntarios, reenviarse a otras máquinas mediante la red local o Internet, entre otros daños. En las últimas versiones de Windows 2000, XP y Server 2003 se ha corregido este problema en su mayoría. De manera frecuente, el usuario deberá descargar actualizaciones y parches de seguridad. EJEMPLOS DE VIRUS WORMS Se registran para correr cuando inicia el sistema operativo ocupando la memoria y volviendo lento al ordenador, pero no se adhieren a otros archivos ejecutables. Utilizan medios masivos como el correo electrónico para esparcirse de manera global. TROYANOS Suelen ser los más peligrosos, ya que no hay muchas maneras de eliminarlos. Funcionan de modo similar al caballo de Troya; ayudan al atacante a entrar al sistema infectado, haciéndose pasar como contenido genuino (salvapantallas, juegos, música). En ocasiones descargan otros virus para agravar la condición del equipo. JOKES No son realmente virus, sino programas con distintas funciones, pero todas con un fin de diversión, nunca de destrucción, aunque pueden llegar a ser muy molestos. HOAXES Son mensajes con una información falsa; normalmente son difundidos mediante el correo electrónico, a veces con fin de crear confusión entre la gente que recibe este tipo de mensajes o con un fin aún peor en el que quieren perjudicar a alguien o atacar al ordenador mediante ingeniería social. VIRUS DE MACROS Un macro es una secuencia de ordenes de teclado y mouse asignadas a una sola tecla, símbolo o comando. Son muy útiles cuando este grupo de instrucciones se necesitan repetidamente. Los virus de macros afectan a archivos y plantillas que los contienen, haciéndose pasar por una macro y actuarán hasta que el archivo se abra o utilice. FACTORES QUE HACEN A UN SISTEMA MÁS VULNERABLE. Existen varios factores que hacen a un sistema más vulnerable: * Homogeneidad - Cuando todas las computadoras en una red funcionan con el mismo sistema operativo, si pueden corromper ese SO, podrán afectar cualquier computadora que lo corra. * Defectos - La mayoría de los sistemas contienen errores que se pueden aprovechar por el malware, mientras no se ponga el parche correspondiente. * Código sin confirmar - Un código en un diskette, en CD-ROM o USB, se puede ejecutar por la irresponsabilidad o ignorancia del usuario. * Sobre-privilegios del usuario - Algunos sistemas permiten que todos los usuarios modifiquen sus estructuras internas. * Sobre-privilegios del código - La mayoría de los sistemas operativos permiten que el código sea ejecutado por un usuario con todos los derechos. Homogeneidad Una causa no citada de la vulnerabilidad de redes, es la homogeneidad del software multiusuario. En particular, Microsoft Windows[1] tiene una gran parte del mercado que al concentrarse en él permitirá a crakers derribar una gran cantidad de sistemas. Bugs La mayoría de los sistemas contienen bugs (errores) que pueden ser aprovechados por el malware. Los ejemplos típicos son los desbordamiento de búfer (buffer overflow), en los cuales estructura diseñada para almacenar datos en un área determinada de la memoria permite que sea ocupada por más datos de la que le caben, sobreescribiendo áreas anexas. Esto puede ser utilizado por el malware para forzar al sistema a ejecutar su código. Discos de inicio Los PCs tenían que ser booteadas (iniciadas) con un diskette, y hasta hace poco tiempo era común que fuera el dispositivo de arranque por defecto. Esto significó que un diskette contaminado podría dañar la computadora durante el arranque, e igual se aplica a CDs y llaves USB. Aunque eso es menos común ahora, sigue siendo posible olvidarse de que el equipo se inicia por defecto, en un medio removible, y por seguridad normalmente no debería haber ningún diskette, CD, etc, al encender el computador. Para solucionar esto basta con entrar en la BIOS del ordenador y cambiar el modo de arranque del ordenador a HDD/CDROM/USB/Floppy, aunque para volver a instalar el sistema operativo hay que revertir los cambios a Floppy/CDROM/USB/HDD. Sobre-privilegios de usuario En algunos sistemas, los usuarios no-administradores son sobre-privilegiados por diseño, en el sentido que se les permite modificar las estructuras internas del sistema. En algunos ambientes, los usuarios son sobre-privilegiados porque les han concedido privilegios inadecuados de administrador o el estado equivalente. Éste es sobre todo una decisión de la configuración, pero en los sistemas de Microsoft Windows la configuración por defecto es sobre-privilegiar al usuario. Esta situación existe debido a decisiones tomadas por Microsoft para priorizar la compatibilidad con viejos sistemas sobre la necesidad de una nueva configuración de seguridad y porque las aplicaciones típicas fueron desarrollados sin tomar en cuenta a los usuarios sin privilegios. Muchas aplicaciones existentes que requieren exceso de privilegio (código sobreprivilegiado) pueden tener problemas con la compatibilidad con Vista. Sin embargo, la característica del control de la cuenta del usuario de Vista procura remediar las aplicaciones no diseñados para los usuarios no privilegiados, actuando como apoyo para resolver el problema del acceso privilegiado inherente en las aplicaciones heredadas. Sobre-privilegio de código Los malware, funcionando como código sobre-privilegiado, pueden utilizar estos privilegios para cambiar el sistema. Casi todos los sistemas operativos populares, y también muchas aplicaciones escritas no prohíben algunos códigos también con muchos privilegios, generalmente en el sentido que cuando un usuario ejecuta el código, el sistema no limita ese código a los derechos del usuario. Esto hace a los usuarios vulnerables al malware en la forma de anexos de E-mail, que pueden o no pueden ser disfrazados. Dado esta situación, se advierte a los usuarios que abran solamente archivos solicitados, y ser cuidadosos de archivos recibidos de fuentes conocidas o desconocidas que no han solicitado. Es también común para los sistemas operativos que sean diseñados de modo que reconozcan más dispositivos de los diversos fabricantes y cuenten con drivers de estos hardwares, aún algunos que puede no ser muy confiables.