1 / 31

RESETEO "ILEGÍTIMO" DE CONEXIONES TCP

RESETEO "ILEGÍTIMO" DE CONEXIONES TCP. 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

kapono
Télécharger la présentation

RESETEO "ILEGÍTIMO" DE CONEXIONES TCP

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. RESETEO "ILEGÍTIMO" DE CONEXIONES TCP

  2. 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 Trabajo Redes - ETSE UV - 2007

  3. 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 Trabajo Redes - ETSE UV - 2007

  4. 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. Trabajo Redes - ETSE UV - 2007

  5. 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. Trabajo Redes - ETSE UV - 2007

  6. 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 Trabajo Redes - ETSE UV - 2007

  7. 0 15 16 31 3.- FUNDAMENTOS DE TCP 3.3.- Formato de segmentos TCP Trabajo Redes - ETSE UV - 2007

  8. 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) Trabajo Redes - ETSE UV - 2007

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

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

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

  12. 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 65536 puertos posibles) asignado por la aplicación emisora o receptora. Trabajo Redes - ETSE UV - 2007

  13. 3.- FUNDAMENTOS DE TCP 3.4.- Funcionamiento de TCP • Clasificación de puertos: • Bien Conocidos (Well-KnowPorts): • 0 -1023. • Establecidos por la IANA (Internet AssignedNumbersAuthority) • Aplicaciones = > Servidores que quedan a la escucha de peticiones (SSH, HTTP,FTP…) Trabajo Redes - ETSE UV - 2007

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

  15. 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. Trabajo Redes - ETSE UV - 2007

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

  17. 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. http://www2.rad.com/networks/2004/sliding_window/demo.html Trabajo Redes - ETSE UV - 2007

  18. 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 Trabajo Redes - ETSE UV - 2007

  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) Trabajo Redes - ETSE UV - 2007

  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. Trabajo Redes - ETSE UV - 2007

  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? Trabajo Redes - ETSE UV - 2007

  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. 65536 PERO…. Trabajo Redes - ETSE UV - 2007

  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. Trabajo Redes - ETSE UV - 2007

  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! Trabajo Redes - ETSE UV - 2007

  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í Trabajo Redes - ETSE UV - 2007

  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. Trabajo Redes - ETSE UV - 2007

  27. 1024 Segmento RST 4.- RESETEO DE CONEXIONES TCP tcp-reset -c 192.168.0.1:1024 -s 172.16.0.1:80 -t client -r 60 -W 400 Trabajo Redes - ETSE UV - 2007

  28. 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 1024-65536, 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. Trabajo Redes - ETSE UV - 2007

  29. 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”) Trabajo Redes - ETSE UV - 2007

  30. 5.- CONTRAMEDIDAS Punto 3: El desafío ACK (“challenge ACK”) RSTILEGÍTIMO Se envía ACK (“Challenge ACK”) Cierre OK Trabajo Redes - ETSE UV - 2007

  31. 6.- REFERENCIAS Dafal, M. 2006. Improving TCP's Resitance to Blind In-window Attacks. IETF Internet-Draft http://www.ietf.org/internet-drafts/draft-ietf-tcpm-tcpsecure-07.txt Gont, F. 2007. ICMP attacks against TCP. IETF Internet Draft http://www.ietf.org/internet-drafts/draft-ietf-tcpm-icmp-attacks-02.txt Larsen, M., Gont, F. 2007. Port Randomization. IETF Internet-Draft http://www.ietf.org/internet-drafts/draft-larsen-tsvwg-port-randomization-01.txt Boletín de Seguridad UNAM-CERT 2004-006. Vulnerabilidades en TCP http://www.lugro.org.ar/pipermail/lugro-mix/2004-April/000481.html Gont's Website: http://www.gont.com.ar/drafts/icmp-attacks-against-tcp.html Wikipedia: http://es.wikipedia.org/wiki/Transmission_Control_Protocol Montañana, R. 2007.(Apuntes de Redes) Tema 5: El Nivel de Transporte en Internethttp://www.uv.es/montanan/redes/redes_05.pdf Montañana, R. 2007.(Material Auxiliar) Cap 3: La capa de enlacehttp://www.uv.es/montanan/redes/cap_03.rtf Trabajo Redes - ETSE UV - 2007

More Related