Coloures-Pic - stock.adobe.com

Was Sie gegen HTTP Request Smuggling unternehmen können

Die Kommunikation zwischen einem Load Balancer und dem Webserver kann von Cyberkriminellen via HTTP Request Smuggling manipuliert und für ihre Zwecke missbraucht werden.

Load Balancer spielen eine wesentliche Rolle in der modernen Webarchitektur. Zusätzlich zu ihren Aufgaben beim Routing des anfallenden Traffics kümmern sich diese Geräte unter anderem auch um die Terminierung von TLS-Verbindungen (Transport Layer Security), um Tests der Funktionsfähigkeit von Servern und um andere kritische Managementfunktionen. Damit sorgen sie dafür, dass Webseiten nicht nur skalierbar, sondern auch sicher betrieben werden können.

Genau diese Technik, die auf der einen Seite den effizienten Betrieb von Webseiten erheblich verbessert hat, bringt jedoch eine potentielle Gefahr mit sich: So genannte HTTP Request Smuggling Attacks, mit denen Angreifer bestehende Sicherheitsmaßnahmen umgehen können.

Aufgrund der großen Bedeutung von Load Balancern im heutigen World Wide Web ist es absolut notwendig, dass betroffene IT-Manager verstehen, wie diese Art von Angriffen funktioniert. In diesem Beitrag stellen wir zudem geeignete Maßnahmen vor, mit denen Sie Ihre Webumgebung vor Angriffen via HTTP Request Smuggling schützen können.

Was ist eigentlich HTTP Request Smuggling?

Moderne Load Balancer sind äußerst ausgefeilte Gerätschaften, die eine umfangreiche Palette an Maßnahmen und Optimierungen nutzen, um auch noch das letzte Quäntchen an Performance und Effizienz aus einer Webarchitektur zu quetschen.

Eine der dabei am häufigsten verwendeten Methoden ist die Mehrfachnutzung von HTTP-Verbindungen für mehrere Anfragen. Ein Senden von Hunderten oder gar Tausenden Anfragen pro Sekunde vom Load Balancer zu einem Webserver ist nicht effizient. Aus diesem Grund schnüren moderne Load Balancer jeweils mehrere Anfragen zusammen und versenden sie anschließend gemeinsam über eine Netzwerkverbindung.

Abbildung 1: Diese Grafik zeigt, wie Netzwerksicherheitsgeräte platziert werden müssen, um ein Heim- oder Büronetzwerk zu sichern.
Abbildung 1: Diese Grafik zeigt, wie Netzwerksicherheitsgeräte platziert werden müssen, um ein Heim- oder Büronetzwerk zu sichern.

Es kann allerdings zu Problemen kommen, wenn der Load Balancer und der Server im Backend die dabei eingesetzten HTTP-Header unterschiedlich interpretieren. Es gibt mehrere Möglichkeiten, wie ein Angreifer dies für sich ausnutzen kann.

So wurden bereits Attacken beobachtet, bei denen mit Header-Einträgen zur Content-Länge oder zur Kodierung gearbeitet wurde. Bei jeder dieser Attacken ist das Problem, dass der Load Balancer und der Webserver die Anfragen unterschiedlich interpretieren. Das führt dazu, dass der Server im Backend einen nicht autorisierten Request erhält, den der Angreifer in die aktive HTTP-Verbindung zwischen dem Load Balancer und dem Server eingeschleust hat.

Maßnahmen gegen HTTP Request Smuggling Attacks

Angriffe mit Hilfe von HTTP Request Smuggling sind deswegen so heimtückisch, weil sie Fehler bei der Konfiguration der Server und Schwächen in den genutzten Protokollen für ihre Zwecke ausnutzen. Zum Glück gibt es eine Reihe von geeigneten Maßnahmen, mit denen IT-Entscheider ihre Webumgebungen vor dieser Art von Attacken schützen können:

Beschäftigen Sie sich eingehend damit, wie Ihre Infrastrukturkomponenten die diversen HTTP-Header interpretieren. Im Idealfall lassen sich Probleme vermeiden, indem sowohl auf dem Load Balancer als auch im Backend ein- und dieselbe Engine zum Auslesen der HTTP-Header genutzt wird. Leider ist das nur selten der Fall, da Load Balancer meist als Hardware-Appliances genutzt werden, während die Backend-Server auf komplett anderen Plattformen basieren. Ohne diese Möglichkeit, eine einheitliche Software auf beiden Seiten zu nutzen, sollten Sie prüfen, wie die Geräte mit HTTP-Headern umgehen. Versuchen Sie sicherzustellen, dass die Header einheitlich interpretiert werden.

Angriffe mit Hilfe von HTTP Request Smuggling sind deswegen so heimtückisch, weil sie Fehler bei der Konfiguration der Server und Schwächen in den genutzten Protokollen für ihre Zwecke ausnutzen.

Deaktivieren Sie alle Optimierungen, die HTTP Request Smuggling erleichtern. Wenn eine IT-Abteilung nicht in der Lage sein sollte, alle Probleme bei der Konfiguration im Backend zu beheben, dann sollten die Optimierungen für schnellere Übertragungen abgeschaltet werden. Nur auf diese Weise lässt sich verhindern, dass die unterschiedlichen Interpretationen für Angriffe via HTTP Request Smuggling genutzt werden können. Dadurch verschlechtert sich allerdings die Effizienz der Webumgebung. Auf der anderen Seite schützen diese Maßnahmen gegen die gefährlichen Angriffe.

Setzen Sie eine Web Application Firewall (WAF) ein. Die zunehmend verbreiteten Sicherheitslösungen enthalten bereits Funktionen zum Überprüfen und Bereinigen von HTTP-Traffic, so dass sie meist auch Angriffe via HTTP Request Smuggling erkennen und stoppen können. Unternehmen, die bereits eine WAF-Lösung nutzen, sollten sich beim Hersteller erkundigen, ob sie auch gegen HTTP Request Smuggling verwendet werden kann. Zusätzlich sollte geprüft werden, welche Änderungen an der Konfiguration erforderlich sind, um diesen Schutz zu optimieren.

HTTP Request Smuggling ist eine äußerst gefährliche Angriffsform, die dazu führen kann, dass auf Ihrem Webserver nicht autorisierte HTTP-Anfragen ausgeführt werden. Unternehmen, die aber zumindest eine oder sogar mehrere der oben beschriebenen Gegenmaßnahmen einführen, sind weit besser gegen diese Attacken geschützt, als wenn sie das Thema einfach ignorieren.

Erfahren Sie mehr über Bedrohungen