Nos hacemos eco de un nuevo ataque a través del envenenamiento de caché que afecta a sitios que utilizan CDN populares. Esto podría causar la denegación de acceso a los usuarios a los recursos que se entregan a través de CDN. Este tipo de ataques se denomina CPDoS. Se trata de un nuevo método que cuenta con diferentes variantes y funciona a través de una solicitud HTTP con un encabezado con formato incorrecto.
Qué es un CDN
En primer lugar vamos a explicar qué es un CDN. Cuando mencionamos este término nos referimos a una red de distribución de contenidos. Es el nombre que recibe la infraestructura a través de la cual se enlazan varios equipos distribuidos geográficamente en lo que se conocen como data centers.
Este tipo de infraestructuras sirve para almacenar parte de la información y contenido de los sitios web para posteriormente entregarlos al usuario final. Incluso pueden servir como una barrera adicional contra ataques de seguridad, mejorar el rendimiento y los tiempos de carga.
Nuevos ataques de envenenamiento de caché contra sitios
Ahora bien, estos ataques que mencionamos consisten en inyectar código malicioso en la caché de estos sitios que utilizan CDN populares. Estos CDN tienen la propiedad de reducir la huella de tráfico en los servidores de origen que utilizan sus servicios al almacenar en caché los recursos que los clientes solicitan con frecuencia. Esto permite mejorar el rendimiento. Podemos ver la caché almacenada de una web.
CPDoS, como denominan a este ataque de envenenamiento de caché, funciona al nivel del sistema de caché intermedio de un CDN, que recibe y almacena una página de error causada por un encabezado de solicitud HTTP con formato incorrecto.
Esto supone que los usuarios van a recibir una página de error de caché. Esto es lo que el servidor de origen devuelve después de la solicitud con el encabezado incorrecto.
Un grupo de investigadores de seguridad que están detrás de este informe indican que hay tres tipos de ataques CPFoS. Uno de ellos lo han denominado HTTP Header Oversize (HHO), a otro lo denominan HTTP Meta Character (HMC) y al tercero HTTP Method Override (HMO).
En el primer caso, con el tipo de ataque CPDoS de HHO, un atacante aprovecha los sistemas intermedios de límite de tamaño y los servidores web configurados para un encabezado de solicitud HTTP.
Si el sistema de caché acepta un tamaño de encabezado de solicitud mayor que el definido para el servidor de origen, el atacante puede elaborar una solicitud con una clave de solicitud de gran tamaño o con múltiples encabezados. Devolverían un error 400 tras la solicitud.
En el segundo caso, HMC, es parecido al anterior pero en este caso se basa en un metacarácter malicioso. Una vez más el sistema de caché realiza su trabajo y reenvía la solicitud que se recibe del cliente. Posteriormente genera un mensaje de error en vez de enviar el recurso que se ha solicitado.
Por último, el tercer caso, HMO, se aprovecha de sistemas intermedios como proxies o firewalls que únicamente admiten los métodos de solicitud HTTP GET y POST.
En otro artículo explicamos cómo ver la caché de DNS en Windows.