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.