Состояние гонки
Что такое Состояние гонки?
Состояние гонкиДефект, при котором безопасность или корректность системы зависит от тайминга или порядка параллельных операций, позволяя атакующему вклиниваться и обходить проверки.
Состояние гонки возникает, когда несколько потоков, процессов или акторов обращаются к общему состоянию без надлежащей синхронизации, и атакующий может «выиграть» временное окно, чтобы наблюдать промежуточное состояние или изменить его между операциями. Значимые для безопасности варианты — TOCTOU (check-then-use), нарушения атомарности в финансовой логике и баги повторного входа в обработчиках сигналов. Эксплуатация часто требует точного планирования, давления на ядро через пулы потоков или трюков с файловой системой (rename, символические ссылки). Защита — корректные блокировки, транзакции, атомарный compare-and-swap, API на файловых дескрипторах (openat, fstatat), идемпотентный дизайн, инструменты вроде ThreadSanitizer.
● Примеры
- 01
CVE-2016-5195 (Dirty COW): состояние гонки в обработке COW ядра Linux.
- 02
Файловая гонка, позволяющая подменить файл между access() и open().
● Частые вопросы
Что такое Состояние гонки?
Дефект, при котором безопасность или корректность системы зависит от тайминга или порядка параллельных операций, позволяя атакующему вклиниваться и обходить проверки. Относится к категории Уязвимости в кибербезопасности.
Что означает Состояние гонки?
Дефект, при котором безопасность или корректность системы зависит от тайминга или порядка параллельных операций, позволяя атакующему вклиниваться и обходить проверки.
Как защититься от Состояние гонки?
Защита от Состояние гонки обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Состояние гонки?
Распространённые альтернативные названия: Гонка состояний.