• IT-Karriere:
  • Services:

CPDoS-Angriff: Cache-Angriffe können Webseiten lahmlegen

Manche HTTP-Caches können dazu gebracht werden, Serverfehlermeldungen zu speichern, die sich durch bestimmte Anfragen auslösen lassen. Das funktioniert beispielsweise mit besonders langen Headern.

Artikel von veröffentlicht am
Der CPDoS-Angriff zielt auf das Zusammenspiel von Web-Caches und Web-Servern.
Der CPDoS-Angriff zielt auf das Zusammenspiel von Web-Caches und Web-Servern. (Bild: CPDoS-Webseite)

Zwei Forscher der Technischen Hochschule Köln haben einen Angriff auf bestimmte Konfigurationen von HTTP-Caches vorgestellt. Damit lassen sich Webseiten temporär lahmlegen, notwendig ist dafür nur eine einzelne HTTP-Anfrage eines Angreifers. Das Problem: Manche Caches speichern Fehlermeldungen, die eigentlich nicht im Cache vorgehalten werden dürfen. Den Angriff tauften seine Entdecker Cache Poison Denial of Service (CPDoS).

Stellenmarkt
  1. Sagemcom Dr. Neuhaus GmbH, Rostock
  2. MEIERHOFER AG, München, Passau, Berlin

Ein gängiges Setup von vielen Webseiten ist es, vor dem eigentlichen Webserver einen Cache zu haben. Das kann entweder ein System eines Dienstleisters sein, etwa ein Content-Delivery-Netzwerk, das weltweit verteilt Server betreibt und somit häufig in der Lage ist schneller zu antworten, oder auch spezielle Caching-Software als Teil der eigenen Infrastruktur. In diesen Setups speichert der Cache Antworten des eigentlichen Servers eine Zeit lang, damit weitere Anfragen nach derselben Webseite schneller beantwortet werden können.

Cache speichert Fehlermeldung und liefert diese bei folgenden Nutzeranfragen aus

Problematisch wird das Ganze, wenn der Cache auch Fehlermeldungen des Webservers speichert. Beispielsweise könnte ein Angreifer an den Cache eine Anfrage schicken, die einen riesigen Header enthält. Viele Webserver haben eine Größenbegrenzung für HTTP-Anfragen, so blockiert etwa der Apache-Webserver Anfragen, deren Header insgesamt größer als acht Kilobyte sind. Manche Caches lassen solche Anfragen aber durch, so erlaubt Amazons Cloudfront-Service etwa Anfragen bis zu 20 Kilobyte.

Ein Angreifer kann jetzt für eine bestimmte URL eine Anfrage schicken und hierbei einen unsinnigen, zehn Kilobyte großen Header mitschicken. Wenn der Cache diesen durchlässt, der Webserver aber mit einer Fehlermeldung antwortet, wird dieser Fehler im Cache gespeichert. In vielen Fällen ist das ein Fehler mit dem HTTP-Code 400 (Bad Request). Alle nachfolgenden Anfragen auf dieselbe URL führen dann dazu, dass diese mit einer Fehlermeldung beantwortet werden - so lange, wie der Cache diese speichert.

Neben der Variante mit besonders großen Headern stellen die Autoren zwei weitere Varianten vor: Angriffe mit bestimmten Sonderzeichen im Header und besondere Header, die dafür gedacht sind, ungewöhnliche HTTP-Methoden an Server zu schicken, bei denen diese vom Cache blockiert werden.

Ob der Angriff funktioniert, hängt vom genauen Verhalten sowohl des Webservers als auch des verwendeten Caches ab. Aus einer Tabelle der Autoren geht hervor, dass besonders Amazons Cloudfront-Service hier verwundbar war. Damit funktionierten Varianten des Angriffs mit fast allen Webservern. Cloudfront hat inzwischen reagiert und sein Caching-Verhalten verändert.

Cachen von HTTP-400-Fehlern unzulässig

Generell ist es laut HTTP-Standard nicht zulässig, dass Caches derartige Fehler speichern. Nur bestimmte Fehlermeldungen dürfen überhaupt von Caches gespeichert werden, der häufig bei solchen Anfragen auftretende Fehlertyp 400 gehört nicht dazu. Die Autoren weisen aber zudem darauf hin, dass viele Webserver falsche Fehlermeldungen erzeugen. Bei einem zu großen Request sollte etwa der Fehlercode 431 lauten, dieser steht dafür, dass der Request zu groß war.

Webserver können sich auch zusätzlich vor derartigen Problemen schützen, indem sie generell Fehlermeldungen mit einem Header ausstatten, der das Cachen unterbindet. Aber natürlich senkt das insbesondere auch bei Angriffen die Effektivität des Caches.

Das Zusammenspiel von HTTP-Caches und Webservern führt nicht zum ersten Mal zu Sicherheitsproblemen. Beispielsweise haben Forscher der Firma Portswigger vor einiger Zeit einen Angriff mit einer ähnlichen Idee namens HTTP Request Smuggling präsentiert.

Die Entdecker des CPDoS-Angriffs haben auf ihrer Webseite ein Hintergrundpaper veröffentlicht, das die Details erklärt. Das Paper wird offiziell auf der CCS-Konferenz im November in London veröffentlicht und es wird dort auch einen Vortrag dazu geben.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Mobile-Angebote
  1. 206,10€ (mit Rabattcode "PFIFFIGER" - Bestpreis!)
  2. 499,90€
  3. 569€ (Bestpreis!)

bofhl 23. Okt 2019

Warum sollte das AWS-Team auf die Forscher-Bitten reagieren oder gar von sich aus...


Folgen Sie uns
       


Librem Mini - Fazit

Der Librem Mini punktet mit guter Linux-Unterstützung, freier Firmware und einem abgesicherten Bootprozess.

Librem Mini - Fazit Video aufrufen
CoD, Crysis, Dirt 5, Watch Dogs, WoW: Radeon-Raytracing kann auch schnell sein
CoD, Crysis, Dirt 5, Watch Dogs, WoW
Radeon-Raytracing kann auch schnell sein

Wer mit Raytracing zockt, hat je nach Titel mit einer Radeon RX 6800 statt einer Geforce RTX 3070 teilweise die besseren (Grafik-)Karten.
Ein Test von Marc Sauter


    RCEP: Warum China plötzlich auf Freihandel setzt
    RCEP
    Warum China plötzlich auf Freihandel setzt

    China und andere wichtige asiatische Herstellerländer von Elektronikprodukten haben ein Freihandelsabkommen geschlossen. Dessen Bedeutung geht weit über rein wirtschaftliche Fragen hinaus.
    Eine Analyse von Werner Pluta

    1. Berufungsverfahren in weiter Ferne Tesla wirbt weiter mit Autopilot
    2. Warntag BBK prüft Einführung des Cell Broadcast neben Warn-Apps
    3. Bundesverkehrsministerium Keine Abstriche beim geplanten Universaldienst

    Star Wars: Darth-Vader-Darsteller Dave Prowse ist tot
    Star Wars
    Darth-Vader-Darsteller Dave Prowse ist tot

    Er war einer der großen Stars der originalen Star-Wars-Trilogie und doch kaum jemandem bekannt. David Prowse ist im Alter von 85 Jahren gestorben.
    Ein Nachruf von Peter Osteried

    1. Spaceballs Möge der Saft mit euch sein
    2. The Mandalorian Erste Folge der zweiten Staffel ist online
    3. Star Wars Disney und Lego legen Star Wars Holiday Special neu auf

      •  /