CPDoS-aanval die pagina's die via CDN worden aangeboden, ontoegankelijk maakt

Onderzoekers van de universiteiten van Hamburg en Keulen
ontwikkeld een nieuwe aanvalstechniek op netwerken voor het leveren van inhoud en caching-proxy's - CPDoS (Cache-vergiftigde Denial-of-Service). Door de aanval kan de toegang tot een pagina worden ontzegd via cachevergiftiging.

Het probleem is te wijten aan het feit dat CDN's niet alleen succesvol voltooide verzoeken in de cache opslaan, maar ook situaties waarin de http-server een fout retourneert. Als er problemen zijn met het vormen van verzoeken, geeft de server in de regel een 400-fout (Bad Request) af; de enige uitzondering is IIS, die een 404-fout (Not Found) geeft voor te grote headers. De standaard staat alleen toe dat fouten met de codes 404 (Niet gevonden), 405 (Methode niet toegestaan), 410 (Verdwenen) en 501 (Niet geïmplementeerd) in de cache worden opgeslagen, maar sommige CDN's cachen ook antwoorden met code 400 (Bad Request), wat afhankelijk is van op het verzonden verzoek.

Aanvallers kunnen ervoor zorgen dat de oorspronkelijke bron een ‘400 Bad Request’-fout retourneert door een verzoek te verzenden met HTTP-headers die op een bepaalde manier zijn geformatteerd. Met deze headers wordt geen rekening gehouden door het CDN, dus informatie over het onvermogen om toegang te krijgen tot de pagina wordt in de cache opgeslagen en alle andere geldige gebruikersverzoeken voordat de time-out verloopt, kunnen resulteren in een fout, ondanks het feit dat de oorspronkelijke site de inhoud aanbiedt probleemloos.

Er zijn drie aanvalsopties voorgesteld om de HTTP-server te dwingen een fout te retourneren:

  • HMO (HTTP Method Override) - een aanvaller kan de oorspronkelijke verzoekmethode overschrijven via de headers "X-HTTP-Method-Override", "X-HTTP-Method" of "X-Method-Override", ondersteund door sommige servers, maar in het CDN wordt geen rekening gehouden. U kunt bijvoorbeeld de oorspronkelijke “GET”-methode wijzigen in de “DELETE”-methode, die verboden is op de server, of de “POST”-methode, die niet van toepassing is op statische gegevens;

    CPDoS-aanval die pagina's die via CDN worden aangeboden, ontoegankelijk maakt

  • HHO (HTTP Header Oversize) - een aanvaller kan de headergrootte zo selecteren dat deze de limiet van de bronserver overschrijdt, maar niet binnen de CDN-beperkingen valt. Apache httpd beperkt bijvoorbeeld de headergrootte tot 8 KB, en Amazon Cloudfront CDN staat headers tot 20 KB toe;
    CPDoS-aanval die pagina's die via CDN worden aangeboden, ontoegankelijk maakt

  • HMC (HTTP Meta Character) - een aanvaller kan speciale tekens in het verzoek invoegen (\n, \r, \a), die als ongeldig worden beschouwd op de bronserver, maar worden genegeerd in het CDN.

    CPDoS-aanval die pagina's die via CDN worden aangeboden, ontoegankelijk maakt

Het meest vatbaar voor aanvallen was het CloudFront CDN dat werd gebruikt door Amazon Web Services (AWS). Amazon heeft het probleem nu opgelost door foutcaching uit te schakelen, maar het kostte onderzoekers meer dan drie maanden om bescherming toe te voegen. Het probleem had ook gevolgen voor Cloudflare, Varnish, Akamai, CDN77 en
Snel, maar de aanval via hen is beperkt tot doelservers die IIS, ASP.NET, Flacon и Speel 1. Het is genoteerd, dat 11% van de domeinen van het Amerikaanse ministerie van Defensie, 16% van de URL's uit de HTTP Archive-database en ongeveer 30% van de top 500 websites gerangschikt door Alexa mogelijk onderhevig kunnen zijn aan aanvallen.

Als tijdelijke oplossing om een ​​aanval aan de sitekant te blokkeren, kunt u de header ‘Cache-Control: no-store’ gebruiken, die het cachen van reacties verbiedt. In sommige CDN's, b.v.
CloudFront en Akamai kunt u foutcaching uitschakelen op het niveau van de profielinstellingen. Ter bescherming kunt u ook webapplicatie-firewalls (WAF, Web Application Firewall) gebruiken, maar deze moeten aan de CDN-zijde vóór de caching-hosts worden geïmplementeerd.

Bron: opennet.ru

Voeg een reactie