Clicky

Nuevo ataque aprovecha HTTP/2 para fugas de canal lateral de temporización remota efectiva

Ataque de tiempo

El nuevo método, llamado Timeless Timing Attacks (TTAs) aprovecha la multiplexación de protocolos de red

Investigadores de seguridad han esbozado una nueva técnica que hace que un ataque remoto de canal lateral basado en el tiempo sea más efectivo, independientemente de la congestión de red entre el adversario y el servidor de destino.

Los ataques remotos de temporización que funcionan a través de una conexión de red se ven afectados principalmente por variaciones en el tiempo de transmisión de la red (o fluctuación de fase), que, a su vez, depende de la carga de la conexión de red en un momento dado.

Pero dado que para llevar a cabo un ataque de tiempo es crucial medir el tiempo necesario para ejecutar algoritmos criptográficos y, en consecuencia, filtrar información, la fluctuación en la ruta de red desde el atacante al servidor puede hacer que sea poco práctico explotar con éxito los canales laterales de temporización que dependen de una pequeña diferencia en el tiempo de ejecución.

El nuevo método, llamado Timeless Timing Attacks (TTAs) [PDF] por investigadores del DistriNet Research Group y la Universidad de Nueva York, Abu Dhabi, aprovecha la multiplexación de protocolos de red y la ejecución concurrente por aplicaciones, haciendo que los ataques sean inmunes a las condiciones de la red.

"Estos ataques de sincronización basados en la concurrencia infieren una diferencia de sincronización relativa al analizar el orden en que se devuelven las respuestas y, por lo tanto, no se basan en ninguna información de sincronización absoluta", dijeron los investigadores.

Uso de la multiplexación de solicitudes de HTTP/2 para reducir la fluctuación de fase

A diferencia de los ataques típicos basados en el tiempo, en los que los tiempos de ejecución se miden de forma independiente y secuencial, la última técnica intenta extraer información del pedido y la diferencia de tiempo relativa entre dos solicitudes ejecutadas simultáneamente sin depender de ninguna información de tiempo.

Para hacerlo, un mal actor inicia un par de solicitudes HTTP/2 al servidor de la víctima directamente o usando un sitio cruzado, como un anuncio malicioso o engañando a la víctima para que visite una página web controlada por el atacante, para lanzar solicitudes al servidor a través del código JavaScript.

ataque timing side channel

El servidor devuelve un resultado que contiene la diferencia en el tiempo de respuesta entre la segunda solicitud y la primera. El TTA, entonces, funciona teniendo en cuenta si esta diferencia es positiva o negativa, donde positivo indica que el tiempo de procesamiento de la primera solicitud lleva menos tiempo que el procesamiento de la segunda solicitud.

"En los servidores web alojados a través de HTTP/2, encontramos que una diferencia de tiempo tan pequeña como 100ns se puede inferir con precisión del orden de respuesta de aproximadamente 40.000 pares de solicitudes", anotaron los investigadores. "La diferencia de tiempo más pequeña que pudimos observar en un ataque de tiempo tradicional en Internet fue de 10 μs, 100 veces mayor que nuestro ataque basado en la concurrencia".

Una limitación de este enfoque es que los ataques dirigidos a servidores que usan HTTP/1.1 no pueden explotar el protocolo para fusionar múltiples solicitudes en un solo paquete de red, lo que requiere que se realice un ataque de sincronización concurrente utilizando múltiples conexiones en lugar de enviar todas las solicitudes a través de la misma conexión.

Esto se debe al uso del bloqueo de cabecera de línea (HOL) de HTTP/1.1, que hace que todas las solicitudes a través de la misma conexión se manejen secuencialmente, mientras que HTTP/2 resuelve este problema a través de la multiplexación de solicitudes.

Actualmente, el 37.46% de todos los sitios web de escritorio se sirven a través de HTTP/2, un número que aumenta aún más al 54.04% para los sitios que admiten HTTPS. Aunque esto hace que un gran número de sitios web sean susceptibles a los TTA, los investigadores señalan que muchos de ellos dependen de las redes de entrega de contenido (CDN), como Cloudflare, que todavía usa HTTP/1.1 para las conexiones entre el CDN y el sitio de origen.

Vulnerable el servicio Tor Onion y Wi-Fi EAP-PWD

Pero en un giro, los investigadores descubrieron que los ataques de sincronización basados en la concurrencia también se pueden implementar contra los servicios de Tor Onion, incluidos aquellos que solo admiten HTTP/1.1, permitiendo que un atacante cree dos conexiones Tor a un servicio de Onion en particular, y luego envíe simultáneamente una solicitud en cada una de las conexiones para medir una diferencia de tiempo de 1 μs.

Eso no es todo. El método de autenticación EAP-PWD, que utiliza una contraseña compartida entre el servidor y el solicitante cuando se conecta a redes Wi-Fi, se vuelve vulnerable a los ataques del diccionario al explotar una fuga de tiempo en el protocolo de enlace de Dragonfly para revelar la información sobre la contraseña en sí.

Aunque los ataques de tiempo se pueden contrarrestar asegurando la ejecución en tiempo constante, es más fácil decirlo que hacerlo, especialmente para aplicaciones que dependen de componentes de terceros. Alternativamente, los investigadores sugieren agregar un retraso aleatorio a las solicitudes entrantes y asegurarse de que las diferentes solicitudes no se combinen en un solo paquete.

Esta no es la primera vez que se utilizan ataques de temporización remota para filtrar información confidencial. Los investigadores han demostrado previamente que es posible explotar los canales laterales de la caché para detectar las contraseñas SSH de la caché de la CPU Intel (NetCAT) e incluso lograr una ejecución especulativa similar a Spectre a través de una conexión de red (NetSpectre).

"Dado que los ataques de NetSpectre apuntan a aplicaciones por encima de la capa de red, un atacante podría, en teoría, aprovechar nuestros ataques de tiempo basados en la concurrencia para mejorar la precisión del tiempo", dijeron los investigadores.

Los hallazgos se presentarán en el Simposio de Seguridad USENIX a finales de este año. Los investigadores también han publicado una herramienta basada en Python para comprobar los servidores HTTP/2 en busca de vulnerabilidades de TTA.

Jesus_Caceres