stringtranslate.com

Ataque de reinicio de TCP

El ataque de reinicio de TCP , también conocido como reinicio de TCP falsificado o reinicio de TCP falsificado , es una forma de finalizar una conexión TCP enviando un paquete de reinicio de TCP falsificado. Esta técnica de manipulación puede ser utilizada por un firewall o abusada por un atacante malicioso para interrumpir las conexiones a Internet.

Se sabe que el Gran Cortafuegos de China y los censores de Internet iraníes utilizan ataques de restablecimiento de TCP para interferir y bloquear conexiones como método importante para llevar a cabo la censura de Internet. [1]

Fondo

Internet es un sistema para que computadoras individuales intercambien mensajes electrónicos o paquetes de datos. Este sistema incluye hardware para transportar los mensajes (como cables de cobre y fibra óptica ) y un sistema formalizado para formatear los mensajes, llamado "protocolos". El protocolo básico utilizado en Internet es el Protocolo de Internet (IP), que generalmente se combina con protocolos adicionales como TCP ( Protocolo de control de transmisión [2] ) o UDP ( Protocolo de datagramas de usuario ). TCP/IP es el conjunto de protocolos utilizado para el correo electrónico y la navegación web. Cada protocolo tiene un bloque de información, llamado encabezado, incluido cerca del frente de cada paquete. Los encabezados contienen información sobre qué computadora envió el paquete, qué computadora debería recibirlo, el tamaño del paquete, etc.

TCP se emplea comúnmente junto con IP (Protocolo de Internet) para establecer una conexión virtual bidireccional entre dos computadoras. Como protocolo orientado a conexión, TCP necesita el establecimiento de una conexión lógica entre dos procesos antes del intercambio de datos. Esto contrasta con UDP, que es un protocolo sin conexión dentro del conjunto de IP. Los sockets TCP/IP facilitan la comunicación entre computadoras, como entre una estación de trabajo con un navegador y un servidor web, mediante el intercambio de un flujo de paquetes de datos. El uso de una conexión TCP permite la transferencia de grandes elementos de datos, que exceden los límites de tamaño de un solo paquete, incluidos videoclips, archivos adjuntos de correo electrónico o archivos de música. Aunque ciertas páginas web son lo suficientemente pequeñas como para caber en un solo paquete, normalmente se transmiten a través de conexiones TCP para mejorar la confiabilidad y el control de errores.

Restablecimientos de TCP

En un flujo de paquetes de una conexión TCP, cada paquete contiene un encabezado TCP. Cada uno de estos encabezados contiene un bit conocido como indicador de "reinicio" (RST). [3] En la mayoría de los paquetes, este bit se establece en 0 y no tiene ningún efecto. Sin embargo, si este bit se establece en 1, le indica a la computadora receptora que la computadora debe dejar de usar la conexión TCP inmediatamente; no debe enviar más paquetes utilizando los números de identificación de la conexión, los puertos llamados, y descartar cualquier paquete adicional que reciba con encabezados que indiquen que pertenecen a esa conexión. Un reinicio de TCP mata una conexión TCP casi instantáneamente.

Esta herramienta cumple una función específica dentro del ámbito de las redes informáticas, particularmente en la gestión de conexiones TCP. Un caso de uso notable surge cuando una computadora, denominada "Computadora A", experimenta una falla del sistema durante una conexión TCP activa. En consecuencia, la computadora correspondiente en el otro extremo de la conexión, designada como 'Computadora B', no se da cuenta del fallo y continúa transmitiendo paquetes TCP. Al reiniciar, la computadora A recibe estos paquetes residuales de la conexión interrumpida. Sin embargo, al carecer del contexto original y no poder procesarlos adecuadamente, la Computadora A generalmente emite una señal de restablecimiento de TCP a la Computadora B. Este restablecimiento informa a la Computadora B de la falla en la conexión, solicitando al usuario en la Computadora B que intente restablecer la conexión o tomar acciones alternativas según sea necesario.

Falsificar restablecimientos de TCP

En el escenario anterior, el bit de restablecimiento de TCP fue enviado por una computadora que era uno de los puntos finales de la conexión. Es posible que una tercera computadora supervise los paquetes TCP en la conexión y luego envíe un paquete "falsificado" que contenga un restablecimiento de TCP a uno o ambos puntos finales. Los encabezados del paquete falsificado deben indicar, falsamente, que proviene de un punto final, no del falsificador. Esta información incluye las direcciones IP y los números de puerto de los terminales. Cada campo en los encabezados IP y TCP debe configurarse en un valor falsificado convincente para que el reinicio falso engañe al punto final para que cierre la conexión TCP. Los restablecimientos de TCP falsificados con el formato adecuado pueden ser una forma muy efectiva de interrumpir cualquier conexión TCP que el falsificador pueda monitorear.

Uso legítimo

Una aplicación de un restablecimiento de TCP falsificado es interrumpir maliciosamente las conexiones TCP sin el consentimiento de las dos partes propietarias de los puntos finales. Sin embargo, también se han diseñado sistemas de seguridad de red que utilizan restablecimientos de TCP falsificados. En 1995 se demostró un prototipo de paquete de software "Buster" que enviaría restablecimientos falsificados a cualquier conexión TCP que utilizara números de puerto en una lista corta. Los voluntarios de Linux propusieron hacer algo similar con los firewalls de Linux en 2000, [3] y el software de código abierto, como Snort, utilizó restablecimientos de TCP para interrumpir conexiones sospechosas ya en 2003. [4]

Controversia de Comcast

A finales de 2007, Comcast comenzó a utilizar restablecimientos de TCP falsificados para inutilizar aplicaciones peer-to-peer y ciertas aplicaciones de software colaborativo en las computadoras de sus clientes. [5] Esto inició una controversia, a la que siguió la creación del Network Neutrality Squad (NNSquad) por Lauren Weinstein , Vint Cerf , David Farber , Craig Newmark y otros conocidos fundadores y defensores de la apertura en Internet. [6] En 2008, NNSquad lanzó NNSquad Network Measurement Agent, un programa de software de Windows escrito por John Bartas, que podía detectar restablecimientos TCP falsificados de Comcast y distinguirlos de restablecimientos reales generados por terminales. La tecnología para detectar los reinicios se desarrolló a partir del software anterior de código abierto "Buster", que utilizaba reinicios falsificados para bloquear malware y anuncios en páginas web.

En enero de 2008, la FCC anunció que investigaría el uso de reinicios falsificados por parte de Comcast y, el 21 de agosto de 2008, ordenó a Comcast que pusiera fin a la práctica. [7]

Prevención

Al cifrar las conexiones mediante el uso de una VPN , el atacante tiene que realizar un ataque de restablecimiento de TCP en todas las conexiones cifradas, lo que provoca daños colaterales . [ cita necesaria ]

Ver también

Referencias

  1. ^ Clayton, Richard; Murdoch, Steven J.; Watson, Robert NM (2006). Danezis, George; Golle, Philippe (eds.). Ignorando el Gran Cortafuegos de China (PDF) . Tecnologías que mejoran la privacidad. Apuntes de conferencias sobre informática . vol. 4258. Cambridge, Reino Unido: Springer Berlín . págs. 20–35. doi :10.1007/11957454_2. ISBN 978-3-540-68793-1- a través del Departamento de Informática y Tecnología .
  2. ^ Protocolo de control de transmisión (TCP). ETS 7.
  3. ^ ab "Archivos de debates sobre Linux de mayo de 2000".
  4. ^ Berry, Josh (28 de febrero de 2004). "Restablecimientos de TCP". usuarios de snort (lista de correo).
  5. ^ Svensson, Peter (19 de octubre de 2007). "Comcast bloquea parte del tráfico de Internet". Noticias NBC .
  6. ^ Página de inicio de NNSquad
  7. ^ "La Comisión ordena a Comcast que ponga fin a las prácticas discriminatorias de gestión de redes" (PDF) .

enlaces externos