- Situation de compétition
-
Une situation de compétition (ou concurrence critique, course critique, séquencement critique, situation de concurrence ou accès concurrent[1] ; race condition en anglais, littéralement « situation de course »), est un défaut dans un système électronique ou informatique multitâche, non prévu lors de la conception, caractérisé par un résultat différent selon l'ordre dans lequel sont effectuées certaines opérations du système (selon l'entrelacement des tâches). Lorsqu'il y a compétition, il existe une courte période de temps entre deux instructions (d'une même tâche) pendant laquelle une modification est faite dans le système qui le rend vulnérable à certaines instructions des autres tâches.
Cette classe de défaut n'existe que chez les systèmes multitâches, mais il faut inclure dans cette définition les systèmes monotâches qui sont susceptibles de recevoir des stimuli extérieurs (« interruptions ») de façon imprévisible. Une situation de compétition peut avoir des effets néfastes pendant une longue période, et le système peut nécessiter d'être réinitialisé.
Pour éliminer les compétitions, il faut s'assurer que les opérations que l'on veut effectuer successivement sont atomiques ou autrement protégées.
Sécurité informatique
Dans un programme informatique qui aurait besoin d'une authentification avant d'effectuer une action, il s'écoule un laps de temps entre la réussite de l'authentification et l'action proprement dite. C'est dans ce laps de temps qu'une compétition peut se produire. Par exemple, un attaquant peut exploiter ce laps de temps pour détourner l'action prévue par le logiciel à ses propres fins.
La concurrence critique peut être utilisée pour prendre le contrôle d'un système au moment précis où une brèche éphémère est ouverte, c'est-à-dire au moment où il est vulnérable.
Référence
Articles connexes
Wikimedia Foundation. 2010.