Regex-Katastrophen: Wenn reguläre Ausdrücke Software lahmlegen

Reguläre Ausdrücke sind ein konkurrenzlos leistungsfähiges Werkzeug zum Analysieren von Texten. Unachtsamkeit kann jedoch ganze Server zum Stillstand bringen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
Wenn reguläre Ausdrücke Software lahmlegen
Lesezeit: 13 Min.
Von
  • Christian Kirsch
Inhaltsverzeichnis

Am 2. Juli 2019 traf es Cloudflare: Innerhalb weniger Minuten verlor der Dienstleister 80 Prozent seiner Serverkapazität, Tausende Webseiten waren nicht mehr erreichbar. Dropbox, Cloudbase, Discord, Shopify und Zendesk gehören zu den betroffenen Cloudflare-Kunden, die erst durch den Ausfall einen neuen Single Point of Failure kennenlernten, den sie offensichtlich vorher nicht oder nicht ausreichend auf dem Radar hatten. Cloudflare brauchte Stunden, um die Infrastruktur wieder hochzufahren – alles nur wegen weniger eigentlich korrekter Zeichen. Die technischen Hintergründe erwiesen sich als Lehrstück für den richtigen Umgang mit regulären Ausdrücken.

Einen Angriff von außen konnte die Firma schnell ausschließen, das Aufspüren und Beheben der Ursache dauerte jedoch ein wenig länger. Besonders erschwerend wirkte es sich aus, dass Cloudflare seine eigenen Produkte nutzt, die zum damaligen Zeitpunkt kaum noch arbeitsfähig waren. Schließlich stellte sich heraus, dass ein nachlässig formulierter regulärer Ausdruck einen der größten Internetdienstleister in die Knie gezwungen hatte.

Reguläre Ausdrücke (Regular Expressions, kurz RE) sind im Prinzip seit den 1940er-Jahren bekannt. Populär wurden sie mit dem von Ken Thompson geschriebenen Editor QED, der viele seitdem in regulären Ausdrücken verwendete Konstrukte einführte. Heute sind RE in allen verbreiteten Programmiersprachen wie PHP, JavaScript und Python verfügbar sowie in einigen Textverarbeitungen und vielen IDEs. Etliche werten die Muster mit der Open-Source-Bibliothek PCRE aus.

Das war die Leseprobe unseres heise-Plus-Artikels "Regex-Katastrophen: Wenn reguläre Ausdrücke Software lahmlegen ". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.