La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Juan Raúl Garcia Canet - 4º Ingeniería Informática

Presentaciones similares


Presentación del tema: "Juan Raúl Garcia Canet - 4º Ingeniería Informática"— Transcripción de la presentación:

1 Juan Raúl Garcia Canet - 4º Ingeniería Informática
RESETEO "ILEGÍTIMO" DE CONEXIONES TCP Trabajo Redes - ETSE UV

2 Juan Raúl Garcia Canet - 4º Ingeniería Informática
PREÁMBULO 1.- Resumen 2.- Introducción 3.- Fundamentos de TCP 3.1.- El protocolo TCP 3.2.-Funciones de TCP 3.3.- Formato de los Segmentos TCP 3.4.- Funcionamiento de TCP 3.5.- La Ventana Deslizante 4.- Reseteo de Conexiones TCP 4.1.- Cierre de conexión cordial (FIN) 4.2.- Cierre por condición de error “grosera” Ejemplo de un ataque 5.- Contramedidas 6.- Referencias 24/03/2017 Trabajo Redes - ETSE UV Trabajo Redes - ETSE UV

3 Trabajo Redes - ETSE UV - 2007
1.- RESUMEN 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 Se necesitan ciertos datos para realizarlo “Grave” según la situación Soluciones propuestas por la IETF 24/03/2017 Trabajo Redes - ETSE UV

4 Trabajo Redes - ETSE UV - 2007
2.- INTRODUCCIÓN TCP: Protocolo de transporte más utilizado => Web, Correo, SSH… Cada aplicación depende en mayor o menor medida de TCP => +/- gravedad del ataque HTTP => - grave (sólo recargar la página) 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. 24/03/2017 Trabajo Redes - ETSE UV

5 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.1.- 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. 24/03/2017 Trabajo Redes - ETSE UV

6 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.2.- 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 24/03/2017 Trabajo Redes - ETSE UV

7 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.3.- Formato de segmentos TCP 24/03/2017 Trabajo Redes - ETSE UV

8 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.4.- Funcionamiento de TCP Las conexiones TCP se componen de tres etapas: Establecimiento de Conexión => Negociación en tres pasos (3-way handshake) Transferencia de Datos Fin de Conexión => Negociación en 4 pasos (4-way handsake) 24/03/2017 Trabajo Redes - ETSE UV

9 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.4.- Funcionamiento de TCP Establecimiento de Conexión => Negociación en Tres pasos (3-way handshake) 24/03/2017 Trabajo Redes - ETSE UV

10 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.4.- Funcionamiento de TCP Transferencia de Datos 24/03/2017 Trabajo Redes - ETSE UV

11 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.4.- Funcionamiento de TCP Fin de Conexión => Negociación en 4 pasos (4-way handsake) 24/03/2017 Trabajo Redes - ETSE UV

12 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.4.- Funcionamiento de TCP 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. 24/03/2017 Trabajo Redes - ETSE UV

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

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

15 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.5.- La ventana Deslizante 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. Sistema simple: cada segmento TCP contiene un campo “ventana” que indica que cantidad de bytes está dispuesto a recibir el host. 24/03/2017 Trabajo Redes - ETSE UV

16 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.5.- La ventana Deslizante 24/03/2017 Trabajo Redes - ETSE UV

17 Trabajo Redes - ETSE UV - 2007
3.- FUNDAMENTOS DE TCP 3.5.- 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. 24/03/2017 Trabajo Redes - ETSE UV

18 Máx Tasa Transmisión = Ventana / RTT
3.- FUNDAMENTOS DE TCP 3.5.- 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 24/03/2017 Trabajo Redes - ETSE UV

19 4.- RESETEO DE CONEXIONES TCP
Aborta una conexión previamente establecida, provocando Denegación de Servicio (DoS). 4.1.- Cierre de Conexión Cordial (FIN) 24/03/2017 Trabajo Redes - ETSE UV

20 4.- RESETEO DE CONEXIONES TCP
Aborta una conexión previamente establecida, provocando Denegación de Servicio (DoS). 4.2.- Cierre de Conexión Abrupta (RST) 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. 24/03/2017 Trabajo Redes - ETSE UV

21 4.- 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”: IP Origen IP Destino Puerto Origen Puerto Destino NO TANTO... MUCHAS COSAS, ¿NO? 24/03/2017 Trabajo Redes - ETSE UV

22 4.- 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: ?? Máx PERO…. 24/03/2017 Trabajo Redes - ETSE UV

23 4.- 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/03/2017 Trabajo Redes - ETSE UV

24 4.- 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! 24/03/2017 Trabajo Redes - ETSE UV

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

26 4.- 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. 24/03/2017 Trabajo Redes - ETSE UV

27 4.- RESETEO DE CONEXIONES TCP
1024 Segmento RST 24/03/2017 tcp-reset -c :1024 -s :80 -t client -r 60 -W 400 Trabajo Redes - ETSE UV

28 Trabajo Redes - ETSE UV - 2007
5.- 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. 24/03/2017 Trabajo Redes - ETSE UV

29 Trabajo Redes - ETSE UV - 2007
5.- 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”) 24/03/2017 Trabajo Redes - ETSE UV

30 Se envía ACK (“Challenge ACK”)
5.- CONTRAMEDIDAS Punto 3: El desafío ACK (“challenge ACK”) RST ILEGÍTIMO Se envía ACK (“Challenge ACK”) Cierre OK 24/03/2017 Trabajo Redes - ETSE UV

31 Trabajo Redes - ETSE UV - 2007
6.- 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 24/03/2017 Trabajo Redes - ETSE UV


Descargar ppt "Juan Raúl Garcia Canet - 4º Ingeniería Informática"

Presentaciones similares


Anuncios Google