Was ist eine HTTP-Flut?
Die HTTP-Flut (auf Englisch HTTP-Flut ) ist eine Art von DDoS-Angriff (englischer verteilter Denial-of-Service oder verteilter Denial-of-Service ). In diesen Fällen besteht das Ziel des Angreifers darin, die Anwendung oder Website mit einer großen Anzahl von Besuchen von verschiedenen Standorten aus zu überfüllen. HTTP-Flood- Angriffe werden auch als Layer-7-Angriffe bezeichnet , die sich im OSI-Modell auf die sogenannte Anwendungsschicht beziehen. Dieses Modell besagt, dass das Internet aus sieben Schichten besteht.
Das Ziel von Layer 7-Angriffen ist immer, das Netzwerk oder den Server von Ressourcen zu hungern. Wenn die Hardware nicht über ausreichende Ressourcen verfügt, dauert es länger, bis der Client auf Anforderungen reagiert. Während einer HTTP-Flut wird das System überlastet , da der Angreifer ohne Pause eine große Anzahl von Anforderungen an die Hardware sendet , wodurch der Zugriff auf den Server und das Netzwerk verhindert wird.
Auf diese Weise soll durch einen HTTP-Flood- Angriff der Server durch ganz normale Anfragen deaktiviert werden. Wie können wir diese Sicherheitsanfälligkeit des HTTP-Protokolls vermeiden?
- Was ist ein HTTP-Flood-Angriff?
- Wie können Sie den Angriff verhindern?
- Wie können Sie sich schützen?
Was ist ein HTTP-Flood-Angriff?
HTTP-Flood- Angriffe basieren auf den GET- oder POST-Anforderungen des Clients. Der Client, dh der Browser, der auf die Website zugreifen möchte, sendet eine dieser Anforderungen. Der Server verarbeitet es und sendet die Antwort an den Client zurück.
GET-Anforderungen rufen statischen Inhalt ab, z. B. Bilder oder Textblöcke. Stattdessen werden POST-Anforderungen verwendet, um auf dynamische Ressourcen zuzugreifen. Mit anderen Worten, die GET-Methode empfängt Daten vom Server, während die POST-Methode Daten an den Server sendet. Beide können verwendet werden, um diese Art von Angriff auszuführen, obwohl die POST-Methode häufiger verwendet wird, da sie eine komplexe Verarbeitung durch den Server erfordert .
Während eines HTTP-Flood- Angriffs werden viele dieser Anforderungen gleichzeitig und über einen langen Zeitraum gestellt. In der Regel wird ein Botnetz verwendet, um die Anzahl der Anforderungen zu erhöhen. Der HTTP-Flood- Angriff ist so konzipiert, dass der Server jeder Anforderung das größtmögliche Ressourcenvolumen zuweist. In einer normalen Situation ist dies wünschenswert, da der Server nicht wie in diesem Fall Tausende oder Hunderttausende von Anforderungen pro Minute empfängt. In diesem Fall muss der Angreifer nur auf den Überlauf des Servers warten, was zum Absturz der Anwendung oder Website führt.
Wie können Sie den Angriff verhindern?
Manchmal erzeugen Seiten vorübergehend viel Verkehr, so dass es schwierig ist zu erkennen, ob die Besuche aufgrund eines Angriffs oder einfach zum Zweck einer guten Marketingkampagne zunehmen. Wenn Sie feststellen, dass es sich um einen HTTP-Flood- Angriff handelt , können Firewalls verdächtige IP-Adressen identifizieren und blockieren.
In dieser Situation besteht der erste Schritt darin, die sogenannte JavaScript Computational Challenge an den Client zu senden , eine Methode, mit der festgestellt werden kann, ob sie Teil eines Botnetzes oder ein normaler Benutzer ist. Im Gegensatz zu Bots kann jeder Browser eines normalen Website-Besuchers diesen Test bestehen .
Wenn Sie die Vorgehensweise des Angreifers kennen, können Sie einige einfache Regeln in die Firewall eingeben , um die IP-Adressen des Botnetzes automatisch zu blockieren . Eine HTTP-Flut kann im Allgemeinen innerhalb von Minuten erkannt und gestoppt werden, sofern sie als Ursache für den Systemabsturz identifiziert wurde.
Wie können Sie sich schützen?
Es ist sehr schwierig, sich vor einer HTTP-Flut zu schützen , da die Anforderungen des Angreifers wie normaler Website-Verkehr aussehen können . Bei dieser Art von Angriff wird Malware weder an den Server gesendet, noch soll sie Sicherheitsverletzungen ausnutzen, sondern den Server mit legitimen Anforderungen überfüllen. Da diese viel weniger Bandbreite erfordern als jeder Eingriff in den Code der Seite, kann diese Art von Angriff zunächst unbemerkt bleiben.
Um sich selbst zu schützen, verwenden die meisten Websites den Captcha-Test, der nur von einem menschlichen Benutzer bestanden werden kann. Auf diese Weise ist es möglich herauszufinden, ob die Anfrage von einem Botnetz stammt, und folglich die entsprechenden IP-Adressen zu blockieren. Es gibt auch Anwendungs- und Website- Firewalls , die den Datenverkehr überprüfen und analysieren. Diese Systeme können die Seite etwas verlangsamen, garantieren jedoch ihren Schutz und ihre Stabilität. Wenn für die Seite selbst eine große Datenmenge verarbeitet werden muss, empfiehlt es sich, eine Ladeseite anzuzeigen, während die Hauptseite im Hintergrund geladen wird.
HTTP-Flood ist nur eine von mehreren Arten von DDoS-Angriffen, einschließlich Ping-Flood, SYN-Flood, UDP-Flood und Ping of Death. In allen Fällen besteht das Ziel darin, die Webserver zu deaktivieren.