Cloudflare hat Application Profiles angekündigt, einen Mechanismus zur Ausweitung des Konzepts der positiven Sicherheit von APIs auf Webanwendungen. Statt Anfragen lediglich mit Signaturen bekannter Angriffe zu vergleichen, lernt der Dienst die Struktur erfolgreicher Anfragen und prüft anschließend, inwieweit nachfolgende Anfragen diesem Muster entsprechen.
Die Funktion basiert auf Schema Profiles, die den Datenverkehr regelmäßig analysieren, um vorhandene Variablen im Pfad, Abfrageparameter, Header, Cookies sowie die Struktur von Anfragekörpern im JSON- oder form-encoded-Format zu bestimmen. Außerdem lernt sie Datentypen und Einschränkungen, etwa Ganzzahlen, Zeichenfolgen, boolesche Werte, Arrays, UUID-Kennungen und aufgezählte Werte sowie numerische Bereiche, Zeichenfolgenlängen und Zeichenklassen.
Was ändert sich praktisch?
Nachdem ein Profil für einen bestimmten Vorgang verfügbar ist, aktiviert Cloudflare eine kontinuierliche Validierungsebene für den Live-Datenverkehr. Erwartet ein Pfad beispielsweise eine UUID oder muss der Wert von product_id eine Ganzzahl innerhalb eines erlernten Bereichs sein, kann das System die Anfrage bei Eingang eines fehlerhaften, als Text übermittelten oder außerhalb des Bereichs liegenden Werts als nicht übereinstimmend protokollieren. Dafür ist keine Übereinstimmung der Anfrage mit einer bekannten Signatur für SQL-Injection, Cross-Site-Scripting oder Remote Code Execution erforderlich.
Das Signal einer Nichtübereinstimmung löst nicht automatisch eine Maßnahme aus. Das Ergebnis wird den Anfragedaten hinzugefügt, und Teams können es in Security Analytics überprüfen, bevor sie Security Rules zur Überwachung oder Blockierung erstellen. Cloudflare stellt außerdem einen Tab mit der Bezeichnung Profile Analysis bereit, der Trends, übereinstimmende und nicht übereinstimmende Anfragen sowie die Position und den Grund der Abweichung anzeigt. Regeln können auf die gesamte Anwendung oder auf bestimmte Pfade, Vorgänge und Felder angewendet werden.
Das Lernen erfordert eine manuelle Überprüfung
Das Lernen erfolgt wöchentlich für jede Region anhand des neuesten erfolgreichen Datenverkehrs. Der Vorgang benötigt mindestens 1.000 Anfragen mit einer 2xx-Antwort innerhalb der vorangegangenen sieben Tage, um Felder zu lernen, und 10.000 Anfragen, um Wertebereiche zu lernen. Erfolgreiche Anfragen können jedoch Bots und Scan-Tools umfassen. Daher empfiehlt Cloudflare, zunächst den Überwachungsmodus zu verwenden und das Profil vor seiner Durchsetzung zu überprüfen.
Eine Nichtübereinstimmung bedeutet außerdem nicht zwangsläufig einen Angriff; sie kann durch eine neue Anwendungsversion, einen neuen Client oder eine zwar korrekte, aber ungewöhnliche Anfrage verursacht werden. Die Profile werden wöchentlich aktualisiert, indem neue Felder hinzugefügt und nicht mehr auftretende Felder entfernt werden. Außerdem können sie als OpenAPI-v3-Dateien exportiert und über Schema Validation eine Version festgeschrieben werden.
Verfügbarkeit und Einschränkungen
Kunden, die API Security verwenden, erhalten Zugriff auf die Funktion. Gleichzeitig hat Cloudflare ein geschlossenes Testprogramm für eingeladene Enterprise-Kunden gestartet, die API Security nicht verwenden. Die Teilnahme am Testprogramm bedeutet nicht, dass die Funktion künftig in einem bestimmten Tarif verfügbar sein wird.
- Die Funktion unterstützt Pfade, Abfrageparameter, Header, Cookies sowie JSON- und form-encoded-Anfragekörper.
- Multipart-Formulare, GraphQL und XML werden derzeit nicht unterstützt.
- Sie kann numerische und textbasierte Typen, UUIDs, Arrays sowie aufgezählte Werte mit bis zu drei Werten validieren.
- Sie erzwingt keine Eindeutigkeit wiederholter Parameternamen, lernt keine erforderlichen Parameter und blockiert eine Anfrage nicht allein deshalb, weil sie einen neuen Parameter enthält.
Warum ist diese Entwicklung wichtig?
Cloudflare zufolge erleichtert die Verbreitung generativer KI-Modelle die Erstellung, Änderung und automatisierte Prüfung von Angriffspayloads. Dadurch gewinnen Kontrollen an Bedeutung, die festlegen, was akzeptabel ist, statt jede bekannte Angriffsform zu verfolgen. Der praktische Wert liegt hier nicht darin, verwaltete WAF-Regeln zu ersetzen, sondern eine Ebene hinzuzufügen, die den Umfang der Eingaben verringert, die die Anwendungsprozessoren erreichen.
Das Unternehmen arbeitet daran, Kontext- und Prioritätsanalysen hinzuzufügen, wobei auf Workers AI gehostete Modelle eingesetzt werden sollen, um Feldnamen mit ihren möglichen Funktionen zu verknüpfen und Schutzmaßnahmen vorzuschlagen. Diese Fähigkeiten befinden sich jedoch weiterhin in der Entwicklungsplanung oder in Testphasen. Außerdem hängt die Genauigkeit der Profile von der Qualität und dem Umfang des Datenverkehrs ab, aus dem sie lernen. Daher bleiben eine schrittweise Einführung und eine Überprüfung vor der Blockierung zwei wesentliche Voraussetzungen.