Ataque de restablecimiento de TCP

El ataque de restablecimiento de TCP , "restablecimiento de TCP falso", "restablecimientos de TCP", " suplantación de paquetes de restablecimiento de TCP " es una forma de manipular las conexiones a Internet . En algunos casos, así actúan los atacantes, en otros, usuarios legítimos.

Detalles técnicos

Internet, en esencia, es un sistema de intercambio de información, agrupada en paquetes. Este sistema consta de hardware de transmisión de datos (cables de cobre y fibra óptica) y una forma estandarizada de representación de la información, es decir, protocolos. El protocolo principal de Internet es IP en combinación con protocolos adicionales como TCP y UDP [1] ). La web y el correo electrónico utilizan la pila de protocolos TCP/IP . De acuerdo con esto, al comienzo de cada paquete hay un encabezado con información de servicio sobre el remitente, el destinatario, el tamaño del paquete, etc.

A diferencia de otros protocolos (como UDP), TCP implica establecer una conexión entre dos computadoras. El software de red , como un navegador y un servidor web , se comunican en forma de flujos de paquetes. Debido a esto, pueden enviar más datos de los que caben en un paquete, como videoclips, documentos o grabaciones de audio. Aunque algunas páginas web son lo suficientemente pequeñas como para caber en un paquete, también se transmiten a través de una conexión para mayor comodidad.

Restablecimientos de TCP

Cada paquete TCP dentro de una conexión lleva un encabezado. Cada uno de ellos tiene un bit de bandera de reinicio (RST). Para la mayoría de los paquetes, este bit se establece en 0 y no significa nada, pero si se establece en 1, significa que el destinatario debe dejar de usar esta conexión inmediatamente: no envíe paquetes con el identificador actual (en el puerto actual), y también ignoran todos los paquetes posteriores a esta conexión (según la información en sus encabezados). Esencialmente, un restablecimiento de TCP finaliza inmediatamente la conexión.

Cuando se usa correctamente, dicho reinicio es un mecanismo útil. Este método se usa cuando una computadora (condicionalmente A) falla durante la transferencia de datos a través de TCP. La segunda computadora (condicionalmente B) continuará enviando paquetes TCP, porque no sabe sobre la falla en A. Después del reinicio, A continuará recibiendo paquetes de la conexión anterior, pero, al no tener datos de conexión, ya no lo hará. saber qué hacer con ellos. En este caso, enviará una solicitud de restablecimiento de TCP a la computadora B, diciendo que la conexión no funciona. El usuario de la computadora B puede establecer una nueva conexión o realizar otras acciones.

Restablecimientos falsos de TCP

En el caso anterior, el mensaje de reinicio fue enviado por uno de los participantes en la conexión. Una tercera computadora podría rastrear los paquetes TCP en esa conexión y luego falsificar un paquete con el indicador de reinicio y enviarlo a una o ambas partes en nombre de la otra. La información en los encabezados debe indicar que el paquete supuestamente se recibió del otro lado y no del atacante. Dicha información incluye direcciones IP y números de puerto y debe contener suficientes datos plausibles para obligar a los participantes a finalizar la conexión. Los paquetes falsos bien formados pueden ser una forma muy confiable de romper cualquier conexión TCP que un atacante pueda espiar.

Aplicaciones

Un uso obvio del método de restablecimiento de TCP es que un atacante interrumpa subrepticiamente las comunicaciones entre las partes. Por otro lado, se conocen sistemas de seguridad de red que utilizan dicho método. En 1995 se demostró un prototipo del programa "Buster" que podía enviar paquetes de reinicio falsos a cualquier conexión utilizando una lista de puertos determinada. Los desarrolladores de Linux propusieron capacidades similares para los cortafuegos basados ​​en Linux en 2000 [2] , y el software gratuito Snort usó restablecimientos de TCP para finalizar conexiones sospechosas ya en 2003 [3]

Incidente de Comcast

A fines de 2007, Comcast comenzó a utilizar la suplantación de identidad TCP para interrumpir los programas P2P y groupware para sus clientes. [4] . Esto desató una controversia que resultó en la creación del Net Neutrality Group (NNSquad) formado por Lauren Weinstein , Vint Cerf , David Farber , Craig Newmark y otros activistas por la apertura de Internet. [5] En 2008, NNSquad lanzó NNSquad Network Measurement Agent para Windows (escrito por John Bartas ), que identificó paquetes falsos de Comcast y los distinguió de caídas reales. Cabe destacar que el algoritmo de detección de volcado se desarrolló sobre la base del programa abierto existente "Buster", creado para combatir objetos maliciosos y anuncios en páginas web.

En enero de 2008, la FCC anunció que estaba investigando la suplantación de identidad de Comcast y el 21 de agosto de 2008 les ordenó detener la práctica.

La palabra "falso"

Algunos representantes de ISP consideran que la palabra "falso" es inapropiada en relación con los restablecimientos de TCP. También afirmaron que era una forma legítima de reducir el tráfico de la red . [6]

Notas

  1. Especificación TCP (ing.) (enlace inaccesible) . Fecha de acceso: 7 de septiembre de 2012. Archivado desde el original el 27 de agosto de 2012. 
  2. Archivos de discusión de Linux de mayo de 2000 . Consultado el 7 de septiembre de 2012. Archivado desde el original el 3 de marzo de 2016.
  3. ↑ Archivo de discusión sobre SNORT: Restablecimientos de TCP Archivado desde el original el 11 de agosto de 2007. {{ enlace muerto }}
  4. Associated Press, Comcast bloquea parte del tráfico de Internet . Consultado el 7 de septiembre de 2012. Archivado desde el original el 7 de mayo de 2011.
  5. Página de inicio de NNSquad . Consultado el 7 de septiembre de 2012. Archivado desde el original el 18 de mayo de 2020.
  6. Sobre la legitimidad de los reinicios para la administración de redes Archivado el 9 de junio de 2012. (Inglés)

Enlaces