Investigadors de les universitats d'Hamburg i Colònia
El problema es deu al fet que els CDN emmagatzemen a la memòria cau no només les sol·licituds completades amb èxit, sinó també situacions en què el servidor http retorna un error. Per regla general, si hi ha problemes amb la formació de sol·licituds, el servidor emet un error 400 (sol·licitud incorrecta); l'única excepció és IIS, que emet un error 404 (no trobat) per a capçaleres massa grans. L'estàndard només permet que els errors amb els codis 404 (no trobat), 405 (mètode no permès), 410 (desaparegut) i 501 (no s'ha implementat) s'emmagatzemin en memòria cau, però alguns CDN també emmagatzemen a la memòria cau les respostes amb el codi 400 (sol·licitud incorrecta), que depèn. a la sol·licitud enviada.
Els atacants poden fer que el recurs original retorni un error "400 Bad Request" enviant una sol·licitud amb capçaleres HTTP formatades d'una manera determinada. Aquestes capçaleres no es tenen en compte pel CDN, de manera que la informació sobre la impossibilitat d'accedir a la pàgina s'emmagatzemarà a la memòria cau i totes les altres sol·licituds vàlides d'usuari abans que caduqui el temps d'espera poden provocar un error, malgrat que el lloc original serveixi el contingut. sense cap problema.
S'han proposat tres opcions d'atac per forçar el servidor HTTP a retornar un error:
- HMO (HTTP Method Override): un atacant pot anul·lar el mètode de sol·licitud original mitjançant les capçaleres "X-HTTP-Method-Override", "X-HTTP-Method" o "X-Method-Override", compatibles amb alguns servidors, però no es té en compte al CDN . Per exemple, podeu canviar el mètode "GET" original pel mètode "DELETE", que està prohibit al servidor, o el mètode "POST", que no és aplicable a l'estàtica;
- HHO (HTTP Header Oversize): un atacant pot seleccionar la mida de la capçalera perquè superi el límit del servidor d'origen, però no entra dins de les restriccions CDN. Per exemple, Apache httpd limita la mida de la capçalera a 8 KB i Amazon Cloudfront CDN permet capçaleres de fins a 20 KB;
- HMC (HTTP Meta Character): un atacant pot inserir caràcters especials a la sol·licitud (\n, \r, \a), que es consideren no vàlids al servidor d'origen, però s'ignoren al CDN.
El més susceptible d'atac va ser el CloudFront CDN utilitzat per Amazon Web Services (AWS). Amazon ara ha solucionat el problema desactivant la memòria cau d'errors, però els investigadors van trigar més de tres mesos a afegir protecció. El problema també va afectar Cloudflare, Varnish, Akamai, CDN77 i
Ràpidament, però l'atac a través d'ells es limita als servidors objectiu que utilitzen IIS, ASP.NET,
Com a solució alternativa per bloquejar un atac al lloc, podeu utilitzar la capçalera "Cache-Control: no-store", que prohibeix l'emmagatzematge en memòria cau de respostes. En alguns CDN, p.
CloudFront i Akamai, podeu desactivar la memòria cau d'errors al nivell de configuració del perfil. Per protegir-vos, també podeu utilitzar tallafocs d'aplicacions web (WAF, tallafocs d'aplicacions web), però s'han d'implementar al costat CDN davant dels amfitrions de la memòria cau.
Font: opennet.ru