Вы находитесь на странице: 1из 31

PREMBULO

1.- Resumen 2.- Introduccin 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 conexin cordial (FIN) 4.2.- Cierre por condicin de error grosera Ejemplo de un ataque 5.- Contramedidas 6.- Referencias
27/10/2013 Trabajo Redes - ETSE UV - 2007 2

1.- RESUMEN
Un ataque de reseteo de conexin consiste en abortar de forma ilegtima una conexin TCP establecida. Debido a un fallo en la gestin de segmentos TCP del tipo RST Se necesitan ciertos datos para realizarlo Grave segn la situacin Soluciones propuestas por la IETF

27/10/2013 Trabajo Redes - ETSE UV - 2007 3

2.- INTRODUCCIN

TCP: Protocolo de transporte ms utilizado => Web, Correo, SSH Cada aplicacin depende en mayor o menor medida de TCP => +/- gravedad del ataque

HTTP => - grave (slo recargar la pgina) VoIP => sealizacin + grave. Prdida de informacin BGP => ++grave. Se pierden las entradas de la tabla de rutas que se haban adquirida en esa conexin. Prdida de conectividad.
Trabajo Redes - ETSE UV - 2007 4

27/10/2013

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 sern entregados en su destino sin errores y en el mismo orden en que se transmitieron

Permite distinguir diferentes aplicaciones en una mquina =>Puertos


IETF RFC 793.
27/10/2013 Trabajo Redes - ETSE UV - 2007 5

3.- FUNDAMENTOS DE TCP


3.2.- Funciones del TCP
Capa intermedia entre IP y Aplicacin
Aade las funciones necesarias para prestar un servicio que permita que la comunicacin entre dos sistemas se efecte: libre de errores, sin prdidas y con seguridad

27/10/2013

Trabajo Redes - ETSE UV - 2007

3.- FUNDAMENTOS DE TCP


3.3.- Formato de segmentos TCP
0 15 16 31

27/10/2013

Trabajo Redes - ETSE UV - 2007

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
Las conexiones TCP se componen de tres etapas:
1. Establecimiento de Conexin => Negociacin en tres pasos (3-way handshake)

2. Transferencia de Datos
3. Fin de Conexin => Negociacin en 4 pasos (4way handsake)

27/10/2013

Trabajo Redes - ETSE UV - 2007

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
Establecimiento de Conexin => Negociacin en Tres pasos (3-way handshake)

27/10/2013

Trabajo Redes - ETSE UV - 2007

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
Transferencia de Datos

27/10/2013

Trabajo Redes - ETSE UV - 2007

10

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
Fin de Conexin => Negociacin en 4 pasos (4-way handsake)

27/10/2013

Trabajo Redes - ETSE UV - 2007

11

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
TCP usa el concepto de nmero de puerto para identificar a las aplicaciones emisoras y receptoras.

Cada lado de la conexin TCP tiene asociado un nmero de puerto (de 16 bits sin signo, con lo que existen 65536 puertos posibles) asignado por la aplicacin emisora o receptora.

27/10/2013

Trabajo Redes - ETSE UV - 2007

12

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
Clasificacin de puertos: Bien Conocidos (Well-Know Ports):

0 -1023.
Establecidos por la IANA (Internet Assigned Numbers Authority)

Aplicaciones = > Servidores que quedan a la escucha de peticiones (SSH, HTTP,FTP)


27/10/2013 Trabajo Redes - ETSE UV - 2007 13

3.- FUNDAMENTOS DE TCP


3.4.- Funcionamiento de TCP
Clasificacin de puertos: Registrados y dinmicos/privados (efmeros): 1024 -65535. Empleados por aplicaciones de usuario. Temporales No tienen significado fuera de TCP

27/10/2013

Trabajo Redes - ETSE UV - 2007

14

3.- FUNDAMENTOS DE TCP


3.5.- La ventana Deslizante
Sistema de control de flujo de informacin usado por TCP

Es una ventana de duracin variable que permite a un emisor transmitir un nmero 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.
27/10/2013 Trabajo Redes - ETSE UV - 2007 15

3.- FUNDAMENTOS DE TCP


3.5.- La ventana Deslizante
ACK 1500, w in= 2000

HOST A

000) SEQ 1500 (1 00) SEQ 2500(10 ACK 3500, w in= 0

HOST B

A Procesa 1000 bytes


ACK 3500, w in=
win ACK 3550, 1000
27/10/2013

B Deja de enviar

1000

B vuelve a enviar
16

Trabajo Redes - ETSE UV - 2007

3.- FUNDAMENTOS DE TCP


3.5.- La ventana Deslizante
Contiene los nmeros de secuencia correspondientes a los segmentos TCP que se estn transmitiendorecibiendo. La utilidad de la ventana deslizante en el control de flujo de la informacin radica en que:
TCP considera vlidos solamente aquellos

segmentos-datos que se encuentran dentro de la ventana de recepcin, el resto son descartados.


http://www2.rad.com/networks/2004/sliding_window/demo.html
27/10/2013 Trabajo Redes - ETSE UV - 2007 17

3.- FUNDAMENTOS DE TCP


3.5.- La ventana Deslizante
Influye de manera directa en el rendimiento de la conexin
Mx Tasa Transmisin = Ventana / RTT RTT: Round-Trip Time (Tiempo de ida y vuelta

Con el fin de evitar que la ventana TCP imponga un lmite artificial en la tasa de transferencia, a menudo, se suele utilizar un tamao de ventana superior al necesario => PROBLEMAS
27/10/2013 Trabajo Redes - ETSE UV - 2007 18

4.- RESETEO DE CONEXIONES TCP


Aborta una conexin previamente establecida, provocando Denegacin de Servicio (DoS).

4.1.- Cierre de Conexin Cordial (FIN)

27/10/2013

Trabajo Redes - ETSE UV - 2007

19

4.- RESETEO DE CONEXIONES TCP


Aborta una conexin previamente establecida, provocando Denegacin de Servicio (DoS).

4.2.- Cierre de Conexin Abrupta (RST)


Condicin de error en alguno de los hosts:
Intento de conexin a un puerto dnde no hay aplicacin escuchando Terminacin anormal del proceso en comunicacin => se abortan todas las comunicaciones del proceso.

27/10/2013

Trabajo Redes - ETSE UV - 2007

20

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: 1. IP Origen 2. IP Destino 3. Puerto Origen 4. Puerto Destino

MUCHAS COSAS, NO?


27/10/2013 Trabajo Redes - ETSE UV - 2007 21

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: ??

PERO.
27/10/2013 Trabajo Redes - ETSE UV - 2007 22

4.- RESETEO DE CONEXIONES TCP

Puerto Cliente: 65536 puertos? NO.


1.- Los puertos BIEN CONOCIDOS no los usar 2.- La mayora de los sistemas eligen sus puertos efmeros de un subespacio de todo el espacio de puertos disponible.
Sistema Operativo
Linux Kernel 2.6 y MS Windows Solaris y AIX FreeBSD y OpenBSD NetBSD
27/10/2013 Trabajo Redes - ETSE UV - 2007

Puertos efmeros 1024 - 4999 32768 - 65535 1024 - 49151 49152 - 65535
23

4.- RESETEO DE CONEXIONES TCP

Puerto Cliente: 65536 puertos? NO.


3.- Muchas implementaciones eligen sus puertos de forma incremental. Es decir, si una conexin saliente usa el puerto 1025, la siguiente usar el 1025, etc.

NO ES TAN DIFCIL AVERIGUAR EL PUERTO CLIENTE!

27/10/2013

Trabajo Redes - ETSE UV - 2007

24

4.- RESETEO DE CONEXIONES TCP

Ahora el atacante ya tiene todos los datos, slo le falta: N Secuencia vlido

TCP-RESET lo har por t

27/10/2013

Trabajo Redes - ETSE UV - 2007

25

4.- RESETEO DE CONEXIONES TCP Escenarios de Ataque:


1.- Ventana TCP inmvil: El atacante deber escanear todo el espacio de nmeros de secuencia TCP, enviando segmentos cuyos nmeros de secuencia estaran separados entre s por un valor aproximado al tamao de la ventana utilizada por el sistema en cuestin. 2.- Ventana TCP mvil: Velocidad promedio igual a la tasa de transferencia promedio de la conexin TCP. En esta situacin tendremos dos posibles formas de realizar el ataque. 1 Forma: enviar sucesivos segmentos RST con distintos nmeros de secuencia, pero teniendo en cuenta tanto el tamao de la ventana TCP como la tasa de transferencia de datos de la conexin

2 Forma: segmentos RST a intervalos regulares, pero todos ellos con el mismo nmero de secuencia.
27/10/2013 Trabajo Redes - ETSE UV - 2007 26

4.- RESETEO DE CONEXIONES TCP

1024

Segmento RST

27/10/2013

Trabajo Redes - ETSE UV - 2007 tcp-reset -c 192.168.0.1:1024 -s 172.16.0.1:80 -t client -r 60 -W 400

27

5.- CONTRAMEDIDAS
El IETF ha propuesto una serie de medidas que podran evitar este tipo de ataques:

1.- Eleccin aleatoria de los puertos efmeros: Si se eligen los puertos efmeros de forma aleatoria dentro del rango 1024-65536, sera 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 cuestin seran notablemente ms elevados.

27/10/2013

Trabajo Redes - ETSE UV - 2007

28

5.- CONTRAMEDIDAS
El IETF ha propuesto una serie de medidas que podran evitar este tipo de ataques:

2.- Modificacin al procesamiento de los segmentos RST:


Punto 1: En caso de recibir un segmento RST con un nmero de secuencia fuera de la venta TCP, el mismo sera descartado. (RFC 793) Punto 2: Si el segmento RST recibido contiene como nmero de secuencia TCP, el prximo nmero de secuencia que se espera recibir, se abortar la conexin TCP correspondiente.(ms restrictivo que el actual)

Punto 3: Si el segmento RST recibido contiene un nmero de secuencia TCP que se encuentra dentro de la ventana TCP, pero no cumple con la condicin del punto 2, se responder a dicho segmento con RST con un
ACK. (Desafo ACK)
27/10/2013 Trabajo Redes - ETSE UV - 2007 29

5.- CONTRAMEDIDAS
Punto 3: El desafo ACK (challenge ACK)
HOST A

SEQ 1 0 0 (1 0 00

ACK 1 1 0 0

. . .
RST 1 1 05

10 ACK 1

RST 1 1

00

Se enva ACK (Challenge ACK)

Cierre OK
27/10/2013 Trabajo Redes - ETSE UV - 2007 30

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

Boletn 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 Montaana, R. 2007.(Apuntes de Redes) Tema 5: El Nivel de Transporte en Internet http://www.uv.es/montanan/redes/redes_05.pdf Montaana, R. 2007.(Material Auxiliar) Cap 3: La capa de enlace http://www.uv.es/montanan/redes/cap_03.rtf
27/10/2013 Trabajo Redes - ETSE UV - 2007 31

Вам также может понравиться