La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

17/01/2014Trabajo Redes - ETSE UV - 20072 PREÁMBULO 1.- Resumen 2.- Introducción 3.- Fundamentos de TCP 3.1.- El protocolo TCP 3.2.-Funciones de TCP 3.3.-

Presentaciones similares


Presentación del tema: "17/01/2014Trabajo Redes - ETSE UV - 20072 PREÁMBULO 1.- Resumen 2.- Introducción 3.- Fundamentos de TCP 3.1.- El protocolo TCP 3.2.-Funciones de TCP 3.3.-"— Transcripción de la presentación:

1

2 17/01/2014Trabajo Redes - ETSE UV PREÁMBULO 1.- Resumen 2.- Introducción 3.- Fundamentos de TCP El protocolo TCP 3.2.-Funciones de TCP Formato de los Segmentos TCP Funcionamiento de TCP La Ventana Deslizante 4.- Reseteo de Conexiones TCP Cierre de conexión cordial (FIN) Cierre por condición de error grosera Ejemplo de un ataque 5.- Contramedidas 6.- Referencias

3 17/01/2014Trabajo Redes - ETSE UV RESUMEN Un ataque de reseteo de conexión consiste en abortar de forma ilegítima una conexión TCP establecida. Un ataque de reseteo de conexión consiste en abortar de forma ilegítima una conexión TCP establecida. Debido a un fallo en la gestión de segmentos TCP del tipo RST Debido a un fallo en la gestión de segmentos TCP del tipo RST Se necesitan ciertos datos para realizarlo Se necesitan ciertos datos para realizarlo Grave según la situación Grave según la situación Soluciones propuestas por la IETF Soluciones propuestas por la IETF

4 17/01/2014Trabajo Redes - ETSE UV INTRODUCCIÓN TCP: Protocolo de transporte más utilizado => Web, Correo, SSH… TCP: Protocolo de transporte más utilizado => Web, Correo, SSH… Cada aplicación depende en mayor o menor medida de TCP => +/- gravedad del ataque Cada aplicación depende en mayor o menor medida de TCP => +/- gravedad del ataque HTTP => - grave (sólo recargar la página) HTTP => - grave (sólo recargar la página) VoIP => señalización + grave. Pérdida de información VoIP => señalización + grave. Pérdida de información BGP => ++grave. Se pierden las entradas de la tabla de rutas que se habían adquirida en esa conexión. Pérdida de conectividad. BGP => ++grave. Se pierden las entradas de la tabla de rutas que se habían adquirida en esa conexión. Pérdida de conectividad.

5 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP El protocolo TCP Transmission Control Protocol (1973 – 1974), Vint Cerf y Robert Kahn es uno de los protocolos fundamentales en Internet. Garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron Permite distinguir diferentes aplicaciones en una máquina =>Puertos IETF RFC 793.

6 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funciones del TCP Capa intermedia entre IP y Aplicación Añade las funciones necesarias para prestar un servicio que permita que la comunicación entre dos sistemas se efectúe: libre de errores, sin pérdidas y con seguridad

7 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Formato de segmentos TCP

8 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP Las conexiones TCP se componen de tres etapas: 1.Establecimiento de Conexión => Negociación en tres pasos (3-way handshake) 2.Transferencia de Datos 3.Fin de Conexión => Negociación en 4 pasos (4- way handsake)

9 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP Establecimiento de Conexión => Negociación en Tres pasos (3-way handshake)

10 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP Transferencia de Datos

11 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP Fin de Conexión => Negociación en 4 pasos (4-way handsake)

12 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP TCP usa el concepto de número de puerto para identificar a las aplicaciones emisoras y receptoras. TCP usa el concepto de número de puerto para identificar a las aplicaciones emisoras y receptoras. Cada lado de la conexión TCP tiene asociado un número de puerto (de 16 bits sin signo, con lo que existen puertos posibles) asignado por la aplicación emisora o receptora. Cada lado de la conexión TCP tiene asociado un número de puerto (de 16 bits sin signo, con lo que existen puertos posibles) asignado por la aplicación emisora o receptora.

13 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP Clasificación de puertos: Clasificación de puertos: Bien Conocidos (Well-Know Ports): Bien Conocidos (Well-Know Ports): Establecidos por la IANA (Internet Assigned Numbers Authority) Establecidos por la IANA (Internet Assigned Numbers Authority) Aplicaciones = > Servidores que quedan a la escucha de peticiones (SSH, HTTP,FTP…)Aplicaciones = > Servidores que quedan a la escucha de peticiones (SSH, HTTP,FTP…)

14 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP Funcionamiento de TCP Clasificación de puertos: Clasificación de puertos: Registrados y dinámicos/privados (efímeros): Registrados y dinámicos/privados (efímeros): Empleados por aplicaciones de usuario. Temporales Empleados por aplicaciones de usuario. Temporales No tienen significado fuera de TCP No tienen significado fuera de TCP

15 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP La ventana Deslizante Sistema de control de flujo de información usado por TCP Sistema de control de flujo de información usado por TCP Es una ventana de duración variable que permite a un emisor transmitir un número de unidades de datos antes de que se reciba un ACK o antes de que ocurra un evento especificado. Es una ventana de duración variable que permite a un emisor transmitir un número de unidades de datos antes de que se reciba un ACK o antes de que ocurra un evento especificado. Sistema simple: cada segmento TCP contiene un campo ventana que indica que cantidad de bytes está dispuesto a recibir el host.Sistema simple: cada segmento TCP contiene un campo ventana que indica que cantidad de bytes está dispuesto a recibir el host.

16 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP La ventana Deslizante

17 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP La ventana Deslizante Contiene los números de secuencia correspondientes a los segmentos TCP que se están transmitiendo- recibiendo. La utilidad de la ventana deslizante en el control de flujo de la información radica en que: TCP considera válidos solamente aquellos segmentos-datos que se encuentran dentro de la ventana de recepción, el resto son descartados.

18 17/01/2014Trabajo Redes - ETSE UV FUNDAMENTOS DE TCP La ventana Deslizante Influye de manera directa en el rendimiento de la conexión Máx Tasa Transmisión = Ventana / RTT RTT: Round-Trip Time (Tiempo de ida y vuelta Con el fin de evitar que la ventana TCP imponga un límite artificial en la tasa de transferencia, a menudo, se suele utilizar un tamaño de ventana superior al necesario => PROBLEMAS

19 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Cierre de Conexión Cordial (FIN) Aborta una conexión previamente establecida, provocando Denegación de Servicio (DoS).

20 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Cierre de Conexión Abrupta (RST) Aborta una conexión previamente establecida, provocando Denegación de Servicio (DoS). Condición de error en alguno de los hosts: Intento de conexión a un puerto dónde no hay aplicación escuchando Terminación anormal del proceso en comunicación => se abortan todas las comunicaciones del proceso.

21 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Para realizar el ataque de reseteo de conexiones TCP, un atacante necesitará un segmento RST falsificado Y para ello deberá adivinar: 1.IP Origen 2.IP Destino 3.Puerto Origen 4.Puerto Destino MUCHAS COSAS, ¿NO?

22 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP No hay tanto que adivinar… IP Servidor: Seguro que es conocida IP Cliente: Puede ser conocida mediante sniffing Puerto Servidor: usualmente será conocido Puerto Cliente: ?? PERO….

23 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Puerto Cliente: ¿65536 puertos…? NO. 1.- Los puertos BIEN CONOCIDOS no los usará 2.- La mayoría de los sistemas eligen sus puertos efímeros de un subespacio de todo el espacio de puertos disponible. Sistema Operativo Puertos efímeros Linux Kernel 2.6 y MS Windows Solaris y AIX FreeBSD y OpenBSD NetBSD

24 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Puerto Cliente: ¿65536 puertos…? NO. 3.- Muchas implementaciones eligen sus puertos de forma incremental. Es decir, si una conexión saliente usa el puerto 1025, la siguiente usará el 1025, etc. ¡NO ES TAN DIFÍCIL AVERIGUAR EL PUERTO CLIENTE! ¡NO ES TAN DIFÍCIL AVERIGUAR EL PUERTO CLIENTE!

25 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Nº Secuencia válido Ahora el atacante ya tiene todos los datos, sólo le falta: Nº Secuencia válido TCP-RESET lo hará por tí

26 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP Escenarios de Ataque: 1.- Ventana TCP inmóvil: El atacante deberá escanear todo el espacio de números de secuencia TCP, enviando segmentos cuyos números de secuencia estarían separados entre sí por un valor aproximado al tamaño de la ventana utilizada por el sistema en cuestión. 2.- Ventana TCP móvil: Velocidad promedio igual a la tasa de transferencia promedio de la conexión TCP. En esta situación tendremos dos posibles formas de realizar el ataque. 1ª Forma: enviar sucesivos segmentos RST con distintos números de secuencia, pero teniendo en cuenta tanto el tamaño de la ventana TCP como la tasa de transferencia de datos de la conexión 2ª Forma: segmentos RST a intervalos regulares, pero todos ellos con el mismo número de secuencia.

27 17/01/2014Trabajo Redes - ETSE UV RESETEO DE CONEXIONES TCP tcp-reset -c :1024 -s :80 -t client -r 60 -W Segmento RST

28 17/01/2014Trabajo Redes - ETSE UV CONTRAMEDIDAS El IETF ha propuesto una serie de medidas que podrían evitar este tipo de ataques: 1.- Elección aleatoria de los puertos efímeros: Si se eligen los puertos efímeros de forma aleatoria dentro del rango , sería virtualmente imposible para un atacante adivinar a ciegas1, el puerto usado por el cliente, y como consecuencia, tanto el tiempo como la cantidad de paquetes requeridos para realizar el ataque en cuestión serían notablemente más elevados.

29 17/01/2014Trabajo Redes - ETSE UV CONTRAMEDIDAS El IETF ha propuesto una serie de medidas que podrían evitar este tipo de ataques: 2.- Modificación al procesamiento de los segmentos RST: Punto 1: En caso de recibir un segmento RST con un número de secuencia fuera de la venta TCP, el mismo sería descartado. (RFC 793) Punto 2: Si el segmento RST recibido contiene como número de secuencia TCP, el próximo número de secuencia que se espera recibir, se abortará la conexión TCP correspondiente.(más restrictivo que el actual) Punto 3: Si el segmento RST recibido contiene un número de secuencia TCP que se encuentra dentro de la ventana TCP, pero no cumple con la condición del punto 2, se responderá a dicho segmento con RST con un ACK. (Desafío ACK)

30 17/01/2014Trabajo Redes - ETSE UV CONTRAMEDIDAS Punto 3: El desafío ACK (challenge ACK) RSTILEGÍTIMO RST ILEGÍTIMO Se envía ACK (Challenge ACK) Cierre OK

31 17/01/2014Trabajo Redes - ETSE UV REFERENCIAS Dafal, M Improving TCP's Resitance to Blind In-window Attacks. IETF Internet-Draft Gont, F ICMP attacks against TCP. IETF Internet Draft Larsen, M., Gont, F Port Randomization. IETF Internet-Draft Boletín de Seguridad UNAM-CERT Vulnerabilidades en TCP Gont's Website: Wikipedia: Montañana, R (Apuntes de Redes) Tema 5: El Nivel de Transporte en Internet Montañana, R (Material Auxiliar) Cap 3: La capa de enlace


Descargar ppt "17/01/2014Trabajo Redes - ETSE UV - 20072 PREÁMBULO 1.- Resumen 2.- Introducción 3.- Fundamentos de TCP 3.1.- El protocolo TCP 3.2.-Funciones de TCP 3.3.-"

Presentaciones similares


Anuncios Google