Download 2.5 CODIGO MALICIOSO En seguridad informática, código
Document related concepts
no text concepts found
Transcript
2.5 CODIGO MALICIOSO En seguridad informática, código malicioso es un término que hace referencia a cualquier conjunto de códigos, especialmente sentencias de programación, que tiene un fin malicioso. Esta definición incluye tanto programas malignos compilados, como macros y códigos que se ejecutan directamente, como los que suelen emplearse en las páginas web (scripts). Los códigos maliciosos pueden tener múltiples objetivos como: * Extenderse por la computadora, otras computadoras en una red o por internet. * Robar información y claves. * Eliminar archivos e incluso formatear el disco duro. * Mostrar publicidad invasiva. Mínimos cambios en un código malicioso, pueden hacer que ya no sea reconocido como malicioso por un programa antivirus; es por esta razón que existen tantas variantes de los virus, los gusanos y otros malwares. Además, los antivirus todavía no tienen la suficiente "inteligencia" como para detectar códigos maliciosos nuevos. CLASIFICACIÓN Según la Técnica de infección TROYANOS BOMBAS DE TIEMPO Son programas que ejecutan órdenes destructivas al producirse alguna condición en el sistema: una determinada fecha, un determinado valor en un registro, una petición de interrupción, etc. Las bombas lógicas tienen la ventaja de poner tiempo entre el momento en que son instaladas y su activación, lo que permite a sus autores evitar ser relacionados con sus acciones. 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. GUSANOS Un gusano se puede decir que es un set de programas, que tiene la capacidad de desparramar un segmento de el o su propio cuerpo a otras computadoras conectadas a una red. Hay dos tipos de Gusanos: Host Computer Worm: son contenidos totalmente en una computadora, se ejecutan y se copian a si mismo vía conexión de una red. Los Host Computer Worm, originalmente terminan cuando hicieron una copia de ellos mismos en otro host. Entonces, solo hay una copia del gusano corriendo en algún lugar de una red. También existen los Host Computer Worm, que hacen una copia de ellos mismos e infectan otras redes, es decir, que cada maquina guarda una copia de este Gusano. Network Worms: consisten en un conjunto de partes (llamadas “segmentos”), cada una corre en una maquina distinta (y seguramente cada una realiza una tarea distinta) y usando la red para distintos propósitos de comunicación. Propagar un segmento de una maquina a otra es uno de los propósitos. Los Network Worm tienen un segmento principal que coordina el trabajo de los otros segmentos, llamados también “octopuses”. HOAXES “La palabra hoax, en inglés, significa broma o engaño. Los Hoaxes pueden ser mensajes tremendistas de alerta o advertencia relacionada con código malicioso desconocidos de diversos tipos. Estos mensajes informan que ha aparecido una nueva especie viral, la misma que se está propagando a través de los canales de Internet para destruir la información o afectar a los sistemas de las computadoras". Estos mensajes deliberadamente falsos, son creados con la grave intención de provocar pánico. Los usuarios ingenuos caen en la trampa y siguiendo las instrucciones, empiezan a re transmitirlos, pensando que de este modo van a ayudar a otros usuarios. Estos hechos provocan una reacción en cadena que además del pánico, ocasionan la saturación de los buzones de correo y la congestión de las conexiones en Internet. BUGWARE Existen programas informáticos legales diseñados para realizar unas determinadas funciones, pero debido a una mala programación, a una deficiente organización de los recursos, o una inadecuada comprobación de funcionamiento, pueden causar daño a los datos o al sistema, o pueden facilitar intrusiones o la fuga de información. No todo el mundo considera a estos programas dentro del código malicioso, pero de hecho muchas veces se han relacionado código malicioso, con incidentes ocasionados por programas erróneos. Por lo tanto este tipo de programas se definen como simples fragmentos de código mal implementados que, debido a fallos lógicos internos, producen daños de forma "accidental". MIRC Son una nueva generación de programas que infectan las PC's, aprovechando las ventajas proporcionadas por Internet y los millones de usuarios conectados a cualquier canal IRC a través del programa Mirc. Consisten en un script para el cliente de IRC Mirc. Cuando se accede a un canal de IRC, se recibe por DCC un archivo llamado "script.ini". Por defecto, el subdirectorio donde se descargan los archivos es el mismo donde esta instalado el programa, esto causa que el "script.ini" original se sobrescriba con el "script.ini" maligno. Los autores de ese script acceden de ese modo a información privada de la PC, como el archivo de claves, y pueden remotamente desconectar al usuario del canal IRC. VIRUS Los virus informáticos son uno de los principales riesgos de seguridad para los sistemas computacionales, ya sea se haga referencia a un usuario casero que utiliza su equipo para trabajar y conectarse a Internet o una empresa con un sistema informático importante que debe mantener bajo constante vigilancia para evitar pérdidas causadas por los virus. Un virus se valdrá de cualquier técnica conocida o poco conocida, para lograr su cometido. Así, encontraremos virus muy simples que sólo se dedican a presentar mensajes en pantalla y otros mucho más complejos que intentan ocultar su presencia y atacar en el momento justo. PHISHING PHARMING Es la explotación de una vulnerabilidad en el software de los servidores DNS (Domain Name System), o en el de los equipos de los propios usuarios, que permite a un atacante redireccionar un nombre de dominio (domain name) a otro equipo distinto. De esta forma un usuario que introduzca un determinado nombre de dominio, que haya sido redireccionado, en su explorador de Internet, accederá a la página Web que el atacante haya especificado para ese nombre de dominio. Todos los ordenadores conectados a Internet tienen una dirección IP única, que consiste en 4 octetos (4 grupos de 3 dígitos) de 0 a 255 separados por un punto (Ej. 127.0.0.1). Estas direcciones IP son comparables a las direcciones postales de las casas, o al número de los teléfonos. VISHING SMISHING PORTKNOCKING ROOTKITS Un rootkit es una herramienta, o un grupo de ellas usadas para esconder los procesos y archivos que permiten al intruso mantener el acceso al sistema, a menudo con fines maliciosos. Hay rootkits para una amplia variedad de sistemas operativos, como Linux, Solaris o Microsoft Windows. El término "rootkit" en sus orígenes hacía referencia a un grupo de herramientas de Unix como ps, netstat, w o passwd que habiendo sido debidamente modificadas, ocultaban cualquier actividad del cracker. De este modo, el intruso podría mantener el control del sistema con privilegios de superusuario, pero quedando oculto a los ojos de los usuarios y administradores. Actualmente, el término no está restringido a los sistemas operativos basados en Unix, ya que existen herramientas similares para otros sistemas como Windows (incluso para los sistemas operativos que no utilizan cuentas de root). Un rootkit oculta inicios de sesión (logins), procesos, archivos y registros (logs). Puede incluir software para interceptar datos procedentes de terminales, conexiones de red e incluso el teclado (keylogger). CLASIFICACION TÉCNICAS DE OCULTACIÓN Las tecnologías de software han evolucionado asombrosamente en los últimos tiempos al igual que las arquitecturas de hardware y continúan haciéndolo día a día. De este avance no se podría dejar de mencionar la creación del Código Malicioso y los programas antivirus, lo cual ha motivado que ahora se empleen nuevas técnicas y sofisticadas estrategias de Ocultación, con el objeto de lograr especies más dañinas y menos detectables y por consiguiente los desarrolladores de software antivirus tienen que ser más astutos. El código malicioso que infecta el registro de los sistemas operativos Win32 y genera llaves en el mismo, pueden borrar archivos de extensiones selectivas, formatear el disco duro o dar cualquier instrucción antojadiza de sus desarrolladores. La forma más simple de generar auto-envíos masivos de mensajes de correo, consiste en tomar control y realizar cambios de las instrucciones de las librerías MAPI (Messaging Application Programming Interface), que son un conjunto de funciones C estándar, definidas en código DLL (Dynamic Link Library) para los populares software de correo electrónico MS Outlook, Outlook Express o MS Exchange. Las librerías MAPI están disponibles para los desarrolladores de la mayoría de lenguajes Visual. De allí proviene su facilidad para la creación de virus que afectan o toman control de estas librerías para el re-envío de mensajes para cualquier software de correo, además de los productos de Microsoft. PARSE Esta técnica consiste en instruir al virus bajo ciertos parámetros definidos, secuenciales o periódicos, como por ejemplo, que infecte cada 10 veces que se ejecute un programa. Otras veces, infecta únicamente a los archivos de menor extensión y al usar esta técnica de programación bajo esta tecnología, al infectar archivos o sistemas en forma ocasional, se minimiza la posibilidad de descubrir fácilmente a las especies virales. ARMORES También conocido como virus blindado, es una forma muy peculiar de programación, donde el autor programa una serie de rutinas que usa como cubiertas o escudos (shells), en el archivo que contiene el virus, para que éste no pueda ser fácilmente "rastreado" y mucho menos desensamblado. Asimismo, para darle mayor protección, los autores de virus pueden utilizar utilitarios compresores de archivos, con parámetros cuya descompresión sea mucho más difícil para los desarrolladores de antivirus. STEALTH Un virus "stealth" es aquel que cuando está activado esconde las modificaciones hechas a los archivos o al sector de arranque que están infectados. Esta técnica hace uso de todos los medios posibles para que la presencia del virus pase totalmente desapercibida, anulan efectos tales como el tamaño de los archivos, los cambios de la fecha, hora o atributo, hasta el decremento de la memoria RAM. MUTANTES Los virus polimórficos son quizás los más difíciles de detectar y en consecuencia de eliminar. Sus valores en la programación van cambiando en forma secuencial cada vez que se auto-encriptan, de tal forma que sus cadenas no son las mismas. El virus polimórfico produce varias, pero diferentes copias de sí mismo, manteniendo operativo su micro código viral. RETRO VIRUS 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. 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. En Octubre de 1996 había menos de 100 tipos de macro-virus. En Mayo de 1997 el número había aumentado a 700. Sus autores los escriben para que se extiendan dentro de los documentos que crea el programa infectado. De esta forma se pueden propagar a otros ordenadores siempre que los usuarios intercambien documentos. Este tipo de virus alteran de tal forma la información de los documentos infectados que su recuperación resulta imposible. Tan solo se ejecutan en aquellas plataformas que tengan la aplicación para la que fueron creados y que comprenda el lenguaje con el que fueron programados. Este método hace que este tipo de virus no dependa de ningún sistema operativo. El lenguaje de programación interno de ciertas aplicaciones se ha convertido en una poderosa herramienta de trabajo. Pueden borrar archivos, modificar sus nombres y (como no) modificar el contenido de los ficheros ya existentes. Los macro-virus escritos en dichos lenguajes pueden efectuar las mismas acciones. COMPANION Modalidad Companion (acompañante) es aquella por la cual el virus en lugar de modificar un archivo existente, al infectarlo crea un nuevo archivo del mismo nombre, el cual es inadvertido por el usuario. Resulta poco menos que imposible que alguien recuerde el nombre de todos los archivos de las carpetas de su disco duro. Cuando un programa es ejecutado, por ejemplo IEXPLORE.EXE, éste invoca al popular navegador de Internet, pero el virus ya ha creado un falso IEXPLORE.COM, de tal modo que éste es ejecutado en primer lugar, por ser un archivo COM de una sola imagen (máximo 64k) y puede arrastrar el código viral sin que el usuario se percate. Y así continuará haciéndolo. Mas aún, los verificadores de integridad (integrity checkers) fallarán en la acción de detectar este tipo de virus ya que éstos utilitarios solo buscan los archivos existentes. SPYWARE Programas, scripts, applets de Java, etc., que se instalan en una computadora y que registran las actividades de los usuarios y la envían a sus creadores. Colectan información de: tráfico, claves, cuentas, tarjetas de crédito. Algunos tienen módulos de keylogger que almacenan las teclas que son utilizadas por el usuario y la envían a Internet. Para protegerse existen aplicaciones tales como Ad Aware, BHO Captor, etc. (¡Gratuitas!) Este fraude cibernético se utiliza para conseguir información financiera y personal. Esta se lleva a cabo aprovechando la tecnología VoIP o, últimamente VoWIP - Voz sobre WiFi-IP. Es importante que los usuarios estén prevenidos y alertas pues ambas están adquiriendo un importante volumen. El “golpeo de puertos” es un mecanismo para abrir puertos externamente en un firewall mediante una secuencia preestablecida de intentos de conexión a puertos que se encuentran cerrados. Una vez que el firewall recibe una secuencia de conexión correcta, sus reglas son modificadas para permitir al host que realizó los intentos conectarse a un puerto específico. Por lo general este mecanismo se implementa configurando un demonio para que revise la bitácora o log del firewall para detectar esta secuencia de intentos de conexión. Otra forma es tener un proceso examinando paquetes con alguna interfaz de captura de paquetes, pero esto tiene que hacerse en puertos TCP que se encuentren "abiertos". El mayor uso del golpeo de puertos es para determinar acceso al puerto 22, el puerto del Secure Shell (SSH). La complejidad del mismo puede variar desde una simple lista ordenada de intentos de conexión a puertos TCP, UDP, ICMP u otro protocolo, hasta un hash basado en la dirección origen, tiempo y otros factores, el cual determinará cuáles serán los puertos a golpear. Utiliza los mensajes SMS de los teléfonos móviles para realizar el ataque. Los mensajes intentan convencer para que se visite un enlace fraudulento, pero no llegan por correo electrónico sino por mensaje corto (SMS) al móvil. El primer caso de smishing ocurrió en china donde algunas personas comenzaron a recibir un mensaje con el siguiente texto en su teléfono (en inglés): "Estamos confirmando que se ha dado de alta para un servicio de citas. Se le cobrará 2 dólares al día a menos que cancele su petición: www.XXXXXX.com". Los usuarios, temerosos de la amenaza de cobro (quizás pensaban que el cargo sería retirado del saldo de su tarjeta) acudían a obtener más información a la dirección indicada. En ella, si se visitaba usando Microsoft Windows (imaginamos que mediante alguna vulnerabilidad de Internet Explorer) y sin las medidas de seguridad necesarias, el incauto era infectado por un troyano. En otros casos el mensaje adjuntaba un número de teléfono al que llamar. Como otros métodos de Ingeniería Social, el Vishing se basa en el "hacking" de un procedimiento común que se encuentra dentro de la zona de confort de la víctima". El Vishing, generalmente se realiza de la siguiente manera: El atacante configura un "Dialer" para que llame a números de una zona permanentemente. Cuando un teléfono contesta, una grabación automática lo alerta de algún "inconveniente" con su tarjeta de crédito y le indica comunicarse inmediatamente a otro número, supuestamente de la compañía de tarjetas o su banco, con la dirección IP falsa. Si la víctima llama a ese nuevo número, le contestará una voz de computador que le indicará que debe teclear en el teléfono los números de su tarjeta de crédito u otro dato financiero "delicado". El término phishing proviene de la palabra en inglés "fishing" (pesca) haciendo alusión al acto de “pescar” usuarios mediante señuelos cada vez más sofisticados, y de este modo obtener información financiera y contraseñas. Quien lo practica es conocido con el nombre de phisher. También se dice que el término "phishing" es la contracción de "password harvesting fishing" (cosecha y pesca de contraseñas). Es un término informático que denomina el uso de un tipo de ingeniería social caracterizado por intentar adquirir información confidencial de forma fraudulenta (como puede ser una contraseña o información detallada sobre tarjetas de crédito u otra información bancaria). El phisher se hace pasar por una persona o empresa de confianza en una aparente comunicación oficial electrónica, por lo general un correo electrónico, algún sistema de mensajería instantánea o incluso utilizando también llamadas telefónicas. “Un troyano es un código malicioso que realiza acciones no esperadas o no autorizadas, normalmente maliciosas. La principal diferencia entre un troyano y un virus es la inhabilidad para replicarse. Los Troyanos causan daño, comportamiento inesperado del sistema y comprometen la seguridad de los sistemas. Si este se replica entonces se debe clasificar como un virus“. Se esconden dentro del código de archivos ejecutables y no ejecutables pasando inadvertidos por los controles de muchos antivirus. Posee subrutinas que permiten que se ejecute en el momento oportuno 2.6. CODIGO MOVIL Código colocado en un servidor central pensado para ser descargado y ejecutado por varios clientes. El código móvil se puede distribuir mediante servidores Web, servidores FTP, archivos compartidos, etc. Normalmente, los usuarios ejecutan código móvil desde zonas intranet e Internet. La interacción entre sistemas de software por medio de código móvil es un método poderoso quepermite instalar y ejecutar código dinámicamente. De este modo, un servidor puede proveer mediosflexibles de acceso a sus recursos y servicios internos. Pero este método presenta un riesgo gravepara la seguridad del receptor, ya que el código móvil puede utilizarse también con fines maliciosos,dependiendo de las intenciones de su creador o un eventual interceptor Su surgimiento ha sido gracias al rápido avance en la tecnología móvil ya que precisamente, la capacidad y el método de almacenamiento de datos, la sincronización con la computadora de la oficina o de la casa, la integración del correo electrónico y el desarrollo de aplicaciones empresariales y personales que nos permiten guardar datos y realizar operaciones que normalmente realizaríamos con una PC y si bien este tipo de ataques se ha considerado como “nuevo”, la realidad es que son técnicas que se han manejado en el mundo de las computadoras personales desde sus inicios, pues los códigos en dispositivos móviles, al igual que en las computadoras, son códigos capaces de ocasionar algún daño en el sistema o en la información. Entre las diferentes versiones o variantes de estos códigos existen comportamientos muy similares ya que aprovechan vulnerabilidades que permiten robar información personal, replicarse hacia sus contactos de la agenda para continuar la infección, establecer contacto remoto con alguna entidad externa para que ésta controle por completo el dispositivo siendo capaz de descargar imágenes, realizar llamadas y conectarse a Internet sin autorización del propietario del dispositivo. Pero estos no son los únicos ataques existentes en los dispositivos móviles, pues debido a las actividades que llevamos a cabo podemos encontrar ataques de smishing que son ataques que buscan obtener información confidencial de los usuarios a través de mensajes SMS. Y aunque son muchas las vulnerabilidades explotadas y los códigos maliciosos desarrollados para dispositivos móviles, la principal vulnerabilidad no está en los sistemas, si no en la desinformación y la falta de cultura de seguridad informática existente entre los usuarios de tecnología móvil, pues los distribuidores de códigos maliciosos utilizan técnicas de ingeniería social para convencer al usuario de ejecutar su código malicioso. De manera que para mejorar la seguridad en los dispositivos móviles podemos llevar a cabo algunas actividades como las siguientes: Mantener desactivada las tecnologías de comunicación inalámbrica como Bluetooth e Infrarrojo mientras no se esté utilizando, pues muchos códigos maliciosos aprovechan este medio para propagarse. No aceptar transferencias de archivos, ni descargas de fuentes no confiables, así como también, evitar el acceso a sitios web desconocidos. Utilizar una contraseña de inicio del equipo y otra diferente para el acceso a los datos o información importante. Actualizar constantemente el sistema operativo y las aplicaciones del dispositivo. Si se maneja información confidencial en estos dispositivos, se recomienda cifrarla para evitar su lectura en caso de extravío o robo del dispositivo. Efectuar un respaldo periódico de información. En las empresas podrían implementarse políticas de seguridad que definan el uso adecuado de los dispositivos móviles, al tiempo que definan mecanismos de control de acceso a los recursos compartidos mediante móviles. Es importante mencionar que en el mercado existen otros métodos de protección como la adquisición de software de seguridad para dispositivos móviles que provean protección antivirus y mecanismos de protección a la información ante eventos de robo. Sabemos que no existe seguridad al 100%, pero es posible disminuir los riesgos a los que nos enfrentamos si como usuarios realizamos un uso adecuado y consciente de la tecnología, conociendo los peligros existentes y lo más importante adoptando medidas para protegernos. Algunos virus de codigo movil malicioso Sexy Space,que es una variante a su vez de otro ejemplar de malware móvil llamada Sexy View. Los teléfonos infectados pueden enviar mensajes de texto a cualquiera en su lista de contactos con un enlace a una web, y si ese alguien pincha en el link, se le instalará Sexy View, que le ofrecerá contenidos pornográficos. Una de las cosas más llamativas es que los que escribieron Sexy View fueron capaces de hacer que su aplicación fuera aprobada y firmada por Symbian. El fabricante del sistema operativo, ahora propiedad de Nokia. SYMBOS_FEAKS.A, afecta los smartphones que corren sobre la plataforma Symbian. Este código malicioso llega a través de Bluetooth como un mensaje SMS enviado por un usuario malicioso. SYMBOS_FEAKS.A trata de propagarse enviando el siguiente mensaje SMS a los contactos del teléfono móvil afectado: hey check this link out bye http://www.{BLOCKED}.ucsb.edu/%7efeakk/feakk.zip Si bien actualmente no es accesible, el URL mencionado arriba contiene una copia del código malicioso para Symbian. También puede llegar como un archivo descargable. Al ejecutarse, baja los siguientes archivos, detectados por Trend Micro como SYMBOS_FEAKS.A, en el teléfono afectado: {Drive letter of phone memory}\system\apps\feakk.exe {Drive letter of phone memory}\system\recogs\feakk.mdl El código malicioso utiliza el archive FEAKK.MDL para ejecutar automáticamente su componente EXE cuando el teléfono móvil afectado se enciende. Entonces accede a la lista de contactos del teléfono afectado y envía un mensaje de texto a cada contacto de esa lista. Esta rutina le permite a este código malicioso infectar más teléfonos si los receptores del mensaje de spam piensan que el mensaje es legítimo pues viene de un emisor conocido.