Ataque CPDoS para que as páxinas publicadas a través da CDN non estean dispoñibles

Investigadores das Universidades de Hamburgo e Colonia
desenvolveron unha nova técnica de ataque en redes de entrega de contido e proxies de caché - CPDoS (Denegación de servizo envelenada por caché). O ataque permite denegar o acceso a unha páxina mediante o envelenamento da caché.

O problema débese ao feito de que as CDN almacenan en caché non só as solicitudes completadas con éxito, senón tamén as situacións nas que o servidor http devolve un erro. Como regra xeral, se hai problemas coa formación de solicitudes, o servidor emite un erro 400 (solicitude incorrecta); a única excepción é IIS, que emite un erro 404 (non atopado) para cabeceiras demasiado grandes. O estándar só permite almacenar en caché os erros cos códigos 404 (non atopado), 405 (método non permitido), 410 (desaparecido) e 501 (non implementado), pero algúns CDN tamén almacenan na caché as respostas co código 400 (solicitude incorrecta), que depende na solicitude enviada.

Os atacantes poden facer que o recurso orixinal devolva un erro "400 Bad Request" enviando unha solicitude con cabeceiras HTTP formateadas dun xeito determinado. Estas cabeceiras non son tidas en conta pola CDN, polo que a información sobre a imposibilidade de acceder á páxina almacenarase na memoria caché e todas as demais solicitudes válidas dos usuarios antes de que remate o tempo de espera poden producir un erro, a pesar de que o sitio orixinal ofrece o contido. sen ningún problema.

Propuxéronse tres opcións de ataque para forzar o servidor HTTP a devolver un erro:

  • HMO (Anulación do método HTTP): un atacante pode anular o método de solicitude orixinal a través das cabeceiras "X-HTTP-Method-Override", "X-HTTP-Method" ou "X-Method-Override", admitidas por algúns servidores, pero non se ten en conta na CDN . Por exemplo, pode cambiar o método "GET" orixinal polo método "DELETE", que está prohibido no servidor, ou o método "POST", que non é aplicable para a estática;

    Ataque CPDoS para que as páxinas publicadas a través da CDN non estean dispoñibles

  • HHO (HTTP Header Oversize): un atacante pode seleccionar o tamaño da cabeceira para que supere o límite do servidor de orixe, pero non entre as restricións CDN. Por exemplo, Apache httpd limita o tamaño da cabeceira a 8 KB e Amazon Cloudfront CDN permite cabeceiras de ata 20 KB;
    Ataque CPDoS para que as páxinas publicadas a través da CDN non estean dispoñibles

  • HMC (HTTP Meta Character): un atacante pode inserir caracteres especiais na solicitude (\n, \r, \a), que se consideran non válidos no servidor de orixe, pero que se ignoran no CDN.

    Ataque CPDoS para que as páxinas publicadas a través da CDN non estean dispoñibles

O máis susceptible ao ataque foi o CDN de CloudFront utilizado por Amazon Web Services (AWS). Amazon solucionou agora o problema desactivando o caché de erros, pero os investigadores tardaron máis de tres meses en engadir protección. O problema tamén afectou a Cloudflare, Varnish, Akamai, CDN77 e
Rápidamente, pero o ataque a través deles está limitado a servidores obxectivo que usan IIS, ASP.NET, Frasco и Xoga 1. Nótase, que o 11% dos dominios do Departamento de Defensa dos EUA, o 16% dos URL da base de datos HTTP Archive e preto do 30% dos 500 sitios web clasificados por Alexa poderían ser obxecto de ataques.

Como solución alternativa para bloquear un ataque no lado do sitio, pode usar a cabeceira "Cache-Control: non-store", que prohibe o almacenamento en caché de respostas. Nalgunhas CDN, p.
CloudFront e Akamai, podes desactivar o caché de erros no nivel de configuración do perfil. Para protección, tamén pode usar cortalumes de aplicacións web (WAF, Firewall de aplicacións web), pero deben implementarse no lado CDN fronte aos hosts de almacenamento na caché.

Fonte: opennet.ru

Engadir un comentario