¿Se pueden ver las URL durante las transacciones HTTPS / 2 a uno o más sitios web desde una única IP distinguible?

0

Este es un seguimiento de la pregunta original ¿Se ven las URL durante las transacciones HTTPS a uno o más sitios web desde una única IP distinguible?

D.W. proporcionó un extenso resumen sobre los vectores de ataque en las conexiones HTTPS / TLS.

Mi pregunta: ¿Cuáles son los vectores de ataque contra http / 2? ¿Los vectores de ataque contra HTTP / 2 siguen siendo los mismos que HTTP o algunos de ellos están mitigados por las características de HTTP / 2 ? (y: hay nuevos).

HTTP / 2 permite atender múltiples solicitudes a través de una sola conexión, por lo que potencialmente (?) un intruso no podría extraer información de tamaño y tiempo como en https. Además, dado que se usa una sola conexión, ¿la cantidad y el tamaño de los recursos (aparte del total) también deberían ocultarse?

Vectores existentes de HTTPS:

  

TLS revela a un intruso la siguiente información:

     
  • el sitio con el que se está contactando
  •   
  • la longitud (posiblemente aproximada) del resto de la URL
  •   
  • la longitud (posiblemente aproximada) del HTML de la página que visitó (suponiendo que no esté en caché)
  •   
  • el número (posiblemente aproximado) de otros recursos (por ejemplo, imágenes, marcos, hojas de estilo CSS, etc.) en la página que visitó (suponiendo   no están en caché)
  •   
  • la hora a la que se envía cada paquete y se inicia cada conexión. (@nealmcb señala que el intruso aprende mucho   sobre el tiempo: la hora exacta en que se inició cada conexión, el   Duración de la conexión, la hora en que se envió cada paquete y la hora   se envió la respuesta, el tiempo para que el servidor responda a cada uno   paquete, etc.)
  •   

Todas esas revelaciones parecen (?) confiar en la relación 1: 1 entre la solicitud HTTP y la conexión TLS. Entonces, con esa relación 1: 1 desaparecida, ¿debería / podría ser más difícil extraer esta información (pero finalmente no es imposible)?

    
pregunta stwissel 30.05.2017 - 16:55
fuente

1 respuesta

1

Su pregunta reconoce que el propio TLS protege el contenido real de la solicitud HTTP (y, por lo tanto, la URL completa) y la respuesta mediante el cifrado. Pero también asume correctamente que se pueden usar metadatos como el análisis de flujo para revelar heurísticamente la URL a la que se accede en caso de que el atacante pueda acceder a la misma URL para obtener el mismo contenido. Por lo tanto, la pregunta solo es relevante para las URL que se utilizan para acceder al contenido público disponible (o al menos a un atacante disponible).

HTTP permite, en este caso, que el análisis de flujo reduzca la URL a la que se accede. Esto significa que un atacante puede escanear un sitio y construir un modelo que incluya el tamaño de la solicitud y el tamaño de la respuesta o los tiempos de llegada entre paquetes para cada URL. Basándose en esta información, el atacante puede, en muchos casos, detectar heurísticamente a cuál de las URL (conocidas) de un sitio al que accede la víctima.

Con HTTP / 2 esto se vuelve más difícil porque, a diferencia de HTTP / 1.x, las solicitudes no se manejan de forma secuencial dentro de la conexión TCP / TLS, sino en paralelo. Aún así, creo que todavía es posible construir un modelo del patrón de flujo que ocurre al acceder a una URL específica. Pero podría ser más difícil construir un modelo de este tipo, ya que ahora no solo se necesita para obtener el patrón para una URL específica, sino para obtener el patrón cuando se accede a una URL específica y se cargan todos los recursos, y esto para diversas variaciones de qué recursos estaban ya almacenados en caché y cuáles no. Sin embargo, creo que esto es solo más trabajo pero no un problema cualitativamente más difícil.

    
respondido por el Steffen Ullrich 31.05.2017 - 21:06
fuente

Lea otras preguntas en las etiquetas