Race Conditions Teil 3 – Reale Beispiele und Auswirkungen

Von der Theorie zur Praxis

Race Conditions sind nicht nur ein theoretisches Problem aus Lehrbüchern. Immer wieder sorgen sie in der Praxis für erhebliche Schäden – von doppelten Banküberweisungen bis hin zu Millionenverlusten in E-Commerce-Systemen. Besonders spannend: Viele der bekanntesten Fälle wurden in Bug-Bounty-Programmen entdeckt, was zeigt, wie real und aktuell das Problem ist.


Beispiel 1: Banking – doppelte Überweisungen

Ein Klassiker ist die Race Condition bei Banktransaktionen.
Ablauf:

  1. Nutzer gibt eine Überweisung ein.
  2. Server prüft Guthaben.
  3. Server bucht Überweisung ab.

Angreifer senden zwei Überweisungen gleichzeitig:

  • Beide Prüfungen sehen Guthaben als „ausreichend“.
  • Beide Transaktionen werden ausgeführt.
  • Guthaben wird erst danach angepasst.

Ergebnis: Geld wird doppelt überwiesen.
Einige Banken mussten Bug-Bounty-Huntern hohe Summen zahlen, weil sie so eine Schwachstelle aufgedeckt hatten.


Beispiel 2: Gutscheine im E-Commerce

Viele Online-Shops erlauben Rabattcodes.
Unsicheres Design:

  • Server prüft, ob der Gutschein gültig ist.
  • Danach wird er als „verbraucht“ markiert.

Angreifer senden mehrere Requests gleichzeitig:

  • Alle sehen den Gutschein als „gültig“.
  • Rabatt wird mehrfach gewährt.

So konnten Bug-Bounty-Forscher mehrfach kostenlose Bestellungen aufgeben – ein realer Fall, der mit fünfstelligen Prämien belohnt wurde.


Beispiel 3: Gaming und Belohnungssysteme

Auch Spiele und Apps sind betroffen.
Beispiel:

  • Spieler klickt auf „Belohnung abholen“.
  • Server prüft, ob die Belohnung verfügbar ist.
  • Danach wird sie markiert.

Mit parallelen Requests können Angreifer dieselbe Belohnung mehrfach einlösen – oft mit massiven Auswirkungen auf die Spielökonomie.


Beispiel 4: Cloud und APIs

Race Conditions treten häufig in verteilten Systemen auf:

  • Mehrere API-Instanzen verarbeiten Anfragen parallel.
  • Synchronisation zwischen Datenbanken dauert Millisekunden.

Beispiel: Ein Cloud-Anbieter bietet ein kostenloses Testguthaben von 10 €.
Angreifer senden hunderte gleichzeitige Requests:

  • Jeder Request prüft, ob Guthaben noch verfügbar ist.
  • Guthaben wird mehrfach gewährt.
  • Ergebnis: Angreifer erhält hunderte Euro an Cloud-Ressourcen.

Bekannte Vorfälle und Reports

  • Shopify Bug Bounty: Mehrere Race Conditions führten dazu, dass Bestellungen doppelt verarbeitet wurden. Belohnung: über 10.000 $.
  • PayPal Bug Bounty: Forscher entdeckten eine Race Condition im Gutschein-System. Belohnung: 15.000 $.
  • Gaming-App Reports: Angreifer vervielfachten In-App-Käufe durch gleichzeitige Requests.

Warum Race Conditions oft übersehen werden

  • Schwer zu reproduzieren: Tritt nur auf, wenn Requests gleichzeitig eintreffen.
  • Kaum automatisierbar: Standard-Schwachstellenscanner erkennen sie nicht.
  • Design-Fehler: Entwickler gehen vom „normalen“ Ablauf aus – nicht vom gleichzeitigen Missbrauch.

Was du mitnehmen solltest

  • Race Conditions führen in der Praxis zu echten Schäden: doppelten Zahlungen, mehrfachen Gutscheinen, Gratis-Ressourcen.
  • Sie sind beliebt im Bug-Bounty-Bereich, weil sie hohe Prämien bringen.
  • Besonders gefährdet: Banking, E-Commerce, Gaming, Cloud & APIs.
  • Das Problem ist subtil – normale Tests entdecken es oft nicht.

Im nächsten Teil schauen wir uns an, wie man sich schützt: Best Practices gegen Race Conditions – von Locking-Mechanismen über Idempotenz bis hin zu Monitoring.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert