Race Condition
Was ist Race Condition?
Race ConditionDefekt, bei dem Sicherheit oder Korrektheit eines Systems vom Timing oder von der Reihenfolge nebenläufiger Operationen abhängt – Angreifer können Aktionen verschränken und Prüfungen umgehen.
Eine Race Condition entsteht, wenn mehrere Threads, Prozesse oder Akteure ohne ausreichende Synchronisation auf gemeinsamen Zustand zugreifen, sodass ein Angreifer ein Zeitfenster gewinnt, um Zwischenstand zu beobachten oder zwischen Operationen zu manipulieren. Sicherheitsrelevant sind u. a. TOCTOU (check-then-use), Atomaritätsfehler in Finanzlogik und Reentrancy-Bugs in Signal-Handlern. Die Ausnutzung erfordert oft präzises Scheduling, Thread-Pool-Hammering im Kernel oder Dateisystem-Tricks (Renames, Symlinks). Abwehr: saubere Sperren, Transaktionen, atomare Compare-and-Swap, FD-basierte APIs (openat, fstatat), idempotente Designs und Werkzeuge wie ThreadSanitizer.
● Beispiele
- 01
CVE-2016-5195 (Dirty COW): Linux-Kernel-Race-Condition im COW-Handling.
- 02
Dateisystem-Race, die das Austauschen einer Datei zwischen access() und open() erlaubt.
● Häufige Fragen
Was ist Race Condition?
Defekt, bei dem Sicherheit oder Korrektheit eines Systems vom Timing oder von der Reihenfolge nebenläufiger Operationen abhängt – Angreifer können Aktionen verschränken und Prüfungen umgehen. Es gehört zur Kategorie Schwachstellen der Cybersicherheit.
Was bedeutet Race Condition?
Defekt, bei dem Sicherheit oder Korrektheit eines Systems vom Timing oder von der Reihenfolge nebenläufiger Operationen abhängt – Angreifer können Aktionen verschränken und Prüfungen umgehen.
Wie schützt man sich gegen Race Condition?
Schutzmaßnahmen gegen Race Condition kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Race Condition?
Übliche alternative Bezeichnungen: Concurrency-Bug.