Aller au contenu
uencoder

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

Outils associés

References