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. M365 Senior Administrator (m/w/d)
    Radeberger Gruppe KG, verschiedene Standorte
  2. Spezialist (m/w/d) Anforderungs- und Problemmanagement sowie Testkoordination
    Bayerische Versorgungskammer, München
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. PowerShell Praxisworkshop: virtueller Vier-Tage-Workshop
    20.–23. Dezember 2021, virtuell
  2. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    17.–21. Januar 2022, virtuell
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
Bundesservice Telekommunikation  
Ist eine scheinexistente Behörde für Wikipedia relevant?

Die IT-Sicherheitsexpertin Lilith Wittmann hat eine dubiose Bundesbehörde ohne Budget entdeckt. Reicht das für einen Wikipedia-Artikel?

Bundesservice Telekommunikation: Ist eine scheinexistente Behörde für Wikipedia relevant?
Artikel
  1. Elektroauto: VW e-Up ab Mitte Februar wieder bestellbar
    Elektroauto
    VW e-Up ab Mitte Februar wieder bestellbar

    Der e-Up gehörte 2021 zu den meistgekauften Elektroautos. Nun will VW den Kleinwagen wieder verfügbar machen.

  2. Bitcoin, Ethereum: Was steuerlich bei Kryptowährungen gilt
    Bitcoin, Ethereum
    Was steuerlich bei Kryptowährungen gilt

    Kryptowährungen wie Bitcoin sind unter Anlegern beliebt - doch wie muss man die Gewinne eigentlich versteuern?

  3. Neues Geschäftsmodell: Luca-App plant flexible Abos und will Preise senken
    Neues Geschäftsmodell
    Luca-App plant flexible Abos und will Preise senken

    Angesichts drohender Kündigungen will die Luca-App den Bundesländern entgegenkommen.

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
    Daily Deals • Bosch Professional zu Bestpreisen • WSV bei MediaMarkt • Asus Vivobook Flip 14" 8GB 512GB SSD 567€ • Philips OLED 65" Ambilight 1.699€ • RX 6900 16GB 1.489€ • Samsung QLED-TVs günstiger • Asus Gaming-Notebook 17“ R9 RTX3060 1.599€ • Seagate 20TB SATA HDD [Werbung]
    •  /