PDF de programación - La vulnerabilidad del protocolo TCP sockstress

Imágen de pdf La vulnerabilidad del protocolo TCP sockstress

La vulnerabilidad del protocolo TCP sockstressgráfica de visualizaciones

Publicado el 28 de Junio del 2017
1.229 visualizaciones desde el 28 de Junio del 2017
655,6 KB
31 paginas
Creado hace 14a (01/02/2010)
http://gabriel.verdejo.alvarez.googlepages.com – “La vulnerabilidad del protocolo TCP sockstress”


La vulnerabilidad del protocolo

TCP sockstress



Por [email protected] - Febrero 2010



Este documento explica y analiza la nueva y “gravísima” [www1][www2][www3]
vulnerabilidad del protocolo TCP/IP denominada sockstress que puede permitir el cese de
servicio de cualquier dispositivo conectado a Internet. El escrito se encuentra dividido en dos
partes claramente diferenciadas para que el lector pueda acceder rápidamente al contenido
que sea de su interés:

• Análisis técnico: En la primera parte se realiza un repaso de los conceptos
fundamentales de los protocolos TCP/IP así como de sus mecanismos de control. A
continuación nos centramos en el análisis detallado del mecanismo que utiliza TCP
para el establecimiento de una conexión ya que es a partir de este punto dónde reside
la vulnerabilidad.


• Impacto social: En la segunda parte de este documento (página 16) se procederá a
reconstruir cronológicamente la gestión de la vulnerabilidad sockstress. Se detallaran
las distintas reacciones sociales que siguieron a su divulgación pública así como la
visión de los protagonistas. En la parte final de este escrito (página 21) se analizará la
gestión de la seguridad en Internet así como sus tendencias actuales.

El espíritu de este artículo está orientado hacia la divulgación pública de
conocimiento por lo que los aspectos técnicos, si bien deberían ser rigurosos, son tratados de
forma accesible para cualquier persona con un mínimo de interés. La extensa bibliografía
aportada permite al lector, si así lo desea, profundizar hasta el nivel de detalle que desee.

“Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo" Benjamin Franklin



1. Análisis técnico de la vulnerabilidad sockstress


1.1 Introducción al protocolo IP


La transferencia de datos entre dos sistemas conectados a Internet se realiza de una
forma conceptualmente sencilla. Troceamos los datos en bloques de un tamaño determinado,
los encapsulamos uno a uno y los enviamos por la red.


El protocolo IP (Internet Protocol) [Stevens94][www4][www5][www6] es el
encargado de realizar la transferencia de datos a través de Internet. Recoge los fragmentos de
datos1
que le proporciona el sistema y los envía a través de Internet con la esperanza de que
alcancen su destino.


1 A pesar de que estrictamente es cierto que son datos, estos no se corresponden exactamente con los que desea enviar el usuario.

Página 1 de 31

http://gabriel.verdejo.alvarez.googlepages.com – “La vulnerabilidad del protocolo TCP sockstress”


Fig. - 1: Encapsulación de protocolos en Internet [img1].



Para diferenciar los paquetes o datagramas IP que circulan por la red, el protocolo IP
al igual que el resto de protocolos de Internet, añade una cabecera (IP header) con la
información básica necesaria. Esta información hace referencia principalmente a las
direcciones de origen y destino así como algunas opciones o flags para gobernar el control de
la comunicación (ver figura 1).


De esta forma tenemos que el protocolo IP proporciona un servicio de transporte de
datos a través de Internet sin conexión ni fiabilidad. No es fiable puesto que no tiene ningún
mecanismo que asegure que los datagramas lleguen al destino (no se pide confirmación al
destinatario) o verifica que estos se entreguen en orden. De igual forma este protocolo no
utiliza ningún mecanismo de establecimiento de conexión para la comunicación con lo que
los paquetes IP “fluyen” del origen al destino libremente.


En este punto, probablemente, el lector se pregunte por la utilidad de semejante
sistema de “comunicación”. La idea que justifica este modelo es el famoso axioma divide y
vencerás. De esta forma en vez de crear un único protocolo de transporte complejo y
sofisticado, la gente del DARPA [www7] decidió utilizar un sistema incremental dónde unos
protocolos “sencillos” ofrecen servicio a otros de forma que cada nivel superior aumenta los
servicios ofrecidos.


Modelo OSI

Capa de aplicación (application)
Capa de presentación (presentation)
Capa de sesión (session)
Capa de transporte (transport)
Capa de red (network)
Capa de enlace (link)
Capa física (physical)



Pila TCP/IP

Protocolos

Capa de aplicación

HTTP, SSH, IMAP…



Capa de transporte
Capa de internet

Capa de red

TCP, UDP…
IP, ICMP…

Ethernet…

Fig. - 2: Pila de protocolos TCP/IP.



Sin entrar en demasiado detalle, de momento, podemos observar que la comunicación
en Internet se realiza mediante el uso de varios protocolos, cada uno de los cuales va
añadiendo de forma incremental servicios a la capa inmediatamente superior (ver figura 2).

Página 2 de 31

http://gabriel.verdejo.alvarez.googlepages.com – “La vulnerabilidad del protocolo TCP sockstress”


Esta organización, que es una simplificación del modelo OSI2

[www10], se conoce
como pila de protocolos TCP/IP (TCP/IP stack) y en los sistemas operativos es la parte
encargada de la comunicación vía Internet.


Una vez definido el método de transporte básico para Internet concretaron a su vez
una serie de protocolos auxiliares [www11][www12] para dotar de versatilidad a las
comunicaciones por Internet. Esta enorme flexibilidad ha contribuido a su rápida expansión
y al desarrollo de nuevos servicios. De todos los protocolos existentes, nuestro propósito es el
análisis de la vulnerabilidad sockstress, nos centraremos exhaustivamente en el que gobierna
las comunicaciones fiables y seguras, el protocolo TCP.


1.2 Introducción al protocolo ICMP


El protocolo ICMP (Internet Control Message Protocol) [www13] es un protocolo de
la capa de Internet encargado de controlar el flujo de las comunicaciones IP y gestionar las
anomalías o errores que se produzcan (ver figura 3).


Este mecanismo de comunicación es utilizado tanto por los equipos intermedios por
dónde circula el tráfico como por los dos extremos de la comunicación. Los routers
intermedios se comunican entre sí para regular los flujos de comunicación de datos entre
ellos o para tareas de sincronización entre otras funciones. Los usuarios finales también
utilizan este protocolo por ejemplo para el famoso “ping” que permite comprobar la
conectividad con el otro extremo de la comunicación.

IP manteniendo


Como el resto de protocolos, ICMP también utiliza los servicios de transporte del
protocolo
la estructura de encapsulamiento que hemos descrito
anteriormente. A pesar de no tener un papel activo en la vulnerabilidad sockstress es
importante conocer su existencia debido a que ya ha protagonizado varios ataques famosos en
Internet como el ping de la muerte (ping of death) o la inundación de paquetes ICMP (ICMP
flood) [www14][www15][www16].



Fig. - 3: El protocolo ICMP [img2].



1.3 Introducción al protocolo UDP


El protocolo UDP (User Datagram Protocol) [www17] es un protocolo de
comunicación simple, sin estados y orientado a datagrama. De esta forma cada envío de datos
se corresponde con un datagrama que tiene un tamaño máximo3

2 Este modelo genérico establecido por la ITU establece el número de capas necesarias para una comunicación a través de redes de datos.
3 Realmente serian 64Kbytes menos el espacio consumido por las cabeceras de los protocolos.

de 64Kbytes.

Página 3 de 31

http://gabriel.verdejo.alvarez.googlepages.com – “La vulnerabilidad del protocolo TCP sockstress”



Fig. - 4: El protocolo UDP [img1].



Así mismo podemos observar como el protocolo UDP proporciona un acceso directo
a los servicios ofrecidos por el protocolo IP. No realiza ninguna gestión sofisticada del flujo
de control, lo que permite que si enviamos varios datagramas estos pueden llegar en orden
distinto al que fueron enviados o incluso que algunos “se pierdan”. Como es un protocolo
fácil de utilizar y que no añade prácticamente overhead (sobrecoste de procesar el protocolo)
al proceso de la comunicación (ver figura 4).


Aunque pueda parecer que en la práctica este protocolo carecería de sentido, esto no
sólo no es así si no que es muy utilizado en aplicaciones de streaming de audio/video o
telefonía IP. En estos servicios se busca una gran velocidad de interacción que UDP
proporciona perfectamente y no suele ser un gran problema si algún datagrama es descartado
por algún router intermedio (por ejemplo por colapso de la línea por exceso de tráfico) o
algún paquete llega fuera de orden.


En el caso de desear un sistema fiable de transferencia, por ejemplo si transmitimos
ficheros, no podemos asumir que se pierdan datos. Debemos implementar nosotros mismos
un mecanismo de control mediante una aplicación propia que utilice UDP como medio de
transporte de datos o directamente utilizar un protocolo fiable como TCP.


1.4 Introducción al Protocolo TCP


El protocolo TCP (Transmission Control Protocol) [www18] es un protocolo de
comunicación orientado a conexión que proporciona un flujo fiable de bytes a través de
Internet. Este protocolo se encarga de gestionar los mecanismos necesarios (establecimiento
de conexión, transmisión y retransmisión de datos si fuera necesario, control de flujo y
finalización de la conexión) para proporcionar un servicio transparente de transporte de datos
a través de Inte
  • Links de descarga
http://lwp-l.com/pdf4750

Comentarios de: La vulnerabilidad del protocolo TCP sockstress (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad