Regular Expression Denial of Service (ReDoS) ist eine Art von Denial-of-Service-Angriff (DoS), der die Schwächen bei der Verarbeitung von regulären Ausdrücken ausnutzt. Das grundlegende Prinzip eines ReDoS-Angriffs besteht darin, einen regulären Ausdrucksprozessor mit Eingaben zu versorgen, deren Verarbeitung extrem lange dauert, wodurch die Systemressourcen effektiv erschöpft werden und die Anwendung angehalten oder erheblich verlangsamt wird.
Hier ist, wie es typischerweise funktioniert:
- Verwundbare Reguläre Ausdrücke: Der Angriff konzentriert sich auf reguläre Ausdrücke, die übermäßiges Backtracking verursachen können. Besonders anfällig sind „böse Regexes“, die überlappende Wiederholungen, verschachtelte Quantifizierer oder mehrere Möglichkeiten enthalten, um dieselbe Eingabe zu matchen.
- Bösartige Eingabe: Ein Angreifer erstellt einen spezifischen Eingabestring, der die Schwachstelle auslöst. Wenn dieser String gegen den anfälligen regulären Ausdruck abgeglichen wird, veranlasst er die Regex-Engine, eine sehr hohe Anzahl von Operationen auszuführen, die exponentiell in ihrer Komplexität zunimmt.
- Systemerschöpfung: Die Verarbeitung der Eingabe verbraucht eine übermäßige Menge an Rechenressourcen, was potenziell zu einer Dienstverweigerung führt. Dies kann sich als Systemabsturz, Verlangsamung oder Unreagierbarkeit manifestieren, was die Verfügbarkeit des Dienstes beeinträchtigt.
Maßnahmen zur Minderung von ReDoS-Angriffen umfassen typischerweise:
- Analyse Regulärer Ausdrücke: Regelmäßige Überprüfung und Analyse der in Anwendungen verwendeten regulären Ausdrücke, um potenzielle Schwachstellen zu identifizieren.
- Timeouts: Implementierung von Timeouts für die Auswertung regulärer Ausdrücke, um zu verhindern, dass sie unendlich lange laufen.
- Vereinfachte Muster: Vereinfachung komplexer regulärer Ausdrücke und Vermeidung von Mustern, die bekanntermaßen anfällig für ReDoS sind.
- Bibliotheken und Tools: Verwendung von Bibliotheken oder Tools, die darauf ausgelegt sind, ReDoS-Schwachstellen in regulären Ausdrücken zu erkennen oder zu mindern.
- Eingabesanierung: Validierung und Sanierung von Benutzereingaben, um zu verhindern, dass bösartige Muster verarbeitet werden.
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: