3.-Identificación de ataques y técnicas de intrusión

 

La definición de un ataque es simple; Partiendo de que una amenaza se define como una condición del entorno del sistema de información (persona, máquina, suceso o idea) que, dada una oportunidad, podría dar lugar a que se produjese una violación de la seguridad (confidencialidad, integridad, disponibilidad o uso legítimo), un ataque no es más que la realización de una amenaza.
Para este capitulo nos enfocaremos a los ataques que son provocados deliberadamente.

Una técnica de intrusión es un conjunto de actividades que tienen por objetivo violar la seguridad de un sistema informático. Estas técnicas no solo deben ser conocidas por los atacantes, es imprescindible que sean conocidas por todos aquellos profesionales de las tecnologías de información a fin de proteger y resguardar los sistemas y medios de información de manera veráz y oportuna.

intrusion

Para los atacantes, lo importante no es el equipo sino lo contenido en él

 

3.1 Reconocimiento y Obtención de Información

Ya se ha remarcado la importancia de la información para una organización, pero también es valiosa para los atacantes, tal que muchos ataques no tienen como propósito destruir el sistema, sino acceder a la información contenida en éste, extraerla, descifrarla,  y posteriormente salir del sistema sin dejar rastro ni daños, con el fin de que tal sistema siga siendo útil para seguir extrayendo información.

La forma de obtener la información, así como protegerla varía dependiendo del medio y del método usado.

 

3.1.1 Bases de Datos Públicas

Una de las razones por las cuales las vulnerabilidades en las bases de datos están tan extendidas es el hecho de que la mayoría de las bases que existen en Internet han sido programadas por usuarios para dar dinamismo a sus páginas pero sin preocuparse de las implicaciones de seguridad.
El usuario que programa una base de datos y la sube a su Web, a menudo no es consciente de que un fallo de seguridad puede comprometer todo el servidor que hospeda su página. Y los administradores de servidores Web que ofrecen servicios a sus clientes, no pueden hacer mucho para evitarlo ya que es una labor muy extensa la de supervisar todas las acciones de los usuarios uno por uno.

 

3.1.2 WEB

El World Wide Web es un sistema de documentos de hipertexto e hipermedios (Documentos que pueden bifurcarse o ejecutarse cuando sean solicitados) enlazados y accesibles a través de la red de computadoras Internet.
Este tipo de ejecución puede prestarse para ocultar códigos maliciosos en las páginas Web, los cuales son ejecutados por los usuarios sin que la mayoría de las veces lo noten, dejando expuesta la seguridad del sistema.
Por otra parte, el Internet es una red tan grande que su control y regulación es casi imposible, por lo que su uso supone una constante exposición a diversos tipos de amenazas y su seguridad recae en todos y cada uno de sus usuarios.

 

3.1.3 DNS

El DNS ( Domain Name Service) es un sistema de nombres que permite traducir de nombre de dominio a dirección IP y vice-versa. Aunque Internet sólo funciona con base en direcciones IP, el DNS permite que los humanos usemos nombres de dominio que son bastante más simples de recordar.

Los ataques al DNS están basados principalmente en la suplantación de identidades, tomando la identidad de otro elemento para realizar ciertas acciones dañinas, por ejemplo interceptando a los usuarios que quieren acceder a ciertos recursos en línea  redirigiendo su petición a cualquier otro sitio.

 

3.1.4 Keyloggers

Los keyloggers son un tipo de software encargado de registrar todas las actividades del teclado de un equipo de cómputo sin que el usuario se de cuenta; generalmente son usados para obtener paswords de acceso autorizado a sistemas.

Los keyloggers también pueden ser usados en favor de la seguridad informática pues permiten llevar un registro de lo que hacen los usuarios cuando usan los equipos.

Por ejemplo pueden usarse para determinar qué acciones realizó un usuario durante una sesión de trabajo al interpretar las secuencias introducidas por medio del teclado. Tales acciones pueden delatar si el usuario ingresó a una cuenta que no le corresponde o si modificó información importante del sistema.

keylogger

Aunque menos comunes, los keyloggers también pueden ser dispositivos de hardware conectados al puerto del teclado

3.1.5 Ingeniería Social

 La ingeniería social es la práctica de obtener información confidencial a través de la manipulación de usuarios legítimos. Un ingeniero social usará comúnmente el teléfono o Internet para engañar a la gente y llevarla a revelar información sensible, o bien a violar las políticas de seguridad típicas. Con este método, los ingenieros sociales aprovechan la tendencia natural de la gente a confiar en su palabra, antes que aprovechar agujeros de seguridad en los sistemas informáticos. Generalmente se está de acuerdo en que “los usuarios son el eslabón débil” en seguridad; éste es el principio por el que se rige la ingeniería social.

 

3.1.6 Otros

Jamming o Flooding.

Este tipo de ataques desactivan o saturan los recursos del sistema. Por ejemplo, un atacante puede consumir toda la memoria o espacio en disco disponible, así como enviar tanto tráfico a la red que nadie más puede utilizarla.

Packet Sniffing.

Muchas redes son vulnerables al eavesdropping (literalmete traducido como “escuchar secretamente”), que consiste en la pasiva intercepción (sin modificación) del tráfico de red. En Internet esto es realizado por paquetes sniffers o husmeadores, los cuales son programas que monitorean los paquetes de red que están dirigidos a la computadora donde están instalados. El sniffer puede ser colocado tanto en una estación de trabajo conectada a red, como a un equipo router o a un gateway de Internet, y esto puede ser realizado por un usuario con legítimo acceso, o por un intruso que ha ingresado por otras vías.

Snooping Y Downloading.

Los ataques de esta categoría tienen el mismo objetivo que el sniffing, obtener la información sin modificarla. Sin embargo los métodos son diferentes. Además de interceptar el tráfico de red, el atacante ingresa a los documentos, mensajes de e-mail y otra información guardada, realizando en la mayoría de los casos un downloading, esto es, un proceso de descarga de la información a su propia computadora.

Tamppering O data Diddling.

Esta categoría se refiere a la modificación desautorizada de los datos, o del software instalado en un sistema, incluyendo borrado de archivos. Este tipo de ataques son particularmente serios cuando el que lo realiza ha obtenido derechos de administrador o supervisor, con la capacidad de ejecutar cualquier comando y por ende alterar o borrar cualquier información que puede incluso terminar en la baja total del sistema en forma deliberada.

 

3.2 Identificación de Vulnerabilidades

Las vulnerabilidades son los aspectos del sistema que son aprovechados por los atacantes para violar la seguridad. Es difícil detectar un ataque por medio de una vulnerabilidad, pues el atacante aprovecha una característica del funcionamiento del sistema (Puede ser de hardware, software o de la misma organización del sistema) en vez de perpetrar un ataque por la fuerza usando medios externos.

Identificar las vulnerabilidades del sistema es una actividad importante para ambos bandos, el atacante y el defensor; no se puede suprimir a una vulnerabilidad si de entrada se desconoce sus existencia.

 

3.2.1 Ataques a Redes Telefónicas


El hecho de que las nuevas redes telefónicas corporativas estén unidas a las redes de datos corporativas las convierte en un objetivo muy atractivo para los atacantes, que pueden emplearlas como una vía de entrada a los sistemas informáticos. Desde ahí, podrán robar información corporativa, escuchar conversaciones y crear confusión en el sistema debido al desconocimiento de la procedencia del ataque.
La principal amenaza y forma de ataque a las redes telefónicas, es la intercepción de la información, aunque también la instalación de terminales no autorizadas supone un problema importante en este medio de comunicación.
También se llegan a presentar casos donde el servicio queda no disponible, ya sea a causa de una sobresaturación del medio de transmisión o incluso daños a la infraestructura.


                      
3.2.2 Ataques a la Telefonía Inalámbrica

En el mercado existen dos tipos de teléfonos inalámbricos: los digitales y los analógicos.

En ambos casos, son blancos de ataques de intercepción de información, aunque los sistemas digitales se les considera mas seguros debido a las técnicas de encriptación y  transmisión de datos que usan, aun así estas técnicas no son infalibles, y cada vez se descubren nuevas formas para infringir la seguridad de estos sistemas.

La intercepción de la información no está limitada a escuchar las llamadas telefónicas, también se pueden interceptar los números telefónicos que se marquen y otro tipo de datos (como información de transacciones financieras) que puedan manejarse durante una operación telefónica.

Estos ataques se valen de recursos diferentes, como algoritmos y programas de descriptación, equipos de hardware especializados, programas maliciosos e ingeniería social.

Cada vez son mas diversos los servicios que se prestan por telefonía inalámbrica y también los equipos telefónicos presentan mas características similares a los de una PC, esto hace que los teléfonos sean mas prácticos y versátiles, pero al mismo tiempo los hace susceptibles a otro tipos de ataques, en la actualidad ya existen virus, troyanos, spyware y otros tipos de códigos maliciosos que afectan a un equipo de telefonía inalámbrica y se transmiten a través de tecnologías y servicios como Bluetooth, mensajes de texto, mensajería instantánea, correo electrónico, redes WiFi, puertos USB, audio y vídeo, y el acceso a Internet

Una tercera amenaza que existe en un sistema de telefonía inalámbrica es la no disponibilidad del sistema, generalmente esto se da cuando el ancho de banda del sistema se satura, esto puede ser causado de manera intencional o no. Se han reportado casos de ataques intencionales que consisten en saturar el ancho de banda por el envío excesivo de mensajes de texto.

 

3.2.3 Barrido de Puertos

El barrido o escaneo de puertos consiste en verificar cuáles puertos están disponibles para ser explorados dentro de una o más computadoras en una red. Por sí solo, el barrido de puertos es una actividad normal que frecuentemente es usado para mejorar los servicios de seguridad y rendimiento de una red, pero también puede convertirse en una actividad nociva ya que puede ser usada para buscar puntos de acceso vulnerables para forzar la entrada al sistema.

Existen casos en que el sistema tiene varios puertos abiertos y son desconocidos para el encargado de seguridad, y en consecuencia estos puertos no son vigilados y los datos pueden fluir a través de ellos sin ningún tipo de control de seguridad, convirtiéndole en una vulnerabilidad del sistema.

Esto puede ser consecuencia de una mala configuración de los sistemas de seguridad (por ejemplo los Firewalls) los cuales pueden dejar por default varios puertos abiertos, y los administradores del Firewall olvidan revisar minuciosamente la configuración para verificar todos los puertos disponibles.

 

3.2.4 Identificación de Firewalls

Un Firewall es un dispositivo de seguridad encargado de filtrar los paquetes de datos a partir de una serie de  reglas y criterios definidos por el administrador de una red. Este dispositivo puede ser una maquina  específicamente diseñada y construida para esta función, aunque también puede ser un software que se instala en una computadora conectada a la red a través de la cual se filtran los datos antes de distribuirse a los otro equipos de la red. Cada computadora puede tener un software de Firewall instalado para un filtrado individual.

Los atacantes pueden saltar la seguridad de un Firewall aprovechando los puertos abiertos del sistema. Un método común para descubrir los puertos vulnerables es enviando una serie de paquetes de datos defectuosos (por ejemplo dirigidos a una IP que no existe en la red), los cuales al ser filtrados, el Firewall los interceptará y no permitirá su enrutamiento, pero si el puerto no está siendo filtrado, entonces permitirá pasar el paquete y al no poder enrutarlo correctamente, el Firewall mandará un mensaje de error ICMP ( Internet Control Message Protocol )indicando que el paquete no fue filtrado. Se puede crear un esquema para indicar qué puertos no están siendo filtrados con base en los mensajes de error que se generen con este proceso.

 

3.2.4.1 Interpretación de reglas y filtros

Las reglas de filtrado son una serie de condiciones que un usuario, equipo de la red o paquete de datos debe cumplir con base en las políticas de seguridad de la información de la organización para tener acceso a un equipo a través de los puertos protegidos por un sistema de seguridad (Firewall).

Desde el punto de vista del atacante, la interpretación de filtros se refiere a los procedimientos que se lleva a cabo para descifrar las condiciones necesarias que se necesitan para pasar información a través de los firewalls sin ser un usuario autorizado. Estos procedimientos incluyen ataques por la fuerza e incluso ingeniería social.

 

3.2.5 Identificación de Sistemas Operativos / OS Fingerprinting

OS Fingerpriting es el proceso para identificar el sistema operativo de un usuario remoto de una red, esta identificación se basa en las características que diferencian a cada uno de los sistemas de los demás: distintas implementaciones de la pila TCP/IP, diferentes comportamientos ante el envío de paquetes que presentan una conformación especial, distintas respuestas en función del protocolo utilizado (TCP, ICMP, ARP), etc.

El objetivo de esta técnica no sólo se limita a identificar el sistema operativo remoto, también se puede obtener información de cómo funciona en caso de ser un sistema personalizado que no se puede encontrar en un listado comercial.

El Fingerpriting tiene aplicaciones benéficas para la seguridad informática, pero como la mayoría de este tipo de recursos, también puede usarse para un ataque, siendo la identificación de un sistema operativo remoto, uno de los primeros pasos a realizar para un ataque.

 

  3.2.5.1 Métodos de Identificación

Existen dos métodos de Fingerprinting clasificados como activo y pasivo.

Fingerprinting activo: este tipo de identificación del Sistema Operativo se basa en analizar la respuesta del servidor que se quiere revisar cuando se le envían determinados paquetes TCP y UDP.
El Fingerpriting activo tiene la ventaja de que se puede experimentar enviando diversos tipos de paquetes para forzar diferentes respuestas por parte del sistema, esto da una mayor variedad de resultados a la hora de ser analizados, los cuales son muy útiles para determinar las características del sistema.
Su mayor desventaja es que es fácil de detectar e interceptar por parte de los dispositivos de seguridad (por ejemplo firewalls) implementados en la red donde esté el sistema analizado.
Como se ha mencionado, el tipo de pruebas que se hacen al sistema analizado por este método, consiste en enviar paquetes y analizar las respuestas.

Fingerpriting pasivo: el Fingerpriting pasivo se basa en capturar paquetes de datos provenientes del sistema remoto, contrario al Fingerpriting activo en que se envían paquetes.

Esta captura de paquetes se logra por medio de programas llamados sniffers, los cuales son programas que registran las actividades y tramas de datos que entran y salen de una computadora conectada en una red.

Basándose en los paquetes capturados de un sniffer de dichos paquetes, se puede determinar el sistema de operación del sistema remoto. Igual que en el caso de la identificación activa, la pasiva se basa en el principio de que todas las direcciones IP aportan información sobre las características del sistema operativo. Analizando los paquetes capturados e identificando dichas diferencias se puede determinar el sistema operativo de la máquina remota.

 

3.2.6 Escaneo a Redes Inalámbricas

Una red inalámbrica es un conjunto de dispositivos informáticos, comunicados entre sí por medios no tangibles (Por ejemplo, ondas de radio). Mientras que en las redes cableadas es más complicado conectarse de forma ilegítima -habría que conectarse físicamente mediante un cable-, en las redes inalámbricas esta tarea es más sencilla. Debido a esto hay que poner especial cuidado en proteger una red inalámbrica.

EL primer paso para conectarse a una red inalámbrica es detectar primero su presencia, así como recabar información sobre su configuración. El método mas simple para detectar una red es utilizar la propia herramienta de redes inalámbricas que incorpora el sistema operativo o que incluye el fabricante de la tarjeta inalámbrica. Esta herramienta permite realizar una exploración de las redes disponibles, mostrando una lista con indicación del nombre SSID de la red y tipo de red (Si esta cifrada o no) de cada uno de los puntos de acceso detectados. Si una red no esta cifrada, se dice que es una red abierta, pero no significa que está desprotegida, ya que puede estar usando un sistema de protección distinto al cifrado WEP/WPA (Sistema de cifrado diseñado para redes Wi-Fi).

Estos datos son suficientes para conectarse a una red propia, pero para entrar a una red a la que no se está autorizado se necesita  recopilar más datos.

Las herramientas de los intrusos utilizan dos métodos para recopilar información:

-Pasivo. Estos sistemas se limitan a escuchar e interpretar la información que reciben. Por ejemplo, las redes suelen emitir su identificación SSID, por tanto, basta recibir esos paquetes para identificar este nombre. Los ataques pasivos afectan la confidencialidad pero no influyen necesariamente a la integridad  de la información.

-Activo. En este caso los sistemas no se limitan a escuchar, sino que interactúan de una u otra forma, con la red. Por ejemplo, si no reciben el nombre SSID, interactúan con el punto de acceso o los equipos de los usuarios para conseguir dicha información. Los ataques activos pueden llegar a modificar, eliminar o inyectar tráfico a la red.

La información que se puede conseguir utilizando estos métodos es del siguiente tipo:

-Nombre SSID, aunque el punto de acceso lo tenga oculto
-Esquema de direccionamiento IP de la red.
-Marca y modelo del hardware.
-Versión del software.
-Tipo de cifrado utilizado.
-Clave de cifrado WEP.
-Puertos IP abiertos.
-Información intercambiada.

Toda esta información no puede conseguirse en un solo ataque o con una sola herramienta, por lo que el atacante deberá recopilar la información en diversos pasos sin ser descubierto y usar todo tipo de herramientas y métodos incluyendo, de ser necesaria la ingeniería social.

 

3.2.7 Instalaciones Físicas

La Seguridad Física consiste en la "Aplicación de barreras físicas y procedimientos de control, como medidas de prevención y contramedidas ante amenazas a los recursos e información confidencial". Se refiere a los controles y mecanismos de seguridad dentro y alrededor del Centro de Cómputo así como los medios de acceso remoto hacia y desde el mismo, implementados para proteger el hardware y los medios de almacenamiento de datos.

Las principales amenazas que se prevén en la seguridad física son:

1.- La probabilidad de que desastres naturales, incendios accidentales tormentas e inundaciones afecten a los sistemas de información, así como también la falta de instalaciones apropiadas para afrontarlas.

2.- Amenazas ocasionadas por el hombre, robos, disturbios, sabotajes internos y externos deliberados.
A veces basta recurrir al sentido común para darse cuenta que cerrar una puerta con llave o cortar la electricidad en ciertas áreas siguen siendo técnicas válidas en cualquier entorno.

Ya se ha tratado un tema referente a las amenazas a las instalaciones físicas en el capítulo 2.

 

Control de Accesos

Este punto del tutorial se refiere a la seguridad fisica de las instalaciones.

El control de acceso no sólo requiere la capacidad de identificación, sino también asociarla a la apertura o cierre de puertas, permitir o negar acceso basado en restricciones de tiempo, área o sector dentro de una empresa o institución. Los controles de acceso incluyen la utilización de personal de seguridad, dispositivos electrónicos de acceso y verificación, cerraduras manuales y electrónicas, e implantación de políticas y normas de seguridad entre el mismo personal.
Una intrusión a las instalaciones físicas generalmente se da por los mismos empleados que conocen y tienen acceso directo a las instalaciones, en casos muy raros puede perpetuarse por personas totalmente ajenas como por ejemplo ladrones, espías y terroristas.

control

Ejemplo de dispositivo de seguridad para el control de acceso del personal

3.2.8 Configuración de Servicios y Servidores

Existen muchos casos en que los riesgos pueden reducirse simplemente por verificar la configuración de todos los servicios que forman parte de un sistema.

Todos los servicios vienen con una configuración estándar que pueden permitir una instalación rápida y un uso fácil, pero no es la mas apropiada para cubrir las necesidades de seguridad. Muchas veces un servicio mal configurado se convierte en una grave vulnerabilidad que será aprovechada por los atacantes. Por ello cuando se implanta un servicio o dispositivo dentro de una red, es necesario realizar una configuración personalizada que cumpla con las políticas de seguridad,  manteniendo un balance entre la funcionalidad del sistema y la seguridad.

 

3.2.9 Software

Los atacantes pueden aprovechar diferentes vulnerabilidades de un software (errores de programación, mal diseño, mala configuración, etc) para penetrar en una red o sistema, pero también existe software que sin ser necesariamente maliciosos, pueden ser usados  para romper la seguridad. En el mercado existen numerosas aplicaciones que fueron creadas para ayudar en la mejora continua de la seguridad, la administración de sistemas o facilitar la conectividad de una red, pero que también son herramientas usadas en el acceso desautorizado a los sistemas.

Ejemplos más concretos son Nmap, un software que permite hacer un rastreo de puertos TCP y UDP, o Netslumber, una aplicación que explota de forma continua el espectro radioeléctrico en busca de redes inalámbricas disponibles.

También existe software personalizado, creado por los mismos atacantes con el propósito de ayudar a penetrar la seguridad de los sistemas.

 

3.3 Explotación y obtención de acceso a Sistemas y Redes

Ya se ha mencionado que cada sistema o red tiene puntos vulnerables que pueden ser aprovechados por los atacantes para acceder al sistema, a esta actividad se le conoce como explotación del sistema, y puede ser llevada a cabo por personas externas o los mismos usuarios internos.

La explotación de sistemas no se limita  al aprovechamiento de errores de programación o puertos abiertos, con ingenio también se puede sacar provecho de las características bien ejecutadas del sistema mismo. Esta práctica puede ser ejecutada por distintos medios, así que para combatirla es necesario desarrollar sistemas de cómputo con técnicas de programación segura, así como también hacer uso de distintas tecnologías, estrategias y políticas de seguridad.

A continuación se dará un resumen de las formas más comunes de explotación de sistemas.

 

3.3.1 Promiscuidad en Redes        

El propósito de una red es la comunicación entre distintos equipos de cómputo, por lo que es obvia la idea de que distintos usuarios transmitan información a través de una red.

 La promiscuidad en redes, se refiere a una red donde diversos usuarios transmiten y reciben información con niveles de seguridad muy bajos. Esto representa una amenaza para los usuarios y para la red, ya que un usuario puede propagar fácilmente algún tipo de virus, infectando a los otros usuarios e inclusive a los servidores, a través de los cuales pueden seguir infectando a otros usuarios que se conecten posteriormente.

Este tipo de situaciones se da principalmente en redes de uso público que existen en el Internet, aunque las redes privadas tampoco están exentas inclusive si su seguridad es más estricta.

 

3.3.2 Robo de Identidad

Este tipo de ataque se efectúa cuando el atacante se hace pasar por otro usuario, con el propósito de ganar acceso a la red, obtener privilegios de usuario superior o realizar transacciones financieras fraudulentas.

EL atacante pude robar la identidad usando directamente el equipo de cómputo de la víctima, obteniendo la clave de usuario y contraseña de acceso, o falsificando las identificaciones electrónicas y digitales.

Una variante del robo de identidad es el robo de sesión, como el nombre indica, consiste en apropiarse de la sesión iniciada por otro usuario, teniendo acceso a todos los recursos a los que la víctima tiene acceso.

También suplantar una dirección IP es un robo de identidad, pues hacen pasar un equipo de cómputo por otro. Este tipo de suplantación es posible al modificar manualmente la configuración de red del equipo.

roboid

La mayoría de las personas no se enteran que han sido víctimas del robo de identidad hasta que aparecen cobros misterisoso en sus facturas de crédito

 

3.3.3 Engaño a Firewalls y Detectores de Intrusos

Los Firewalls y otros programas de seguridad tienen por propósito cuidar la información de usuarios no autorizados y otras amenazas, pero estos sistemas tampoco son infalibles, y es posible entrar a ellos por medio de una serie de procedimientos que por lo general no pueden ser ejecutados por una sola aplicación automática, si no por un atacante humano, de ahí la importancia de tener políticas claras de seguridad a fin de que la configuración de los dispositivos sea la adecuada para brindar la protección que se desea.

En la sección de fingerpriting y puertos, ya se mencionaron algunos ejemplos de cómo penetrar estos sistemas de seguridad, el robo de identidad también es una forma de pasar por estos medios, pues el atacante accede al sistema usando una sesión autorizada, y los detectores de intrusos no pueden verificar que el usuario sea realmente quien dice ser.

Uno de los más graves problemas que genera el que uno de estos sistemas sean burlados, es que toma tiempo antes de que los encargados de seguridad se den cuenta que hay un intruso, y en ese lapso de tiempo pudo causar daños graves.

 

3.3.4 Vulnerabilidades en el Software

Las vulnerabilidades en el software pueden ser errores de programación, configuración, análisis, diseño o implantación y pueden presentarse en los programas de seguridad, navegadores de Internet, administradores de bases de datos, aplicaciones varias, y el mismo sistema operativo.

La forma en que un atacante aprovecha estas vulnerabilidades para entrar a un sistema varía dependiendo del sistema, software y herramientas con las que cuenta, por lo que cada caso es diferente, pero un paso común a seguir, es primero reunir toda la información posible sobre el sistema objetivo.
A partir de este punto se tratarán varias vulnerabilidades de software que generalmente son usadas para atacar la seguridad de un sistema. 

 

3.3.4.1 Buffer Overflows

Se trata de un error de programación, en el que un proceso intenta guardar datos mas allá de los límites de memoria asignados, dando por resultado la escritura de datos en direcciones cercanas de memoria correspondientes a otro procesos, dando resultados incorrectos, bloqueo o interrupción.

Este error también puede ser causado por la ejecución de código malicioso y es la causa de muchas vulnerabilidades de software pues puede ser aprovechado para corromper la ejecución de un programa produciendo una sobreescritura de la dirección de retorno de una función y haciendo que apunte directamente hacia un código concreto (generalmente un shell) logrando que se ejecute.

 

3.3.4.2 Heap Overflows

Es otro tipo de buffer overflow que causa una modificación en los datos contenidos de una pila o heap (área de memoria dinámicamente reservada por la aplicación) en vez de modificar la dirección de retorno, logrando modificar la lógica de funcionamiento de un programa.

 

3.3.4.3 Errores en el Formato de Cadena (Format Strings Bugs)

Descubierto por primera vez en 1999. Comúnmente aparece cuando el programador desea imprimir una cadena conteniendo los datos ingresados por el usuario. El programador puede confundir por error printf (bufer) con printf(“%s”, buffer). La primera función interpreta buffer como una cadena de formato y ejecuta cualquier instrucción que pueda contener. La segunda función imprime la cadena en pantalla que es lo que el programador intentaba. Con esta técnica podemos leer todo el contenido de la pila y situar ESP en la posición que queramos.     Al igual que en el caso de los buffer overflows, el objetivo no es otro que sobrescribir la dirección de retorno.

 

3.3.4.4 Condición de Carrera (Race Conditions)

Una condición de carrera describe el error que se produce en programas o circuitos lógicos cuando no han sido diseñados adecuadamente para su ejecución simultánea con otros. Se produce cuando una serie de instrucciones se va ejecutando e inesperadamente una instrucción se sustituye inmediatamente por otra diferente, pero se le otorgan los mismos permisos y prioridades que el anterior, pudiendo acceder a archivos a los que normalmente no tiene permiso.


3.3.4.5 SQL Injection

Este bug surgió con el boom de las aplicaciones web que utilizan bases de datos. Se da cuando se introducen datos suministrados por el usuario como parte de una consulta SQL. Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de otro código SQL para alterar su funcionamiento normal.

Al ejecutarse esa consulta por la base de datos, el código SQL inyectado también se ejecutará y podría hacer un sinnúmero de cosas, como insertar registros, modificar o eliminar datos, autorizar accesos e, incluso, ejecutar código malicioso en el computador.

 

3.3.4.6 Cross-Site & Cross-Domain Scripting

Cross-Site-Scripting


El Cross-Site-Scripting es una vulnerabilidad que puede causar un impacto tanto a una aplicación web como a usuarios que de manera inconsciente activen dicha secuencia de comandos.

Dicho código malicioso se compone de cadenas de datos cuyo contenido son scripts completos contenidos en enlaces o ejecutados desde formularios.
En caso de que sea ejecutado el mismo se ejecutara en el equipo del usuario con todos los privilegios permitidos por las políticas de seguridad configuradas en el navegador del usuario o del sitio visitado.

La mayor problemática es que estas cadenas de código se encuentran ocultas a la sombra de vínculos en donde el usuario normalmente no hace una vista del código de dicho enlace y lo ejecuta con una política de confianza total, dicha ejecución se realiza de una manera indirecta, ya sea por una activación vía hipervínculo o por la ejecución al momento de la carga de un sitio afectado por este tipo de ataque, el atacante no realiza su acción pensando en un usuario en especifico si no que actúa de manera de que afectan a cualquier usuario que inocentemente caiga en dicha trampa, las formas mas comunes de realizar dicha agresión es por medio de correos electrónicos, vínculos falsos o ataques directos a sitios no preparados para este tipo de ataque.

Cross Domain


Esta vulnerabilidad se basa en el elemento OBJECT, permitido en HTML 4, y que es usado para incluir objetos externos dentro de una página Web. Estos objetos pueden ser cualquier control ActiveX como WebBrowser, además de imágenes, applets y otros.

Los controles WebBrowser (controlan diversas acciones en el navegador), incluidos en esta etiqueta pueden eludir las restricciones de seguridad ordinarias aplicadas para otros elementos del código HTML. Esto hace posible evitar las restricciones de seguridad en los servidores, y en las computadoras de los usuarios eludir las zonas de seguridad.
Esto literalmente significa que se puede ejecutar código malicioso al visitar una página Web o al recibir un mensaje electrónico con formato HTML, tal como si fuera ejecutado en forma local, sin advertencia alguna del Internet Explorer.


3.3.4.7 Virus y Gusanos

Un virus es un código escrito con la intención expresa de replicarse. Un virus se adjunta a sí mismo a un programa host y, a continuación, intenta propagarse de un equipo a otro. Un verdadero virus no se difunde sin la intervención humana, alguien debe compartir un archivo o enviar un mensaje de correo electrónico para propagarlo.

Un gusano, al igual que un virus, está diseñado para copiarse de un equipo a otro, pero lo hace automáticamente. En primer lugar, toma el control de las características del equipo que permiten transferir archivos o información. Una vez que un gusano esté en su sistema, puede viajar solo. El gran peligro de los gusanos es su habilidad para replicarse en grandes números. Por ejemplo, un gusano podría enviar copias de sí mismo a todos los usuarios de su libreta de direcciones de correo electrónico
Un gusano puede consumir memoria o ancho de banda de red, lo que puede provocar que un equipo se bloquee.

 

3.3.5 Ataques a Contraseñas

Un ataque a contraseña es toda acción dirigida a obtener, modificar o borrar las contraseñas de acceso de un sistema informático. Estos ataques pueden ser perpetuados más fácilmente si los usuarios autorizados usan contraseñas débiles, es decir, contraseñas limitadas por un número y tipo de caracteres, también se considera débil a una contraseña cuando se usan palabras completas (o deformaciones simples) contenidos en un idioma.

Se suele recomendar usar combinaciones aleatorias de caracteres para formar una contraseña robusta,  con la desventaja de que la mayoría de los usuarios no pueden recordar este tipo de contraseñas y generalmente anotan las contraseñas en otros medios (como un archivo de texto o una nota de papel) donde pueden extraviarla o puede ser revisado por otros usuarios.

Acceso a los ficheros de contraseñas.

 Este ataque es bastante sencillo, y se basa en las vulnerabilidades de un sistema al guardar las contraseñas existentes en ficheros visibles donde pueden ser fácilmente encontrados y la información interpretada. Una forma de enfrentar este problema es usando sistemas de encriptación para cifrar los contenidos de estos ficheros y guardarlos en locaciones donde solo puedan ser leídos por los administradores.

Ataque de diccionario.

Consiste en probar todas las palabras existentes en un diccionario como una posible contraseña.

En este método también se pueden combinar las palabras para formar frases, alterar las combinaciones de cadenas, y usar diccionarios de idiomas extranjeros.

Es un método muy efectivo cuando los usuarios tienen contraseñas débiles.

 

Ataque por la fuerza.

 Se trata de combinar todos los posibles caracteres para formar combinaciones hasta obtener la contraseña correcta.
Es el método mas tardado y difícil, y solo puede ser logrado por maquinas potentes que puedan realizar cientos o miles de combinaciones por segundo.

 

3.3.6 Debilidad de los Protocolos de Red

Los protocolos de red son un conjunto de reglas formales que permiten el intercambio de datos entre entidades que forman parte de una red. Los elementos de una red pueden ir desde hardware periférico hasta equipos remotos.
Este intercambio de datos no se limita a la información contenida en las bases de datos u otros archivos de aplicación, también incluye instrucciones y procesos.
Por eso una debilidad en los protocolos de intercambio tiene consecuencias diversas que pueden ir desde negación del servicio de red, pérdida y alteracionde información, robo de los recursos de la red e incluso control remoto de los equipos

tcpip

Gracias al protocolo TCP/IP es posible comunicarse a nivel global, pero tambien nos expone a diferentes peligros

 

3.3.8 Negación de Servicio

Los ataques a los servicios tienen por objetivo colapsar un sistema o red  para evitar que los servicios y recursos puedan ser utilizados por los usuarios.

 

3.3.9 Ataques a Servicios

Hay varios tipos de ataques a los servicios, entre ellos tenemos los siguientes:

- Ejecutar actividades que consuman una gran cantidad de recursos de las maquinas afectadas, provocando una reducción en su rendimiento y posteriormente la caída del sistema completo.

- Provocar el colapso de redes mediante la generación de grandes cantidades de trafico, generalmente de múltiples equipos.

- Sabotaje de la red mediante routers que se encarguen de proporcionar información falsa sobre las tablas de enrutamiento que impidan el acceso a ciertas maquinas de la red.
-
- Transmisión de paquetes de datos malformados o que no cumplan las reglas de protocolo, para provocar la caída de los equipos que no están para recibir este tipo de trafico malintencionado.

-Incumplimiento de las reglas de un protocolo.

 

3.3.9 Ataques a Redes Inalámbricas

Los ataques a las redes pueden dividirse en pasivos y activos.

Ataques pasivos.

En estos ataques no se modifica la información, el atacante se limita a escuchar, obtener y monitorear la información. Este tipo de ataque es difícil de detectar.

Ataques activos.

Los ataques activos consisten en modificar y/o denegar el acceso a la información, es decir, un usuario no autorizado dentro de la red no solo accede a la información sino que también la modifica y/o impide el acceso a esta.

Sniffing

El sniffing es un ataque pasivo que consiste en que un usuario no autorizado se dedica a hacer un monitoreo de todos lo paquetes de información que circulan por la red mediante un sniffer. El trafico de las redes inalámbricas puede espiarse mas fácilmente que una red convencional pues solo se necesita una tarjeta de red y un equipo para empezar a interceptar los datos, independientemente de si están cifrados o no.
Análisis de tráfico
En este tipo de ataque pasivo el atacante se ocupa de obtener la información que desea por medio de una examinación profunda del tráfico y sus patrones: a qué hora se encienden ciertos equipos, cuánto tráfico envían, durante cuánto tiempo, etc.

Suplantación o enmascaramiento

Este tipo de ataque activo consiste en conseguir varias direcciones válidas mediante un sniffer y analizar el tráfico para saber a que hora poder conectarse para suplantar a un usuario de la red atacada, así cuando llega el momento el atacante se apodera de la dirección del verdadero usuario, y la entrada a la red la identifica como verdadera, pudiendo acceder a la información dentro de la red.
Otra forma de suplantación consiste en instalar puntos de acceso ilegítimos u/o hostiles (Rogue Access Points) para engañar a usuarios autorizados de la red para que se conecten a este AP en lugar de la red a la que pertenecen.

Modificación

Tal como el nombre lo dice, el atacante borra, manipula, añade o reordena mensajes transmitidos.

 

3.3.9.1 Denegación de Servicio

Éste método de ataque consiste en que el atacante de la red se ocupa de generar interferencias de variados tipos hasta que se produzcan tantos errores en la transmisión que la velocidad caiga abruptamente o que la red cese sus operaciones. Al ser ataques de corta duración es muy difícil defenderse de ellos ya que solo es posible detectarlos en el momento en que actúan.

 

3.3.9.2 Ataque de Hombre en Medio o Reactuación (Man-in-the-middle)

Es un ataque en el que el enemigo adquiere la capacidad de leer, insertar y modificar a voluntad, los mensajes entre dos partes sin que ninguna de ellas conozca que el enlace entre ellos ha sido violado. El atacante debe ser capaz de observar e interceptar mensajes entre las dos víctimas.
Esto provoca una manipulación externa de la información así como un ataque adicional a nivel de intercepción de la comunicación y denegación de servicio.

 

3.3.9.3 ARP Poisoning

Suplantación de identidad por falsificación de tabla ARP (Protocolo de resolución de direcciones). El ataque consiste en mandar un paquete del tipo "REPLY ARP" en el que otorgamos a una IP una MAC (Dirección de control de acceso al medio) distinta de la real. La mayoría de los sistemas operativos no implementan estados en el protocolo ARP y por tanto aceptan el REPLY aún sin haber realizado ninguna petición. .

 

3.3.9.4 WEP key-cracking

WEP (Wired Equivalent Privacy) es el sistema de cifrado incluido en el estándar IEEE 802.11 como protocolo para redes Wireless que permite cifrar la información que se transmite. Está basado en el algoritmo de cifrado RC4, y utiliza claves de 64 bits (40 bits más 24 bits del vector de iniciación IV) o de 128 bits (104 bits más 24 bits del IV).
Para atacar una red inalámbrica se utilizan los denominados packet sniffers y los WEP crackers. Para llevar a cabo este ataque, se captura una cantidad de paquetes suficiente, lo cual será determinado por el número de bits de cifrado, mediante la utilización de un packet snifer y luego mediante un WEP cracker o key cracker se trata de vulnerar el cifrado de la red. Un key cracker es un programa basado generalmente en ingeniería inversa que procesa los paquetes capturados para descifrar la clave WEP. Vulnerar una red para obtener una llave más larga requiere la interceptación de más paquetes, pero hay ataques activos que estimulan el tráfico necesario.

 

3.4 Mantener el Acceso a Sistemas Comprometidos

Una vez que el intruso ha logrado penetrar a un sistema, no repetir el mismo proceso infiltración cada vez que quiera entrar a ese mismo sistema. Por ello mantener le es conveniente crear una entrada que le facilite la reincidencia en un sistema y al mismo tiempo oculte su presencia.

 

3.4.1 Puertas Traseras

Las puertas traseras constituyen una vía de acceso no autorizado a un sistema informático, saltándose las  medidas de protección previas e implantadas por los administradores.

En algunos casos estas puertas pueden tener su origen en una serie de servicios que se utilizan durante las fases de desarrollo de un sistema informático y que por error o descuido, se mantienen en la versión final distribuida a los clientes.

 

3.4.2 Caballos de Troya

Son programas aparentemente inofensivos, con una determinada función o utilidad, pero que contienen un código oculto para ejecutar acciones no esperadas por el usuario.
Se tratan de programas nocivos que pueden sustraer la información confidencial de un equipo infectado, mientras se hacen pasar por programas o servicios inofensivos.

 

3.4.3 Rootkits

Los rootkits son un tipo de troyano que ocultan las puertas traseras que faciliten el acceso y control del sistema infectado con los máximos privilegios posibles (root)
El término viene de Unix, donde la cuenta del administrador se denomina “root”, mientras que los conjuntos de herramienta de software reciben el nombre de “kits”.

Se distinguen tres tipos de rootkits:

Rootkits binarios: reemplazan a una herramienta del administrador del sistema, sustituyendo el fichero binario original por otro modificado que incluye nuevas utilidades.


Rootkits de kernel: modifican el núcleo (kernel) del sistema operativo en el equipo infectado. De este modo consiguen manipular las respuestas del kernel para poder ocultar nuevos archivos, puertos abiertos, procesos, etc.

Rootkits de librerias: reemplazan las librerías del sistema, incluyendo distintas funciones  que son utilizadas por otros programas cuando se ejecutan en el sistema infectado. De esta manera las funciones del troyano pueden afectar a distintos programas que se estén ejecutando en el sistema.

 

root

Se ha confirmado la existencia de un rootkit en los dispositivos USB de SONY. Mas infromacion en: http://www.heise-online.co.uk/security/Sony-MicroVault-software-has-rootkit-function--/news/95034

 

3.5 Eliminación de Evidencias

El trabajo de un intruso no solamente concluyen con haber saltado la seguridad , entrar al sistema y causar daños, ocultar su presencia y rastro también es una actividad en la que el atacante pondrá especial cuidado, pues entre mas tiempo permanezca sin ser detectado por los medios de seguridad, mayor será el daño que pueda causar.
Para ello el atacante intentara eliminar toda evidencia de sus actividades, definiéndose como evidencia, cualquier información que puede ser capturada y analizada para interpretar de la manera mas exacta posible en que ha consistido un incidente de seguridad, que daños ha provocado, cuales son sus consecuencias y quien pudo ser el responsable.
Algunos métodos para ocultar o eliminar las evidencias son los siguientes.

 

3.5.1 Edición de bitácoras

Una bitácora o log de sistema, es un registro de las actividades que ocurren en un sistema de cómputo, la cual queda almacenada en un fichero.
La información registrada incluye incidentes, funcionamientos anómalos, existencia de fallos en la configuración de las aplicaciones, desconexión de los dispositivos del sistema, cambios realizados en la configuración de los equipos, la utilización de recursos sensibles por parte de los usuarios del sistema, etc.
Más aún, estos registros digitales pueden mostrar actividades poco habituales en ciertos usuarios, como: intentos de acceder a la cuenta del super usuario, violar mecanismos de seguridad o indagar en lugares del sistema a los que no están autorizados para ingresar.
Los logs son una herramienta útil para mantener la seguridad del sistema pero también  presentan una serie de características que entorpecen su uso:

 - Redundancia de información.
Al registrar cada acción ocurrida, muchas veces se repite la misma información una y  otra vez, aumentando el tamaño del log sin aportar información relevante.
-No hay correlación en los eventos reportados
No todos los analizadores de logs cuentan con una función que permita relacionar los una serie de eventos registrados con algún tipo de  patrón u información que permita identificar claramente cuando el sistema esta siendo blanco de un ataque a su seguridad.
Este proceso de relación, se convierte en un trabajo tedioso que se complica mas cuando los usuarios no saben interpretar la información registrada en el log.

-Poca seguridad en el control de registros
El sistema guarda la información de la bitácora en ficheros que pueden ser leídos y modificados por otras aplicaciones. Muchas veces, el acceso a estos ficheros no esta restringido ni vigilado, por lo que son blanco fácil de ataques, siendo copiados, borrados o modificados.
Este ultimo punto es muy sensible, incluso cuando la bitácora puede registrar cuando alguien modifica el contenido, no puede indicar que fue información fue modificada, provocando que la información contenida en el log, ya no sea confiable.

 

3.5.2 Ocultar Información

En el contexto de la seguridad informática, ocultar la información puede ser un acto que tiene por propósito reforzar la seguridad de un sistema informáticos o bien una táctica usada por el atacante para pasar a través de los medios de seguridad sin ser detectado.
Existen métodos para ocultar la información en un medio digital, tales como las firmas digitales (fingerprinting), y las marcas de agua digitales (watermarking), las cuales a su vez están basadas en la estenografía.

 

3.5.3 Esteganografía       

La esteganografía es una disciplina que trata sobre técnicas que permiten la ocultación de mensajes u objetos, dentro de otros, llamados portadores, de modo que no se perciba su existencia.
Es un error común confundir la esteganografía con la criptografía, o bien pensar que la primera es una rama de la segunda. Ellas tienen objetivos distintos, aunque se complementan perfectamente para incrementar el nivel de seguridad en la mensajería encubierta. Con la criptografía (rama más común y conocida) se intenta cifrar o codificar un mensaje de modo tal que se haga ininteligible si no se posee el decodificador adecuado, pero la existencia del mensaje es conocida; en tanto que la esteganografía intenta ocultar el hecho mismo del envío, escondiendo el mensaje dentro de un portador de apariencia normal e inocua, y no necesariamente el mensaje oculto estará cifrado.
En la esteganografía digital tanto el mensaje como el portador es, en términos generales, un objeto software cualquiera. Aunque los medios portadores preferidos (por sus características) son archivos multimedia (imágenes, audio y vídeo).
Los mensajes ocultos muchas veces son cifrados (criptografía) previamente de alguna manera, lo cual le otorga un nivel de seguridad extra a la esteganografía: el sujeto receptor no sólo deberá conocer la existencia del mensaje, conocer el portador y la técnica (o clave) utilizada para esconderlo; sino que también deberá contar con el descifrador adecuado.

 

3.5.4 Nuevos métodos       

El watermarking o marca de agua digital es una técnica de ocultación de información que forma parte de las conocidas como esteganográficas. Su objetivo principal es poner de manifiesto el uso ilícito de un cierto servicio digital por parte de un usuario no autorizado.
Concretamente, esta técnica consiste en insertar un mensaje (oculto o no) en el interior de un objeto digital, como podrían ser imágenes, audio, vídeo, texto, software, etc. Dicho mensaje es un grupo de bits que contiene información sobre el autor o propietario intelectual del objeto digital tratado (copyright).
A una técnica de watermarking se le suele exigir que sea:

Imperceptible: Que sea invisible al observador

Que no degrade el objeto: Esto es que no altere el contenido del objeto ni la forma en que es percibido.

Robusta: La eliminación o reducción de la marca debe ser difícil o idealmente imposible sin degradar la calidad del objeto digital. Así mismo debe soportar procesos habituales de transformación (compresión, filtrado, conversión de formato, distorsión geométrica,…)

No debe ser ambigua: La marca debe identificar inequívocamente al propietario intelectual de tal forma que pueda reclamar su pertenencia.
Pese a estas premisas también existen marcas de agua que son perceptibles y que degradan el objeto, como por ejemplo, las marcas de agua superpuestas a imágenes indicando la propiedad de las mismas.

 

Existen tres tipos de ataques que pueden realizarse contra el watermarking:

Sustracción: es cuando se logra detectar y extraer el watermarking dejando la propiedad vulnerable.  

Deformación: si el watermarking no puede ser localizado o separado, el atacante esta dispuesto a aceptar una degradación en la calidad del objeto digital, por lo que puede aplicar transformaciones que distorsionen el objeto y por extensión el watermarking que pueda contener.

Adición: es cuando se agrega al objeto un watermark propio, de modo que no se puede demostrar que el anterior watermark preceda a la nueva marca impuesta.

 



Cuestionario

¿Que son las técnicas de intrusión y porque es importante conocerlas?

¿En que consiste la ingeniería social?

¿Cuáles son los métodos de fingerprinting y en que consisten?

¿Qué métodos pueden usar los intrusos para escanear una red inalámbrica y que información pueden obtener?

¿En que consiste la seguridad física y a que amenazas se enfrenta?

¿Qué es la explotación de sistemas?

Mencione cuatro formas comunes de explotación de sistemas y explique en que consisten.

Mencione los métodos usados por los atacantes para mantener el acceso a un sistema.

Mencione los métodos usados por los atacantes para eliminar la evidencia de sus actividades en el sistema.