Entendiendo un ataque de repetición TLS 1.3 0-RTT

6

Las especificaciones para TLS 1.3 0-RTT mencionan lo siguiente amenaza que un atacante podría realizar:

  

Los atacantes de red que aprovechan el comportamiento de reintento del cliente para         disponer que el servidor reciba varias copias de un         mensaje de aplicación. Esta amenaza ya existe hasta cierto punto.         Porque los clientes que valoran la robustez responden a errores de red por         tratando de volver a intentar las solicitudes. Sin embargo, 0-RTT agrega un adicional         Dimensión para cualquier sistema de servidor que no se mantiene globalmente.         Estado del servidor consistente. Específicamente, si un sistema de servidor tiene         zonas múltiples donde los boletos de la zona A no serán aceptados en         zona B, entonces un atacante puede duplicar un ClientHello y antes         datos destinados a A tanto para A como para B . En A, los datos serán         aceptado en 0-RTT, pero en B el servidor rechazará los datos de 0-RTT y         En su lugar forzar un apretón de manos completo. Si el atacante bloquea el         ServerHello de A, entonces el cliente completará el saludo         con B y, probablemente, vuelva a intentar la solicitud, lo que lleva a la duplicación en         El sistema del servidor en su conjunto.

Mi pregunta es: ¿Dónde está el ataque? Al final del día, el atacante podría haber pasado su copia de ClientHello a la Zona B y obtener el mismo resultado (un apretón de manos completo). ¿Qué me estoy perdiendo?

    
pregunta AdHominem 27.07.2017 - 14:22
fuente

2 respuestas

1

Bueno, la respuesta es que esto en sí mismo es un ataque de repetición clásico. Suponiendo que A y B son servidores que no aceptan tickets destinados para el otro, el ataque se verá así:

  1. El cliente envía un mensaje 0-RTT que es interceptado por el atacante
  2. El atacante transmite el mensaje a A y B
  3. A aceptará el mensaje y lo procesará
  4. B rechazará el ticket y forzará un apretón de manos completo con el cliente
  5. Como parte del protocolo de enlace completo alternativo, el cliente reenviará el mensaje a B, lo que provocará una duplicación en el clúster del servidor donde el mensaje original se procesa dos veces: un ataque de repetición.
respondido por el AdHominem 30.07.2017 - 10:58
fuente
1

No te estás perdiendo mucho. Creo que este artículo cloudflare cerca del final describe muy bien los posibles vectores y escenarios de ataque. Dependiendo de la seguridad de las redes y aplicaciones web, es posible que 0-RTT no se responda a la espera de qué tipo de parámetros o ciertos tipos de encabezados. Si un atacante ya ha descubierto cómo insertarse y obtener visibilidad de lo que querría volver a jugar en un host vulnerable, hay otros riesgos peores que buscar en otro lugar. Algo así como una reproducción de 0-RTT que tenga parámetros y una cookie de sesión autenticada y una baja de HTTP podría ser plausible. Pero en el mundo del pentester, eso es mucho trabajo.

    
respondido por el SCIS Security 27.07.2017 - 18:20
fuente

Lea otras preguntas en las etiquetas