TOCTOUProblematiken
TOCTOUProblematiken, eller TOCTOU-buggar, står för Time Of Check To Time Of Use och beskriver en klass av race conditions som uppstår när ett program först kontrollerar ett villkor och sedan använder en resurs, men resursens tillstånd kan förändras mellan kontrollögonblicket och användningen.
Vanliga scenarier inkluderar filsystemoperationer där behörigheter eller innehåll kan ändras mellan kontroll och öppenhet, säkerhetshantering där
Konsekvenserna av TOCTOU-problematiken kan vara allvarliga, inklusive dataförlust, korruption eller uppenbara säkerhetsrisker där en obehörig kan
Motåtgärder och bästa praxis inkluderar:
- Göra operationer atomiska där möjligt genom användning av lämpliga systemanrop och synkronisering, eller använda lås.
- Kombinera kontroll och användning i en kritisk sektion eller hålla låsningen mellan kontroll och användning så
- Använda atomära eller säkra mönster för filhantering, till exempel skapa eller reservera filer på ett säkert
- Införa transaktionella eller kernel-stöd där möjligt och använda robust felhantering om tillstånd ändras vid senare ögonblick.
TOCTOU-problematiken uppmärksammas ofta i operativsystems- och samtidighetslitteratur som en grundläggande risk i både lokala och distribuerade