1 / 44

ACI – 425 SEGURIDAD INFORMÁTICA

ACI – 425 SEGURIDAD INFORMÁTICA. Unidad 4: Seguridad en redes y sistemas operativos. Objetivos Específicos.

Download Presentation

ACI – 425 SEGURIDAD INFORMÁTICA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACI – 425SEGURIDAD INFORMÁTICA Unidad 4: Seguridad en redes y sistemas operativos

  2. Objetivos Específicos Aplicar los conceptos de seguridad informática a redes de computadoras en las organizaciones con vistas a detectar posibles fallos y mejorar la seguridad tanto en la red interna como en la posible red externa.

  3. Contenidos • Conceptos preliminares: Repaso básico de redes. • Traducción de direcciones de red (Network Address Translation – NAT). • Cortafuegos (Firewalls). • Proxys. • Redes privadas virtuales (Virtual Private Networks – VPN). • Control de Acceso. • Seguridad en intranet/extranet. • Capa de conexión segura (Secure Socket Layer - SSL). • Tipos de ataques a redes: • sniffing, • spoffing y • buffer overflow.

  4. Tunneling • Internet se construyó desde un principio como un medio inseguro. • Muchos de los protocolos utilizados hoy en día para transferir datos de una máquina a otra a través de la red carecen de algún tipo de encriptación o medio de seguridad que evite que nuestras comunicaciones puedan ser interceptadas y espiadas. • HTTP, FTP, POP3 y otros muchos protocolos ampliamente usados, utilizan comunicaciones que viajan en claro a través de la red. • Esto supone un grave problema en todas aquellas situaciones en las que queremos transferir entre máquinas información sensible, como pueda ser una cuenta de usuario (nombre de usuario y contraseña), y no tengamos un control absoluto sobre la red, con el objetivo de evitar que alguien pueda interceptar nuestra comunicación por medio de la técnica del hombre en el medio (man in the middle), como es el caso de la Red de redes.

  5. ¿Qué es el tunneling? • El problema de los protocolos que envían sus datos en claro, sin cifrarlos, es que cualquier persona que tenga acceso físico a la red en la que se sitúan nuestras máquinas puede ver dichos datos. • Es tan simple como utilizar un sniffer, que básicamente, es una herramienta que pone nuestra tarjeta de red en modo promiscuo (modo en el que las tarjetas de red operan aceptando todos los paquetes que circulan por la red a la que se conectan, sean o no para dicha tarjeta). • De este modo, alguien que conecte su máquina a una red y arranque un sniffer recibirá y podrá analizar por tanto todos los paquetes que circulen por la misma. • Si alguno de esos paquetes pertenece a un protocolo que envía sus comunicaciones en claro y contiene información sensible, dicha información se verá comprometida. • Si por el contrario, ciframos las comunicaciones con un sistema que permita entenderse sólo a las dos máquinas que participan de la comunicación, cualquiera que intercepte desde una tercera los paquetes, no podrá hacer nada con ellos, al no poder descifrar los datos.

  6. ¿Qué es el tunneling? (2) • Una forma de evitar el problema sin dejar de utilizar todos aquellos protocolos que carezcan de medios de encriptación, es usar una útil técnica llamada tunneling. • Básicamente, esta técnica consiste en abrir conexiones entre dos máquinas por medio de un protocolo seguro, como puede ser SSH (Secure SHell), a través de las cuales se realizaran las transferencias inseguras, que pasarán de este modo a ser seguras. • De esta analogía viene el nombre de la técnica, siendo la conexión segura (en este caso de ssh) el túnel por el cual enviamos nuestros datos para que nadie más, aparte de los interlocutores que se sitúan a cada extremo del túnel, pueda verles. • Este tipo de técnica requiere de forma imprescindible que se tenga una cuenta de acceso seguro en la máquina con la que se quiere comunicar.

  7. SSL - TLS • Secure Sockets Layer (SSL) y Transport Layer Security (TLS) -Seguridad de la Capa de Transporte-, su sucesor, son protocolos criptográficos que proporcionan comunicaciones seguras en Internet. • Existen pequeñas diferencias entre SSL 3.0 y TLS 1.0, pero el protocolo permanece sustancialmente igual. • La implementación comúnmente empleada es OpenSSL.

  8. SSL • SSL proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía. • Habitualmente, sólo el servidor es autenticado, es decir, se garantiza su identidad, mientras que el cliente se mantiene sin autenticar. • La autenticación mutua requiere un despliegue de infraestructura de claves públicas (PKI) para los clientes. • Los protocolos permiten a las aplicaciones cliente-servidor comunicarse de una forma diseñada para prevenir escuchas (eavesdropping), la falsificación de la identidad del remitente y mantener la integridad del mensaje.

  9. Pila del protocolo SSL

  10. Fases básicas en SSL • SSL implica una serie de fases básicas: • Negociar entre las partes el algoritmo que se usará en la comunicación. • Intercambio de claves públicas y autenticación basada en certificados digitales. • Encriptación del tráfico basado en cifrado simétrico. • Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. • Las implementaciones actuales proporcionan las siguientes opciones: • Para criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature Algorithm) o Fortezza; • Para cifrado simétrico: RC2, RC4, IDEA, DES, Triple DES o AES; • Funciones hash: MD5 o alguna de la familia SHA.

  11. Funcionamiento de SSL • El protocolo SSL intercambia registros. Opcionalmente, cada registro puede ser comprimido, cifrado y empaquetado con un código de autentificación del mensaje (MAC). • Cada registro tiene un campo de content_type que especifica el protocolo de nivel superior que se está usando. • Cuando se inicia la conexión, el nivel de registro encapsula otro protocolo, el protocolo handshake, que tiene el content_type 22.

  12. Operación del protocolo Record

  13. Estructuras handshake El cliente envía y recibe varias estructuras handshake en SSL: • Envía un mensaje ClientHello especificando una lista de conjunto de cifrados, métodos de compresión y la versión del protocolo SSL más alta permitida. Éste también envía bytes aleatorios que serán usados más tarde (llamados Challenge de Cliente o Reto). Además puede incluir el identificador de la sesión. • Después, recibe un registro ServerHello, en el que el servidor elige los parámetros de conexión a partir de las opciones ofertadas con anterioridad por el cliente. • Cuando los parámetros de la conexión son conocidos, cliente y servidor intercambian certificados (dependiendo de las claves públicas de cifrado seleccionadas). Estos certificados son actualmente X.509, pero hay también un borrador especificando el uso de certificados basados en OpenPGP. • El servidor puede requerir un certificado al cliente, para que la conexión sea mutuamente autenticada. • Cliente y servidor negocian una clave secreta común llamada master secret, posiblemente usando el resultado de un intercambio Diffie-Hellman, o simplemente encriptando una clave secreta con una clave pública que es desencriptada con la clave privada de cada uno. Todos los datos de claves restantes son derivados a partir de este master secret (y los valores aleatorios generados en el cliente y el servidor), que son pasados a través una función seudo aleatoria cuidadosamente elegida.

  14. Esquema del handshake Fase 1 Establecimiento de las capacidades de seguridad, incluyendo versión del protocolo, ID de sesión, suite de cifrado, método de compresión y los números aleatorios iniciales. Fase 2 El servidor puede enviar un certificado, intercambio de clave y solicitud de certificado. El servidor señala el final de la fase del mensaje hello. Fase 3 El cliente envía certificado, si se le solicita, el intercambio de clave, y puede que envíe la verificación de certificado. Fase 4 Intercambio de suite de cifrado y fin del protocolo handshake.

  15. Medidas de seguridad • TLS/SSL poseen una variedad de medidas de seguridad: • Numerando todos los registros y usando el número de secuencia en el MAC. • Usando un resumen de mensaje mejorado con una clave de forma que solo con dicha clave se pueda comprobar el MAC. Esto se especifica en el RFC 2104). • Protección contra varios ataques conocidos, incluidos ataques man in the middle attack, como los que implican un degradado del protocolo a versiones previas y por tanto, menos seguras, o conjuntos de cifrados más débiles. • El mensaje que finaliza el protocolo handshake (Finished) envía un hash de todos los datos intercambiados y vistos por ambas partes. • La función seudo aleatoria divide los datos de entrada en dos mitades y las procesa con algoritmos hash diferentes: MD5 y SHA. Después realiza sobre ellos una operación XOR. De esta forma se protege a sí mismo de la eventualidad de que alguno de estos algoritmos se revelen vulnerables en el futuro.

  16. Aplicaciones de SSL • SSL se ejecuta en una capa entre los protocolos de aplicación como HTTP, SMTP, NNTP y sobre el protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. • Aunque pueda proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP), se usa en la mayoría de los casos junto a HTTP para formar HTTPS. • HTTPS es usado para asegurar páginas World Wide Web en aplicaciones de comercio electrónico, utilizando certificados de clave pública para verificar la identidad de los extremos. • Aunque un número creciente de productos clientes y servidores pueden proporcionar SSL de forma nativa, muchos aún no lo permiten. • En estos casos, un usuario podría querer usar una aplicación SSL independiente como Stunnel para proporcionar encriptación. • No obstante, el Internet Engineering Task Force recomendó en 1997 que los protocolos de aplicación ofrecieran un forma de actualizar a TLS a partir de una conexión sin encriptación (plaintext), en vez de usar un puerto diferente para encriptar las comunicaciones – esto evitaría el uso de envolturas (wrappers) como Stunnel. • SSL también puede usarse para tunelar una red completa y crear una red privada virtual (VPN).

  17. Comando de openssl para crear llave root@mail1 /etc/postfix# openssl req -new -outform PEM -out postfix.cert -newkey rsa:2048 -nodes -keyout postfix.key –keyfo rm PEM -days 999 -x509 Generating a 2048 bit RSA private key .........................+++ ..........................................+++ writing new private key to 'postfix.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: CL State or Province Name (full name) [Some-State]: Region Metropolitana Locality Name (eg, city) []: Santiago Organization Name (eg, company) [Internet Widgits Pty Ltd]: uamericas Organizational Unit Name (eg, section) []: informatica Common Name (eg, YOUR name) []: profe Email Address []:profe@uamericas.cl Ejemplo tomado de http://flurdy.com/docs/postfix/#conf_auth

  18. SASL • La capa de seguridad y autenticación simple (Simple Authentication and Security Layer – SASL) es un entorno de trabajo para autenticación y autorización en protocolos de Internet. • Separa los mecanismos de autenticación de los protocolos de la aplicación permitiendo, en teoría, a cualquier protocolo de aplicación que use SASL usar cualquier mecanismo de autenticación soportado por SASL. • A pesar de que mediante SASL sólo se maneja la autenticación y que se requieren otros mecanismos --como por ejemplo TLS-- para cifrar el contenido que se transfiere, SASL proporciona medios para un uso negociado del mecanismo elegido. • Un mecanismo SASL se modela como una sucesión de retos y respuestas.

  19. Mecanismos SASL • Los mecanismos definidos por SASL incluyen: • "EXTERNAL", aquí la autenticación está implícita en el contexto (p.ej. para protocolos que ya usan IPsec o TLS). • "ANONYMOUS", para el acceso de invitados sin autentificar. • "PLAIN", un mecanismo de contraseña simple en texto claro. • "OTP" para el sistema que evolucionó de S/KEY y que está definido en RFC 2289. • "NTLM". • Se prevé soportar los mecanismos GSSAPI en una familia de nomenclatura de mecanismos. • Lo protocolos definen su representación de intercambios SASL con un perfil. • Un protocolo tiene un nombre de servicio como "LDAP" en un registro compartido con GSSAPI y Kerberos. • Entre los protocolos que ahora mismo usan SASL se incluyen IMAP, LDAP, POP3, SMTP y XMPP.

  20. Gestión de seguridad en redes TCP/IP: SNMP • El Protocolo Simple de administración de red o SNMP (RFC 1157) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. • Es parte de la suite de protocolos TCP/IP. • SNMP permite a los administradores supervisar el desempeño de la red, buscar y resolver sus problemas, y planear su crecimiento. • Las versiones de SNMP más utilizadas son dos: • SNMP versión 1 (SNMPv1) y • SNMP versión 2 (SNMPv2). • Ambas versiones tienen varias características en común, pero SNMPv2 ofrece mejoras. • SNMP en su última versión (SNMPv3) posee cambios significativos con relación a sus predecesores, sobre todo en aspectos de seguridad, sin embargo no ha sido aceptado mayoritariamente por la industria.

  21. Componentes básicos de SNMP • Una red administrada a través SNMP consiste de tres componentes claves: • Dispositivos administrados. • Agentes. • Sistemas administradores de red (NMS’s) • Un dispositivo administrado es un nodo de red que contiene un agente SNMP y reside en una red administrada. Estos recogen y almacenan información de administración, la cual es puesta a disposición de los NMS’s usando SNMP. Los dispositivos administrados, a veces llamados elementos de red, pueden ser routers, servidores de acceso, switches, bridges, hubs, computadores o impresoras. • Un agente es un módulo de software de administración de red que reside en un dispositivo administrado. Un agente posee un conocimiento local de información de administración, la cual es traducida a un formato compatible con SNMP. • Un NMS ejecuta aplicaciones que supervisan y controlan a los dispositivos administrados. Los NMS’s proporcionan el volumen de recursos de procesamiento y memoria requeridos para la administración de la red. Uno o más NMS’s deben existir en cualquier red administrada.

  22. Contexto del protocolo SNMP

  23. Comandos básicos de SNMP • Los dispositivos administrados son supervisados y controlados usando cuatro comandos SNMP básicos: • lectura, • escritura, • notificación y • operaciones transversales. • El comando de lectura es usado por un NMS para supervisar elementos de red. El NMS examina diferentes variables que son mantenidas por los dispositivos administrados. • El comando de escritura es usado por un NMS para controlar elementos de red. El NMS cambia los valores de las variables almacenadas dentro de los dispositivos administrados. • El comando de notificación es usado por los dispositivos administrados para reportar eventos en forma asincrónica a un NMS. Cuando cierto tipo de evento ocurre, un dispositivo administrado envía una notificación al NMS. • Las operaciones transversales son usadas por el NMS para determinar qué variables soporta un dispositivo administrado y para recoger secuencialmente información en tablas de variables, como por ejemplo, una tabla de rutas.

  24. Base de información de administración SNMP (MIB) • Una base de información de administración (MIB) es una colección de información que está organizada jerárquicamente. • Las MIB’s son accedidas usando un protocolo de administración de red, como por ejemplo, SNMP. • Un objeto administrado (algunas veces llamado objeto MIB, objeto, o MIB) es uno de cualquier número de características específicas de un dispositivo administrado. Los objetos administrados están compuestos de una o más instancias de objeto, que son esencialmente variables. • Existen dos tipos de objetos administrados: Escalares y tabulares. Los objetos escalares definen una simple instancia de objeto. Los objetos tabulares definen múltiples instancias de objeto relacionadas que están agrupadas conjuntamente en tablas MIB. • Un ejemplo de un objeto administrado es atInput, que es un objeto escalar que contiene una simple instancia de objeto, el valor entero que indica el número total de paquetes AppleTalk de entrada sobre una interfaz de un router. • Un identificador de objeto (object ID) únicamente identifica un objeto administrado en la jerarquía MIB. La jerarquía MIB puede ser representada como un árbol con una raíz anónima y los niveles que son asignados por diferentes organizaciones.

  25. Jerarquías asignadas por las diferentes organizaciones

  26. Árbol MIB (2) • Los identificadores de los objetos ubicados en la parte superior del árbol pertenecen a diferentes organizaciones estándares, mientras los identificadores de los objetos ubicados en la parte inferior del árbol son colocados por las organizaciones asociadas. • Los vendedores pueden definir ramas privadas que incluyen los objetos administrados para sus propios productos. • Las MIB’s que no han sido estandarizadas típicamente están localizadas en la rama experimental. • El objeto administrado atInput podría ser identificado por el nombre de objeto iso.identified-organization.dod.internet.private.enterprise.cisco.temporary.AppleTalk.atInput o por el descriptor de objeto equivalente 1.3.6.1.4.1.9.3.3.1.

  27. MIB - 2 • El corazón del árbol MIB se encuentra compuesto de varios grupos de objetos, los cuales en su conjunto son llamados mib-2. • Los grupos son los siguientes: • System (1) • Interfaces (2) • AT (3) • IP (4) • ICMP (5) • TCP (6) • UDP (7) • EGP (8) • Transmission (10) • SNMP (11)

  28. Mensajes SNMP • Para realizar las operaciones básicas de administración, el protocolo SNMP utiliza un servicio no orientado a la conexión (UDP) para enviar un pequeño grupo de mensajes (PDU’s) entre los administradores y agentes. • Utilizar un mecanismo de este tipo asegura que las tareas de administración de red no afectarán al rendimiento global de la misma, ya que se evita la utilización de mecanismos de control y recuperación como los de un servicio orientado a la conexión (TCP). • Los puertos asignados por la IANA para SNMP son: Puerto Protocolo Descripción 161 tcp SNMP 161 udp SNMP 162 tcp SNMP-trap 162 udp SNMP-trap

  29. Mensajes SNMP (2) • GetRequest: A través de este mensaje el NMS solicita al agente retornar el valor de un objeto de interés mediante su nombre. En respuesta el agente envía una respuesta indicando el éxito o fracaso del requerimiento. Si el requerimiento fue adecuado, el mensaje resultante también contendrá el valor del objeto solicitado. Este mensaje puede ser usado para recoger un valor de un objeto, o varios valores de varios objetos, a través del uso de listas. • GetNextRequest: Este mensaje es usado para recorrer una tabla de objetos. Una vez que se ha usado un mensaje GetRequest para recoger el valor de un objeto, puede ser utilizado el mensaje GetNextRequest para repetir la operación con el siguiente objeto de la tabla. Siempre el resultado de la operación anterior será utilizado para la nueva consulta. De esta forma un NMS puede recorrer una tabla de largo variable hasta que haya extraído toda la información para cada fila existente. • SetRequest: Este tipo de mensaje es utilizado por el NMS para solicitar a un agente modificar valores de objetos. Para realizar esta operación el NMS envía al agente una lista de nombres de objetos con sus correspondientes valores. • GetResponse: Este mensaje es usado por el agente para responder un mensaje GetRequest, GetNextRequest, o SetRequest.

  30. Mensajes SNMP (3) • Trap: Un trap es generado por el agente para reportar ciertas condiciones y cambios de estado a un proceso de administración. SNMP inicialmente soportó un número limitado de traps desde los dispositivos administrados: • Cold start: Indica que el agente ha sido inicializado o reinicializado. • Warm start: Indica que la configuración del agente ha cambiado. • Link down: Indica el cambio en el estado (fuera de servicio) de una interfaz de comunicación. • Link up: Indica el cambio en el estado (en servicio) de una interfaz de comunicación. • Authentication failure: Indica que el agente ha recibido un requerimiento de un administrador no autorizado. • EGP neighbor loss: Indica que en sistemas en que los routers están utilizando el protocolo EGP, un equipo colindante se encuentra fuera de servicio. • Todos los nuevos traps que son incluidos por los vendedores se encuentran clasificados en la categoría enterprise. • GetBulkRequest: Este mensaje es usado por un NMS que utiliza la versión 2 del protocolo SNMP típicamente cuando es requerida una larga transmisión de datos, tal como la recuperación de largas tablas. En este sentido es similar al mensaje GetNextRequest usado en la versión 1 del protocolo, sin embargo, GetBulkRequest es un mensaje que implica un método mucho más rápido y eficiente, ya que a través de un solo mensaje es posible solicitar valores de múltiples objetos administrados. • InformRequest: Un NMS que utiliza la versión 2 del protocolo SNMP transmite un mensaje de este tipo a otro NMS con las mismas características, para notificar información sobre objetos administrados.

  31. SNMP v3 • Define capacidades de seguridad en conjunto para emplear sobre SNMP v1 y v2:

  32. Tipos de ataques a redes • Exploit (explotar, aprovechar) es el nombre con el que se identifica un programa informático malicioso, o parte del programa, que trata de forzar alguna deficiencia o vulnerabilidad de otro programa. • El fin puede ser la destrucción o inhabilitación del sistema atacado, aunque normalmente se trata de violar las medidas de seguridad para poder acceder al mismo de forma no autorizada y emplearlo en beneficio propio o como origen de otros ataques a terceros. • Los exploits se pueden caracterizar según las categorías de vulnerabilidades utilizadas: • de desbordamiento de buffer. • de condición de carrera (race condition). • de error de formato de cadena (format string bugs). • de Cross Site Scripting (XSS). • de Inyección SQL. • de Inyección de Caracteres (CRLF). • de denegación del servicio (DoS) • de Inyección múltiple HTML (Multiple HTML Injection). • de ventanas engañosas o mistificación de ventanas (Window Spoofing).

  33. Sniffing • Un sniffer (un sniffer de paquetes), se define como una pieza de software o hardware que se conecta a una red informática y supervisa todo el tráfico que pasa por la misma. • Registra la información que envían los periféricos, así como la actividad realizada en un determinado ordenador. • Al igual que los dispositivos de intervención de teléfonos que usan las autoridades para escuchar conversaciones de otras personas, un programa de sniffing permite a alguien escuchar las conversaciones entre ordenadores que fluyen por las redes.

  34. Riesgos • Son una amenaza grave para la seguridad no sólo de una máquina sino también de toda una red. • Lamentablemente, una gran cantidad de tráfico confidencial viaja en claro, sin ningún tipo de cifrado, por las redes de la mayoría de las empresas. • Ese es el entorno ideal para un sniffer, que puede acceder de forma transparente a esa información, y permitir que alguien abuse de su conocimiento. • Por eso es muy importante realizar búsquedas periódicas de sniffers dentro de las redes de cualquier empresa, no sólo por el daño que puedan causar, sino también porque encontrarlos es señal de que se ha producido y explotado una grave brecha y hay que tomar medidas inmediatas. • Existen casos en los que un sniffer no es peligroso. A veces, explorando una red en busca de sniffers se detectará que hay algunos, por ejemplo, en máquinas que dependen del departamento de administración de redes. • Esto puede ocurrir porque, en realidad, un sniffer no se diferencia demasiado de una herramienta de monitorización y diagnosis del tráfico de red que puede estar siendo legítimamente utilizada por personal encargado de la administración de la red. • Otros dispositivos, especialmente routers y hub, suelen producir falsos positivos que hay que tener en cuenta.

  35. Usos típicos de un sniffer • Captura automática de contraseñas enviadas en claro y nombres de usuario de la red. Esta capacidad es utilizada en muchas ocasiones por hackers para atacar sistemas a posteriori. • Conversión del tráfico de red en un formato entendible por los humanos. • Análisis de fallos para descubrir problemas en la red, tales como: ¿por qué el computador A no puede establecer una comunicación con el computador B? • Medición del tráfico, mediante el cual es posible descubrir cuellos de botella en algún lugar de la red. • Detección de intrusos, con el fin de descubrir hackers. • Existen programas específicos llamados Sistemas de Detección de intrusos (Intrusion Detection System - IDS ), que son prácticamente sniffers con funcionalidades específicas. • Creación de registros de red, de modo que los hackers no puedan detectar que están siendo investigados.

  36. Búsqueda de sniffers • Hay diferentes aproximaciones sobre cómo detectar un sniffer, según se tenga acceso local a la máquina, o bien haya que descubrirlos desde alguna máquina remota. • El objetivo que la mayoría de pruebas tratan de conseguir es que la máquina que tiene la tarjeta de red en modo promiscuo se traicione a sí misma, revelando que ha tenido acceso a información que no iba dirigida a ella y que, por tanto, tiene un sniffer. • Éste es un objetivo ambicioso y complejo que, lamentablemente, puede no ser alcanzado, ya que a veces resulta completamente imposible detectar un sniffer. • Por ejemplo, si el sniffer ha sido diseñado exclusivamente para esta tarea (generalmente dispositivos hardware), entonces no devolverá jamás un paquete, no establecerá nunca una comunicación, sino que permanecerá siempre en silencio y su detección remota será, simplemente, imposible. • La detección de este tipo de sniffers sólo puede hacerse por inspección directa de los dispositivos conectados a la red.

  37. Técnicas de detección local • Aunque no se trata de una tarea trivial, ésta es, con mucho, la situación en que resulta más sencillo localizar un sniffer. • Normalmente basta con revisar la lista de programas en ejecución para detectar alguna anomalía ( CTRL+ALT+SUPR o psaux|more ). • Otro buen sitio donde mirar es en la lista de los programas que se inician automáticamente al encender el PC archivos /etc/rc.d/rcX.d/* o .bashrc, etc... en un sistema Unix y autoexec.bat o ciertas claves del Registry en una máquina Windows) o las tareas programadas (cron, at). • Es importante destacar que los ejemplos anteriores son sólo triviales y no pretenden ser una enumeración exhaustiva. • Hay decenas de posibilidades, algunas muy ingeniosas y nada elementales. • Cualquier novedad o anomalía debe ser investigada en profundidad porque podría revelar no sólo un sniffer en funcionamiento sino también otros programas que supongan una grave amenaza: virus, troyanos, gusanos, etc... • Herramientas de detección local: En una máquina con alguno de los sistemas operativos de la familia Unix se dispone de una utilidad que resulta especialmente valiosa en la lucha contra los sniffers: ifconfig, que informa del estado de todas las interfaces de red del sistema e indica si alguna de ellas se encuentra en modo promiscuo. Evidentemente, esta metodología de detección local de sniffers depende del buen funcionamiento de ifconfig.

  38. Detección remota desde el mismo segmento de red • Es en este entorno donde el administrador de seguridad tiene que realizar su investigación con mayor frecuencia. • Existen técnicas heurísticas útilies, aunque tienen limitaciones: Puede que exista un sniffer en la red que no sea detectado (falso negativo) o que máquinas o usuarios completamente inocentes sean detectados como sniffers (falsos positivos). • Por su ámbito de aplicación, estas técnicas se pueden dividir en dos grupos: • Dependientes del sistema operativo. Como su propio nombre indica, estas técnicas usan algún fallo o característica propia de determinados sistemas operativos (o parte de ellos, como el subsistema TCP/IP) para reconocer a una tarjeta de red en modo promiscuo. La ventaja que tienen es su excelente rendimiento cuando se exploran máquinas que tienen justamente la versión del sistema operativo del que la técnica obtiene partido. La desventaja fundamental es el gran número de falsos negativos que ocasiona debido a que en muchos casos las implementaciones de la pila TCP/IP varían entre versiones del mismo sistema operativo con la acción a nivel físico, es volver a inspeccionar la MAC de destino, aunque también se puede hacer a nivel de IP. • No dependientes del sistema operativo. En general son menos fiables y menos concluyentes. Suelen basarse en suposiciones sobre el comportamiento de determinados sniffers, que pueden no darse en casos concretos, convirtiendo alguna de estas técnicas en completamente inútiles. Otras son más generales, pero poco resolutivas, porque no clasifican, simplemente dan indicios que en muchos casos no son suficientes. No suelen proporcionar muchos falsos positivos, aunque pueden ser burladas y utilizadas para inculpar a terceras personas. Tampoco falsos negativos, aunque la última generación de sniffers ya incorpora técnicas de evasión bastante sofisticadas que evita su detección.

  39. Spoofing • Uso de técnicas de suplantación de identidad generalmente con usos maliciosos o de investigación. En general, se puede englobar dentro de spoofing cualquier tecnología de red susceptible de sufrir suplantaciones de identidad. • Existen diferentes tipos: • IP spoofing: Sustituir IP origen de un paquete TCP/IP por otra IP a la cual se desea suplantar. • ARP spoofing: Construcción de tramas ARP de solicitud y respuesta falseadas con el objetivo de falsear la tabla ARP (relación IP-MAC) de una víctima y forzarla a que envíe los paquetes a un host atacante en lugar de hacerlo a su destino legítimo. • DNS spoofing: Falsear relación "Nombre de dominio-IP" ante una consulta de resolución de nombre: resolver con una dirección IP falsa un cierto nombre DNS o viceversa. Esto se consigue falseando las entradas de la relación Nombre de dominio-IP de un servidor DNS, mediante alguna vulnerabilidad del servidor en concreto o por su confianza hacia servidores poco fiables. Las entradas falseadas de un servidor DNS son susceptibles de infectar (envenenar) el caché DNS de otro servidor diferente (DNS Poisoning).

  40. Spoofing (2) • Web spoofing: Enruta la conexión de una víctima a través de una página falsa hacia otras páginas WEB con el objetivo de obtener información de dicha víctima (páginas WEB visitas, información de formularios, contraseñas etc.). La página WEB falsa actúa a modo de proxy solicitando la información requerida por la víctima a cada servidor original y saltándose incluso la protección SSL. El atacante puede modificar cualquier información desde y hacia cualquier servidor que la víctima visite. La víctima puede abrir la página Web falsa mediante cualquier tipo de engaño, incluso abriendo un simple LINK. Es difícilmente detectable, quizá la mejor medida es algún plugin del navegador que muestre en todo momento la IP del servidor visitado, si la IP nunca cambia al visitar diferentes páginas Web significará que probablemente estemos sufriendo este tipo de ataque. • e-mail spoofing: Usada para enviar e-mails hoax, como suplemento perfecto para el uso de phising y para SPAM. Es tan sencilla como usar un servidor SMTP configurado para tal fin. Para protegerse se debería comprobar la IP del remitente, para averiguar si realmente esa ip pertenece a la entidad que indica en el mensaje y la dirección del servidor SMTP utilizado. Otra técnica de protección es el uso de firmas digitales.

  41. Desbordamiento de búfer • Un desbordamiento de búfer (buffer overflow) es un error de software que se produce cuando se copia una cantidad más grande de datos sobre un área más pequeña sin interrumpir la operación, sobrescribiendo otras zonas de memoria. • En algunas ocasiones eso puede suponer la posibilidad de alterar el flujo del programa pudiendo hacer que éste realice operaciones no previstas. • Esto es posible dado que en las arquitecturas comunes de ordenadores, la memoria no tiene separación entre la dedicada a datos y a programa. • Si el programa que tiene el error en cuestión tiene privilegios especiales se convierte además en un fallo de seguridad. • El código copiado especialmente preparado para obtener los privilegios del programa atacado se llama shellcode.

  42. Referencias en Internet(Conjunto mínimo en español) • Seguridad en UNIX y Redes (otro link) • Criptonomicon • Secure Socket Layer (SSL) • Transport Layer Security • Centro de información de SSL - VeriSign, Inc. • Firewalls, Routers y Proxys • BULMA: iptables y NAT para vagos • SASL • SNMP • Introducción al arte del sniffing • Guía breve de detección de sniffers en una red • Spoofing

  43. Referencias en Internet(en Inglés) • Network Access Control Learning Guide • Information Security Learning Guides • Página oficial de SNMP • Net-SNMP • Página oficial de OpenSSL • Guide to IP Layer Network Administration with Linux V0.4.4 Martin A. Brown

  44. Bibliografía en Textos • Eric Maiwald “Fundamentos de Seguridad de Redes” Parte III. Tecnologías de seguridad. • William Stalings “Fundamentos de Seguridad en Redes: Aplicaciones y Estándares” Segunda Parte. Aplicaciones de seguridad en redes. • Richard Bejtlich “El Tao De La Monitorización De La Seguridad De Redes” Prentice Hall 1ra ed. 2005, ISBN: 8420546003

More Related