CPDoS-angreb, der gør sider, der serveres via CDN, utilgængelige

Forskere fra universiteterne i Hamborg og Köln
udviklede sig en ny angrebsteknik på indholdsleveringsnetværk og caching-proxyer - CPDoS (Cache-forgiftet Denial-of-Service). Angrebet gør det muligt at nægte adgang til en side gennem cacheforgiftning.

Problemet skyldes det faktum, at CDN'er cache ikke kun gennemførte anmodninger, men også situationer, hvor http-serveren returnerer en fejl. Som regel, hvis der er problemer med at oprette anmodninger, udsteder serveren en 400 (Dårlig anmodning) fejl; den eneste undtagelse er IIS, som udsteder en 404 (Ikke fundet) fejl for store overskrifter. Standarden tillader kun at cache fejl med koderne 404 (Ikke fundet), 405 (Metode ikke tilladt), 410 (Borte) og 501 (Ikke implementeret), men nogle CDN'er cacherer også svar med kode 400 (Bad Request), hvilket afhænger af på den afsendte anmodning.

Angribere kan få den oprindelige ressource til at returnere en "400 Bad Request"-fejl ved at sende en anmodning med HTTP-headere formateret på en bestemt måde. Disse overskrifter tages ikke i betragtning af CDN, så oplysninger om manglende adgang til siden vil blive cachelagret, og alle andre gyldige brugeranmodninger før timeout udløber kan resultere i en fejl, på trods af at det originale websted serverer indholdet uden problemer.

Tre angrebsmuligheder er blevet foreslået for at tvinge HTTP-serveren til at returnere en fejl:

  • HMO (HTTP Method Override) - en angriber kan tilsidesætte den oprindelige anmodningsmetode gennem "X-HTTP-Method-Override", "X-HTTP-Method" eller "X-Method-Override" overskrifter, understøttet af nogle servere, men ikke taget i betragtning i CDN . For eksempel kan du ændre den originale "GET"-metode til "DELETE"-metoden, som er forbudt på serveren, eller "POST"-metoden, som ikke er anvendelig til statik;

    CPDoS-angreb, der gør sider, der serveres via CDN, utilgængelige

  • HHO (HTTP Header Oversize) - en angriber kan vælge headerstørrelsen, så den overskrider grænsen for kildeserveren, men falder ikke inden for CDN-begrænsningerne. For eksempel begrænser Apache httpd headerstørrelsen til 8 KB, og Amazon Cloudfront CDN tillader headers op til 20 KB;
    CPDoS-angreb, der gør sider, der serveres via CDN, utilgængelige

  • HMC (HTTP Meta Character) - en angriber kan indsætte specialtegn i anmodningen (\n, \r, \a), som anses for ugyldige på kildeserveren, men ignoreres i CDN.

    CPDoS-angreb, der gør sider, der serveres via CDN, utilgængelige

Den mest modtagelige for angreb var CloudFront CDN, der blev brugt af Amazon Web Services (AWS). Amazon har nu løst problemet ved at deaktivere fejlcache, men det tog forskere mere end tre måneder at tilføje beskyttelse. Problemet påvirkede også Cloudflare, Varnish, Akamai, CDN77 og
Hurtigt, men angrebet gennem dem er begrænset til målservere, der bruger IIS, ASP.NET, Flask и Spil 1. Det er noteret, at 11 % af det amerikanske forsvarsministeriums domæner, 16 % af URL'erne fra HTTP-arkivdatabasen og omkring 30 % af de 500 største websteder rangeret af Alexa potentielt kan blive udsat for angreb.

Som en løsning til at blokere et angreb på webstedets side, kan du bruge "Cache-Control: no-store"-headeren, som forbyder svarcache. I nogle CDN'er, f.eks.
CloudFront og Akamai, kan du deaktivere fejlcachelagring på profilindstillingsniveau. Til beskyttelse kan du også bruge webapplikationsfirewalls (WAF, Web Application Firewall), men de skal implementeres på CDN-siden foran caching-værterne.

Kilde: opennet.ru

Tilføj en kommentar