BLOG | NGINX

So passt sich NGINX App Protect Denial of Service an die sich entwickelnde Angriffslandschaft an

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Vadim Krishtal Miniaturbild
Vadim Krishtal
Veröffentlicht am 06. Juli 2021

Da immer mehr Aspekte unseres täglichen Lebens online stattfinden, halten Cyberangreifer in ihren Bemühungen Schritt, die Servicequalität der Apps, auf die wir angewiesen sind, zu verschlechtern. Ihre Motive sind vielfältig und reichen von Rache über die Beeinflussung des Aktienkurses betroffener Unternehmen bis hin zur Schaffung eines Nebels, der die Sicherheitsteams von Datenschutzverletzungen ablenken soll.

In einem früheren Blog haben wir beschrieben, wie Sicherheitsteams in der Vergangenheit kontinuierlich neue Abwehrmaßnahmen gegen volumetrische Denial-of-Service- (DoS) und verteilte DoS-Angriffe (DDoS) auf Netzwerk- und Transportebene ( Schicht 3 und 4 ) entwickeln mussten, die die verfügbare Bandbreite der Server durch Überflutung mit TCP/UDP-Verbindungsanforderungen erschöpfen. Jetzt haben Angreifer ihr Arsenal um ein neues Tool erweitert: DoS- und DDoS-Angriffe, die HTTP-Anfragen oder API-Aufrufe verwenden, um Ressourcen auf Anwendungsebene ( Schicht 7 ) zu erschöpfen.

Herkömmlicher DoS-Schutz vor Netzwerk- und volumetrischen Angriffen ist gegen Layer-7-Angriffe nicht wirksam, da bösartige Anfragen auf Anwendungsebene oft genauso aussehen wie legitime Anfragen. Darüber hinaus können HTTP-Angriffe auf Ebene 7 bei einer viel geringeren Rate und einem viel geringeren Anforderungsvolumen Schaden anrichten als Angriffe auf Netzwerkebene. Der Layer 7-DoS-Schutz muss angesichts völlig neuer Anforderungen sensibler werden:

  • Unterscheiden von Angriffen von regulären Datenverkehrsmustern
  • Auswerten des Serverzustands unter Last
  • Feststellen, wann ein Angriff begonnen hat und ob er vorbei ist
  • Abwehr von Angriffen ohne Beeinträchtigung legitimer Benutzer
  • Feststellen, ob Änderungen im App-Verhalten auf Angriffe oder Aktualisierungen der App-Funktionalität zurückzuführen sind
  • Einen längeren Angriff ohne Verlust der Erkennungseffizienz überleben

NGINX App Protect Denial of Service (DoS) befasst sich mit all diesen Herausforderungen, um einen Zero-Day-Schutz zu gewährleisten, der optimiert und einfach zu implementieren ist und eine adaptive Zero-Touch-Richtlinienkonfiguration bietet.

So passt sich NGINX App Protect DoS an, um Angriffe automatisch zu stoppen

NGINX App Protect DoS verwendet einen mehrstufigen Prozess, um Layer-7-DoS-Angriffe zu erkennen und abzuschwächen:

  1. Erfassen Sie typisches Verhalten in einem statistischen Site-Modell
  2. Überprüfen der Dienstintegrität
  3. Erkennen einer Anomalie
  4. Identifizieren böswilliger Akteure und Anforderungsmuster
  5. Mildern Sie den Angriff mit einer mehrschichtigen Verteidigung

Erfassen typischen Verhaltens in einem statistischen Standortmodell

Der erste Schritt im Prozess besteht darin, das Benutzer- und Anwendungsverhalten zu einem Zeitpunkt zu erfassen, zu dem die Site nachweislich nicht angegriffen wird. So können wir ein statistisches Site-Modell erstellen, das eine Basislinie typischen Verhaltens erfasst. NGINX App Protect DoS verfolgt 320 Benutzer- und App-Metriken für eine umfassende Ansicht Ihrer App-Bereitstellung. Darüber hinaus wird das statistische Site-Modell dynamisch aktualisiert, während der Datenverkehr beobachtet wird. Dadurch müssen Sie die Systemschwellenwerte nicht mehr manuell anpassen und es wird gleichzeitig garantiert, dass NGINX App Protect DoS die im Laufe der Zeit unvermeidlichen Änderungen der Verkehrsmuster berücksichtigt.

Eine Klasse der verfolgten Metriken betrifft HTTP-Anforderungsmerkmale – die HTTP-Methode, den Wert des User-Agent -Headers und andere, wie die in der Grafik gezeigten.

Kreisdiagramme, die den Anteil der Werte für HTTP-Anforderungsmerkmale darstellen (Methode, Wert des User-Agent-Headers und 6 weitere)

Überprüfen des Dienstzustands

Viele Layer-7-DoS-Minderungstools achten nur auf die Verkehrsmuster der Clients. Für eine bessere Angriffserkennung können Sie NGINX App Protect DoS so konfigurieren, dass zusätzlich aktiv die Dienstintegrität überprüft wird. Es verfolgt mehrere Server-Leistungsmetriken wie Antwortzeit und Anteil abgebrochener Anfragen. Eine Verschlechterung der Werte dieser Kennzahlen deutet darauf hin, dass eine Anwendung „unter Stress“ steht, möglicherweise aufgrund eines Angriffs. Die Verfolgung von Servermetriken bietet noch einen weiteren Vorteil: Sobald NGINX App Protect DoS feststellt, dass ein Angriff im Gange ist, hilft das Muster der Antworten auf Integritätsprüfungen dabei, den Beginn des Angriffs zu ermitteln.

Erkennen einer Anomalie

Wenn NGINX App Protect DoS anhand von Abweichungen vom Site-Statistikmodell und Änderungen der Serverantwort (sofern konfiguriert) feststellt, dass ein Angriff im Gange ist, stoppt es die Aktualisierung des Site-Statistikmodells und analysiert stattdessen, wie die aktuellen Messwerte von den festgelegten Basiswerten abweichen. Unterschiede deuten wahrscheinlich auf eine globale Anomalie hin.

Identifizieren böswilliger Akteure und Anforderungsmuster

NGINX App Protect DoS startet dann zwei parallel laufende Verfahren:

  1. Analysieren Sie das Verhalten einzelner Benutzer, um festzustellen, wer die Anomalie verursacht oder dazu beigetragen hat.

    NGINX App Protect behandelt alle Benutzer zunächst als Verdächtige und analysiert ihr Verhalten. Es ist unwahrscheinlich, dass jeder Benutzer ein Angreifer ist, aber durch die Messung des Verhaltens aller Benutzer kann NGINX App Protect ein statistisches Bild erstellen, das zeigt, wer zum Angriff beigetragen hat und wer nicht. Erkannte böswillige Akteure werden anhand ihrer IP-Adresse oder des X-Forwarded-For- Headers in ihren Anfragen identifiziert.

  2. Erstellen einer Liste mit Regeln, die den Angriffsverkehr beschreiben, ohne legitime Benutzer zu blockieren – Echtzeitsignaturen zum Schutz vor Zero-Day-Angriffen. Bei früheren Angriffen generierte Signaturen können wiederverwendet werden.

    Die generierten Signaturen identifizieren mit dem Angriff verbundene HTTP-Attribute, wie in diesem Beispiel:

    http.request.method eq GET und http.user_agent enthält Chrome und http.uri_parameters eq6 und http.accept_header_exists gleich false und http.headers_count gleich 7
    

Den Angriff durch eine mehrschichtige Verteidigung abschwächen

Das Hauptziel bei der Verteidigung gegen einen Layer-7-Angriff besteht darin, ihn abzuwehren, bevor er Schaden anrichten kann.

Wie im folgenden Diagramm dargestellt, können Sie entweder eine konservative oder eine standardmäßige Minderungsstrategie konfigurieren. Bei beiden Strategien besteht die erste Verteidigungsebene darin, Anfragen von böswilligen Akteuren zu blockieren, die im vorherigen Schritt anhand ihrer IP-Adresse und des X-Forwarded-For- Headers identifiziert wurden. Die nächste Verteidigungsebene blockiert Anfragen, die mit den im vorherigen Schritt generierten Signaturen übereinstimmen.

Wenn Sie die Standardminderung konfiguriert haben und NGINX App Protect DoS feststellt, dass die ersten beiden Verteidigungsebenen nicht ausreichen, wird für einen kurzen Zeitraum eine globale Ratenbegrenzung angewendet.

NGINX App Protect DOS bietet mehrschichtigen Schutz gegen Angriffe und umfasst konservative Abwehrmaßnahmen (Blockieren fehlerhafter IP-Adressen und passender Signaturen), gefolgt von Standardabwehrmaßnahmen (Ratenbegrenzung), falls erforderlich.

Minimieren von Fehlalarmen bei der Angriffsabwehr

Wenn NGINX App Protect DoS eine globale Ratenbegrenzung anwendet, besteht die Möglichkeit, dass Anfragen von legitimen Benutzern blockiert werden – ein Fehlalarm. NGINX App Protect DoS kann Fehlalarme reduzieren, da ein typischer DoS-Angriff mithilfe von Skripten erstellt wird, die von einem Botnet-Controller (Malware auf infizierten Computern) und nicht direkt von Menschen ausgeführt werden. Im Gegensatz zu Webbrowsern können viele dieser einfachen Skripte eine HTTP-Umleitung nicht richtig handhaben, und noch weniger können JavaScript verarbeiten. Diese Leistungsunterschiede zwischen Skripten und Browsern helfen NGINX App Protect DoS dabei, festzustellen, welches von ihnen den verdächtigen Datenverkehr generiert.

Anstatt die Rate der Anfragen aller Clients zu begrenzen, sendet NGINX App Protect DoS zuerst eine HTTP-Umleitung und dann einen zu verarbeitenden JavaScript-Ausschnitt. Per Skript erstellte Bots können nicht erfolgreich antworten, ein Browser jedoch schon. Dadurch kann NGINX App Protect DoS den Datenverkehr von Skripten blockieren, den Browser-Datenverkehr jedoch durchlassen.

Wir sind uns bewusst, dass sich einige Benutzer aufgrund des Potenzials einer großen Anzahl falscher Positivergebnisse nicht auf adaptives Lernen verlassen möchten. Wir haben jedoch festgestellt, dass dies die wirksamste Methode zur Abwehr von Layer-7-DoS-Angriffen ist. NGINX App Protect DoS reduziert Fehlalarme durch die Kombination mehrerer Ansätze: Analyse des Benutzerverhaltens, Überprüfung der Dienstintegrität und Messung der Wirksamkeit von Abwehrmaßnahmen. Zusammen bieten die drei Ansätze umfassende Transparenz und Schutz, ohne dass Sie die Konfiguration als Reaktion auf Angriffe manuell ändern müssen.

Warum Layer-7-DoS-Schutz, wenn ich bereits über eine WAF verfüge?

Sie fragen sich vielleicht, warum Sie einen Layer-7-DoS-Schutz benötigen, wenn Ihre WAF bereits vor Bots schützt. Es stimmt zwar, dass Layer-7-DDoS-Angriffe in der Regel von Bots gestartet werden, ihr Zweck ist jedoch nicht derselbe wie bei anderen Bot-Aktivitäten. Bots versuchen normalerweise, Informationen abzugreifen, ohne den Dienst zu unterbrechen, während Dienstunterbrechungen genau das Ziel von Layer-7-DOS- und DDoS-Angriffen sind.

Ein weiterer Unterschied besteht darin, dass herkömmliche Anti-Bot-Tools versuchen, zwischen „guten Bots“ und „schlechten Bots“ zu unterscheiden. Dies ist eine anspruchsvolle Aufgabe, die in der Regel menschliche Überwachung erfordert, um Fehlalarme zu vermeiden. NGINX App Protect DoS hingegen kümmert sich nicht darum, ob der Datenverkehr durch Bots oder andere Mechanismen generiert wird – es konzentriert sich darauf, Angreifer und legitime Benutzer anhand ihres Verhaltens zu unterscheiden. Da NGINX App Protect DoS Antibot-Techniken nur dann verwendet, wenn festgestellt wurde, dass die Bots an einem Layer-7-DoS-Angriff beteiligt sind, generiert es erheblich weniger Fehlalarme als herkömmliche Antibot-Software. Darüber hinaus sind die DoS-Minderungsmethoden von NGINX App Protect CPU-effizient, sodass Ihre Apps während eines Layer-DoS-Angriffs weiterhin geschützt sind.

Abschluss

NGINX App Protect DoS verfolgt mehr als 320 Messdaten im Zusammenhang mit dem Benutzer- und App-Verhalten. Dadurch entsteht ein mehrfaktorielles statistisches Modell, das den genauesten möglichen Schutz bietet. Seine einzigartigen Algorithmen reduzieren Fehlalarme erheblich. Diese Funktionen ermöglichen es NGINX App Protect DoS, stark verteilte DoS-Angriffe abzuschwächen, bei denen jede Angriffsanforderung völlig legal aussieht und ein einzelner Angreifer möglicherweise sogar weniger Datenverkehr erzeugt als der durchschnittliche legitime Benutzer. Mit seiner adaptiven Technologie schützt NGINX App Protect DoS moderne Infrastrukturen nicht nur vor heutigen, sondern auch vor zukünftigen Angriffen.

Wenn Sie mehr darüber erfahren möchten, wie Sie DoS-Schutz gewährleisten können, sehen Sie sich unsere Lösungsübersicht an. Siehe auch diese verwandten Blogs:

Probieren Sie NGINX App Protect DoS selbst aus – starten Sie noch heute eine kostenlose 30-Tage-Testversion oder kontaktieren Sie uns, um Ihre Anwendungsfälle zu besprechen .


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."