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. SAP QM/MES Spezialist (m/w/d)
    Müller Service GmbH, Leppersdorf
  2. (Junior) Mathematiker / Aktuar / Analyst (m/w/d) Actuarial Function Non-Life Calculation Unit
    Generali Deutschland AG, Köln
Detailsuche

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.

Golem Akademie
  1. IT-Sicherheit für Webentwickler
    5.-6. Juli 2021, online
Weitere IT-Trainings

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


Aktuell auf der Startseite von Golem.de
Frommer Legal
Große Abmahnwelle wegen Filesharing in Deutschland

Viele Menschen suchen derzeit Hilfe bei einer Anwaltskanzlei, weil sie wegen angeblich illegalem Filesharing abgemahnt wurden.

Frommer Legal: Große Abmahnwelle wegen Filesharing in Deutschland
Artikel
  1. Ärger um Drachenlord: Dorf verhängt Allgemeinverfügung wegen umstrittenem Youtuber
    Ärger um Drachenlord
    Dorf verhängt Allgemeinverfügung wegen umstrittenem Youtuber

    Seit Jahren ist das Dorf Altschauerberg Schauplatz von Provokationen gegen den Youtuber Rainer Winkler. Jetzt sollen neue Gesetze die Ordnung wiederherstellen.

  2. Elektroautos: Neue Ladekarten sollen Schwarzladen verhindern
    Elektroautos
    Neue Ladekarten sollen Schwarzladen verhindern

    Das einfache Klonen von Ladekarten soll künftig nicht mehr möglich sein. Doch dazu müssen alle im Umlauf befindlichen Karten ausgetauscht werden.

  3. Kriminalität: Dresdnerin wegen Mordauftrag im Darknet angeklagt
    Kriminalität
    Dresdnerin wegen Mordauftrag im Darknet angeklagt

    Eine 41-Jährige aus Dresden ist angeklagt, im Darknet einen Mord in Auftrag gegeben zu haben. Für die Ermordung der neuen Freundin ihres Ex-Mannes soll sie 0,2 Bitcoin geboten haben.

bofhl 23. Okt 2019

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


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Amazon Prime Day nur noch heute • SSD (u. a. Crucial BX500 1TB SATA 64,06€) • Gaming-Laptops von Razer & MSI • Crucial 32GB Kit DDR4-4000 269,79€ • 30% auf Warehouse • Primetime bei Saturn (u. a. Switch Lite 166,24€) • Gaming-Chairs • MM Gönn dir Dienstag [Werbung]
    •  /