Ataque “fuera de ruta” de TCP (CVE-2016-5696)

9

Hoy leí que una falla en una especificación reciente de TCP lleva a la inyección de contenido malicioso entre las dos partes que se comunican. ¿Cómo funciona el vector de ataque?

También he leído una publicación en la que la persona que escribe aleatoriamente el valor en /proc/sys/net/ipv4/tcp_challenge_ack_limit puede ayudar a mitigar el ataque. ¿Es cierto?

Enlace al documento que explica el ataque: 'Explotaciones de TCP fuera de ruta: se considera límite global de tasa Peligroso '. Tenga en cuenta que esto es no acerca de los ataques de inferencia de secuencia TCP fuera de ruta. Lee el papel.

    
pregunta ashish 11.08.2016 - 12:58
fuente

1 respuesta

9
  

... lleva a la inyección

La falla no conduce a la inyección, pero permite que un atacante inyecte datos. Es decir, no hay corrupción de datos inadvertidamente sino una modificación dirigida por un atacante.

  

¿Cómo funciona el vector de ataque?

Ya que has hecho referencia al papel, espero que lo hayas leído. ¿Qué partes no entendiste exactamente? Pero para resumirlo un poco:

  • La parte difícil de tomar el control de una conexión TCP es adivinar el puerto de origen del cliente y el número de secuencia actual
  • El límite de velocidad global para el envío de Challenge ACK (100 / s en Linux) introducido junto con Challenge ACK (RFC5961) hace posible en el primer paso adivinar un puerto de origen utilizado por la conexión de los clientes y en el siguiente paso para adivinar el número de secuencia. La idea principal es abrir una conexión con el servidor y enviar con la fuente del atacante tantos paquetes RST con la secuencia incorrecta mezclada con algunos paquetes falsificados. Al contar la cantidad de Challenge ACK que se devuelve al atacante y al conocer el límite de velocidad, se puede inferir cuánto de los paquetes falsificados resultó en un ACK de desafío para el cliente falsificado y, por lo tanto, cuántas de las suposiciones fueron correctas. De esta manera se puede reducir rápidamente qué valores de puerto y secuencia son correctos. Este ataque se puede hacer en unos pocos segundos.
  • Y, por supuesto, el atacante debe poder falsificar la dirección IP del cliente, lo que no es cierto en todos los entornos. Podría ser posible en redes locales (dependiendo de las medidas de seguridad) pero el ISP a menudo bloqueará la falsificación de IP cuando se realiza desde las cuentas habituales de DSL / cable / móvil.

Pero para entender realmente el ataque, necesitas entender qué desafío se usan los ACK (defender contra TCP RST fuera de ruta) y cómo funcionan. Por lo tanto, podría ser útil leer el RFC 5961 también.

  

aleatorizar el valor en / proc / sys / net / ipv4 / tcp_challenge_ack_limit ... ¿Es cierto?

Definirlo en un valor aleatorio y mantenerlo allí probablemente no ayudará porque el ataque puede descubrir el nuevo límite estático. Cambiar el valor cada pocos segundos ayudará a confundir el ataque. Establecer el valor en un valor muy grande también hará que el ataque sea imposible.

    
respondido por el Steffen Ullrich 11.08.2016 - 14:31
fuente

Lea otras preguntas en las etiquetas