Share
Beitragsbild zu QuicDraw: Open-Source-Tool für Race-Condition-Tests in HTTP/3-Infrastrukturen

QuicDraw: Open-Source-Tool für Race-Condition-Tests in HTTP/3-Infrastrukturen

24. November 2025

Sicherheitsforscher schließen Lücke bei HTTP/3-Penetrationstests

Die rasante Verbreitung von HTTP/3 konfrontiert Security-Teams mit einem fundamentalen Problem: Während bereits mehr als ein Drittel aller Websites das moderne Protokoll unterstützen, existieren praktisch keine spezialisierten Sicherheitswerkzeuge für professionelle Audits. Sicherheitsforscher haben nun mit QuicDraw ein Open-Source-Tool entwickelt, das diese Lücke schließt und gezielt Race Conditions in HTTP/3-Anwendungen aufdeckt. Das Werkzeug implementiert eine neuartige Technik namens Quic-Fin-Sync, die auf dem Single-Packet-Angriff basiert.

HTTP/3-Adoption wächst exponentiell – Tool-Landschaft bleibt zurück

Seit der Standardisierung durch die Internet Engineering Task Force (IETF) hat sich HTTP/3 rasant im gesamten Internet durchgesetzt. Aktuelle Statistiken zeigen, dass 35 Prozent aller Websites das auf QUIC basierende Protokoll bereits unterstützen. Große Internetunternehmen und Content Delivery Networks haben HTTP/3 flächendeckend auf ihren Servern implementiert, und alle gängigen Webbrowser bieten volle Unterstützung.

Grafik Quelle: CyberArk

Das auf UDP aufbauende QUIC-Protokoll, ursprünglich von Google entwickelt, bringt gegenüber TCP erhebliche Vorteile: Die Verbindungsherstellung erfolgt mit nur einem Roundtrip statt mehrerer, was die Latenz deutlich reduziert. Transport Layer Security 1.3 ist direkt integriert und verschlüsselt den gesamten Datenverkehr inklusive Metadaten. Das zentrale Multiplexing funktioniert ohne das gefürchtete TCP-Head-of-Line-Blocking, das HTTP/2 trotz aller Verbesserungen noch plagte.

Trotz dieser weiten Verbreitung hinkt die Security-Tool-Landschaft dramatisch hinterher. Keiner der etablierten Interception-Proxys – weder Burp Suite noch OWASP ZAP oder MitmProxy – unterstützt HTTP/3 als Client. Lediglich curl bietet mit speziellen Build-Varianten eine rudimentäre HTTP/3-Unterstützung, die jedoch nicht in die Standard-Binary integriert ist und für Race-Condition-Tests nicht konzipiert wurde. Für professionelle Penetrationstests eine völlig unbefriedigende Situation.

Die Evolution: Vom Head-of-Line-Blocking zu neuen Angriffsvektoren

Um die Bedeutung von QuicDraw einzuordnen, lohnt ein Blick auf die HTTP-Evolution. HTTP/1.1, eingeführt 1997, verarbeitete Anfragen streng sequenziell – eine Anfrage musste vollständig abgeschlossen sein, bevor die nächste beginnen konnte. Diese Architektur führte zu erheblichen Performance-Problemen.

HTTP/2 führte Multiplexing ein und erlaubte parallele Anfragen über eine einzelne Verbindung. Doch das Problem verlagerte sich lediglich: Auf TCP-Ebene blieb das Head-of-Line-Blocking bestehen. Ging ein einziges Paket verloren, musste TCP alle nachfolgenden Daten puffern – selbst wenn diese zu völlig unabhängigen Anfragen gehörten.

Grafik Quelle: CyberArk

HTTP/3 löst dieses fundamentale Problem durch den Umstieg auf UDP. Da UDP keine Paketreihenfolge garantiert und keine eingebaute Blockierung hat, können Pakete unabhängig voneinander verarbeitet werden. QUIC implementiert dabei die positiven TCP-Eigenschaften wie Zuverlässigkeit und Flusskontrolle auf Anwendungsebene, vermeidet aber dessen Schwächen.

Grafik Quelle: CyberArk

Diese Architektur eröffnet allerdings auch neue Angriffsvektoren für Race Conditions – synchronisierte Anfragen, die zu unerwarteten Zustandsänderungen auf dem Server führen können.

Grafik Quelle: CyberArk

Quic-Fin-Sync: Die technische Innovation hinter QuicDraw

Die Entwickler von QuicDraw standen vor einer fundamentalen Herausforderung: Wie lassen sich Race Conditions in HTTP/3 provozieren, wenn klassische Ansätze nicht funktionieren? Eine naheliegende Idee – IP-Fragmentierung zur Synchronisation – scheiterte an der QUIC-Spezifikation (RFC 9000), die explizit verbietet, dass UDP-Datagramme auf IP-Ebene fragmentiert werden.

Die Lösung: Quic-Fin-Sync nutzt die Multiplexing-Fähigkeiten von QUIC auf elegante Weise. Das Verfahren funktioniert in mehreren Schritten:

Zunächst etabliert QuicDraw eine QUIC-Verbindung zum Zielserver. Dann werden die eigentlichen Testanfragen vorbereitet – jede in einem separaten Stream. Die Header- und Datenframes werden über mehrere QUIC-Pakete versendet, jedoch wird bewusst das letzte Byte jeder Anfrage zurückgehalten. Wichtig: Das FIN-Flag, das das Ende eines Streams signalisiert, bleibt zunächst ungesetzt.

Grafik Quelle: CyberArk

Nach einer konfigurierbaren Wartezeit von einigen Millisekunden – um sicherzustellen, dass alle Pakete beim Server angekommen sind – folgt der entscheidende Schritt: QuicDraw sendet ein einzelnes QUIC-Paket, das die finalen Bytes aller wartenden Anfragen enthält, jeweils mit gesetztem FIN-Flag.

Grafik Quelle: CyberArk

Aus Sicht des Servers werden dadurch alle Anfragen nahezu simultan als vollständig markiert. Die QUIC-Implementierung gibt die Requests in großer Zahl frei und leitet sie zur parallelen Verarbeitung weiter – genau die Voraussetzung, um Race Conditions zu triggern. Der Server kann dabei auf jede Anfrage sofort nach Verarbeitung antworten, ohne auf andere warten zu müssen – das Fehlen des Head-of-Line-Blockings in Aktion.

Umfassende Benchmark-Tests mit realistischer Infrastruktur

Um die Leistungsfähigkeit von QuicDraw zu validieren, führten die Entwickler systematische Tests durch. Als Ziel diente eine Keycloak-Instanz (Version 23) mit einer bekannten Race Condition, die in früheren Untersuchungen identifiziert worden war. Keycloak ist eine weit verbreitete Open-Source-Lösung für Identitäts- und Zugriffsverwaltung und mittlerweile CNCF-Projekt.

Das Test-Setup wurde bewusst realistisch gewählt: Die Keycloak-Instanz lief auf AWS EC2, davor geschaltet war AWS CloudFront als HTTP/3-fähiger CDN-Service. Diese Konfiguration bildet typische Produktivumgebungen ab, in denen HTTP/3 bereits eingesetzt wird.

Grafik Quelle: CyberArk

Der konkrete Testfall nutzte eine Schwachstelle im API-Token-Management von Keycloak: Administratoren können Entwickler-Tokens mit Limitierung erstellen, etwa zur Begrenzung der erstellbaren Clients. Bei der Token-Nutzung wird die verbleibende Anzahl dekrementiert. In den Tests wurde das Limit auf eins gesetzt – jeder negative Wert nach den Requests beweist somit eine erfolgreiche Race Condition.

Fünf verschiedene Tools wurden auf derselben Maschine mit identischer Internetverbindung getestet, jeweils dreimal mit unterschiedlichen Tokens, um statistisch belastbare Ergebnisse zu erhalten.

QuicDraw übertrifft Konkurrenz deutlich in Praxis-Benchmarks

Die Testergebnisse zeigen eindrucksvoll die Überlegenheit von QuicDraw:

Curl mit HTTP/2 in einer Standard-For-Schleife erreichte Werte von -22, -2 und -13. Ohne speziellen Single-Packet-Mechanismus dient curl als Baseline für nicht-optimierte Werkzeuge.

Curl mit HTTP/3 erzielte -1, 0 und -6. Interessant: Trotz HTTP/3-Unterstützung keine signifikante Verbesserung, da curl nicht für Race-Condition-Tests konzipiert ist.

QuicDraw Version 0.8 lieferte beeindruckende Resultate: -66, -38 und -79. Die Quic-Fin-Sync-Implementierung zeigt ihre volle Wirkung – deutlich niedrigere Werte bedeuten effektivere Auslösung der Race Condition.

Burp Turbo-Intruder mit modifiziertem race-single-packet-attack.py-Script für HTTP/2 kam auf -5, -4 und -1. Trotz Single-Packet-Mechanismus im Hintergrund bleibt die Effektivität hinter QuicDraw zurück.

Burp Intruder als Standard-Benchmark ohne Spezialoptimierung erreichte konsistent -6 in allen drei Durchläufen.

Die Entwickler betonen, dass diese Konfiguration keine wissenschaftlich exakten Ergebnisse liefert und der Vergleich mit nicht spezialisierten Tools wie curl und Standard-Burp-Intruder gewisse Unschärfen aufweist. Dennoch zeigt sich ein klares Bild: QuicDraw ist beim Triggern von Race Conditions in HTTP/3-Umgebungen signifikant effektiver als alle getesteten Alternativen.

Funktionsumfang für professionelle Security-Assessments

QuicDraw basiert auf der aioquic-Bibliothek, genauer auf deren http3_client-Implementierung, und bietet ein umfassendes Feature-Set für Security-Profis:

Die Quic-Fin-Sync-Implementierung bildet das Herzstück und ermöglicht effektive Race-Condition-Tests auf HTTP/3-Servern über QUIC.

Die Fuzzing-Funktionalität unterstützt das Senden multipler Anfragen mit unterschiedlichen Payloads. Über das FUZZ-Keyword und Wordlist-Mechanismen lassen sich systematisch verschiedene URLs oder POST-Daten testen.

Der SSL-Key-Log-File-Support ermöglicht es, den verschlüsselten QUIC-Traffic für forensische Analysen zu entschlüsseln. Die exportierten Keys können in Paketanalysatoren wie Wireshark importiert werden, um den Datenverkehr detailliert zu untersuchen und die Test-Requests zu verifizieren.

Benutzerdefinierte HTTP-Header lassen sich über das -H-Argument flexibel definieren, um realistische Testszenarien mit spezifischen Authentifizierungs-Headern oder Custom-Headers abzubilden.

Als Open-Source-Projekt lädt QuicDraw zur Community-Beteiligung ein. Die Entwickler haben zudem die kuratierte Liste „Awesome-HTTP3″ ins Leben gerufen, die HTTP/3- und QUIC-Implementierungen, Fachartikel, Security-Blogs und weitere Tools systematisch zusammenstellt.

Grafik Quelle: CyberArk

HTTP/3-Discovery und Server-Deployment in der Praxis

Für Security-Tests ist das Verständnis der HTTP/3-Discovery relevant. Server signalisieren HTTP/3-Unterstützung über den Alt-Svc-Header nach Aufbau einer initialen HTTP/1- oder HTTP/2-Verbindung. Der Header-Wert „h3=:443“ beispielsweise zeigt an, dass HTTP/3 auf UDP-Port 443 verfügbar ist. Alternativ kann die Unterstützung über DNS gemäß RFC 9460 publiziert werden.

Korrekt implementierte Clients nutzen HTTPS als Fallback, falls keine HTTP/3-Verbindung möglich ist. Dieser Mechanismus stellt sicher, dass die Aktivierung oder Deaktivierung von HTTP/3 auf Serverseite die grundsätzliche Konnektivität nicht beeinträchtigt.

Auf Server-Seite haben populäre Webserver wie Nginx und OpenResty HTTP/3-Unterstützung integriert. Die Aktivierung erfordert typischerweise lediglich ein Update auf eine QUIC-fähige Version. Bei Nutzung von CDNs wie Google Cloud Platform oder AWS CloudFront ist HTTP/3 oft standardmäßig verfügbar oder kann mit wenigen Klicks aktiviert werden.

Ethische Verantwortung und rechtlicher Rahmen

Die Entwickler legen großen Wert auf die ethische Dimension ihrer Forschungsarbeit. QuicDraw wurde explizit für autorisierte Sicherheitstests entwickelt und soll ausschließlich von Security-Experten unter strikter Einhaltung geltender Gesetze und ethischer Standards eingesetzt werden.

Unbefugte oder böswillige Nutzung wird nicht toleriert, unterstützt oder gefördert. Das Tool richtet sich an professionelle Penetrationstester, Security-Researcher und interne Sicherheitsteams, die im Rahmen legaler Bug-Bounty-Programme oder beauftragter Security-Assessments arbeiten.

Die Veröffentlichung als Open-Source-Projekt folgt dem Prinzip der Responsible Disclosure: Durch Transparenz und öffentliche Verfügbarkeit können Verteidiger ihre Systeme besser absichern, während gleichzeitig die Security-Community von den Erkenntnissen profitiert.

Fazit: Unverzichtbares Werkzeug für moderne Penetrationstests

QuicDraw schließt eine kritische Lücke in der Security-Tool-Landschaft. Angesichts der rasanten HTTP/3-Adoption – große Tech-Konzerne, CDNs und zunehmend auch mittelständische Unternehmen setzen auf das moderne Protokoll – war ein spezialisiertes Testwerkzeug überfällig.

Die Benchmark-Ergebnisse demonstrieren eindrucksvoll die Überlegenheit gegenüber improvisierten Lösungen. Für professionelle Penetrationstester, die HTTP/3-Infrastrukturen auf Race Conditions untersuchen müssen, dürfte QuicDraw künftig zum Standard-Repertoire gehören.

Die Open-Source-Veröffentlichung ermöglicht der Security-Community, das Tool weiterzuentwickeln und an spezifische Anforderungen anzupassen. Mit der „Awesome-HTTP3″-Liste haben die Entwickler zudem eine wertvolle Ressource geschaffen, die das fragmentierte Ökosystem von HTTP/3-Tools und -Ressourcen strukturiert zugänglich macht.

Redaktion: „Die in diesem Beitrag veröffentlichten Informationen dienen ausschließlich allgemeinen Informations- und Bildungszwecken im Bereich IT-Security und Cybersecurity. Trotz sorgfältiger Recherche kann die Redaktion keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität der Inhalte übernehmen. Die bereitgestellten Hinweise ersetzen keine professionelle Sicherheitsberatung und die Nutzung der Informationen erfolgt auf eigene Verantwortung. Die Redaktion haftet nicht für Schäden, die direkt oder indirekt aus der Verwendung der Inhalte entstehen.“

Weiterlesen

 


Bild/Quelle: https://depositphotos.com/de/home.html

Folgen Sie uns auf X

Folgen Sie uns auf Bluesky

Folgen Sie uns auf Mastodon

Hamsterrad Rebell – Cyber Talk