• 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. ITEOS, verschiedene Einsatzgebiete
  2. ServiceXpert Gesellschaft für Service-Informationssysteme mbH, Hamburg

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
Hardware-Angebote
  1. 399,00€ (Bestpreis! zzgl. Versand)
  2. (reduzierte Überstände, Restposten & Co.)

bofhl 23. Okt 2019 / Themenstart

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

Kommentieren


Folgen Sie uns
       


Nintendo Ring Fit Adventure angespielt

Mit Ring Fit Adventure können Spieler auf der Nintendo Switch einen Drachen bekämpfen - und dabei gleichzeitig Sport machen.

Nintendo Ring Fit Adventure angespielt Video aufrufen
Social Engineering: Die Mitarbeiter sind unsere Verteidigung
Social Engineering
"Die Mitarbeiter sind unsere Verteidigung"

Prävention reicht nicht gegen Social Engineering und die derzeitigen Trainings sind nutzlos, sagt der Sophos-Sicherheitsexperte Chester Wisniewski. Seine Lösung: Mitarbeiter je nach Bedrohungslevel schulen - und so schneller sein als die Kriminellen.
Ein Interview von Moritz Tremmel

  1. Social Engineering Mit künstlicher Intelligenz 220.000 Euro erbeutet
  2. Social Engineering Die unterschätzte Gefahr

Definitive Editon angespielt: Das Age of Empires 2 für Könige
Definitive Editon angespielt
Das Age of Empires 2 für Könige

Die 27 Einzelspielerkampagnen sollen für rund 200 Stunden Beschäftigung sorgen, dazu kommen Verbesserungen bei der Grafik und Bedienung sowie eine von Grund auf neu programmierte Gegner- oder Begleit-KI: Die Definitive Edition von Age of Empires 2 ist erhältlich.

  1. Microsoft Age of Empires 4 schickt Spieler ins Mittelalter

Starlink: SpaceX steht zwischen Flaute und Rekordjagd
Starlink
SpaceX steht zwischen Flaute und Rekordjagd

Die nächsten 60 Starlink-Satelliten stehen zum Start bereit, nachdem in diesem Jahr ungewöhnlich wenige Raketen gestartet sind - nicht nur von SpaceX. Die Flaute hat SpaceX selbst verursacht und einen Paradigmenwechsel in der Raumfahrt eingeläutet.
Von Frank Wunderlich-Pfeiffer

  1. Raumfahrt SpaceX testet Notfalltriebwerke des Crew Dragon
  2. Starship Mit viel Glück nur 6 Monate bis zum ersten Flug ins All
  3. SpaceX Das Starship nimmt Form an

    •  /