Race Condition
Une condition de course survient quand plusieurs threads accèdent simultanément à des ressources partagées et que l'exécution entrelacée produit des états inattendus, exploitables pour contourner des contrôles.
Objectif
Comprendre les contournements de contrôles de sécurité causés par les courses de concurrence et leurs défenses ; un défaut fréquent des programmes multi-threads.
Mécanisme
TOCTOU : la fenêtre entre la vérification et l'utilisation peut être exploitée par un attaquant (p. ex. après que le programme a vérifié qu'un fichier existe, l'attaquant le remplace par un lien symbolique). Défenses : opérations atomiques, verrous, descripteurs de fichiers.
Cas d’usage
- Audit de sécurité de la concurrence
- Vulnérabilités TOCTOU
- Défauts multi-threads