TOCTTOU (Time of Check
TOCTTOU (Time of Check to Time of Use) ist ein Begriff der Informatik. Er beschreibt ein Sicherheitsproblem, das in vielen Anwendungen auftreten kann. Es geht darum, dass eine Anwendung zunächst eine Überprüfung durchführt. Zum Beispiel kann es sein, dass ein Programm überprüft, ob eine Datei vorhanden ist. Wenn diese Überprüfung einmal durchgeführt wurde und die Datei zu diesem Zeitpunkt vorhanden war, kann die Anwendung davon ausgehen, dass sie jederzeit auf die Datei zugreifen kann. Das Problem ist jedoch, dass sich die Datei zwischen der Überprüfung und dem tatsächlichen Zugriff auf die Datei verändern kann. Zum Beispiel könnte ein Benutzer die Datei löschen, umbenennen oder den Inhalt verändern. Wenn die Anwendung dann versucht, auf die Datei zuzugreifen, würde dies zu einem Fehler führen. Dieses Problem wird als TOCTTOU bezeichnet.
Eine einfache analoge Erklärung wäre: Stell dir vor, du möchtest eine Schublade öffnen, um eine Süßigkeit herauszunehmen. Bevor du zur Schublade gehst, fragst du deine Mutter, ob die Süßigkeit noch da ist. Wenn deine Mutter “Ja” sagt, gehst du zur Schublade und öffnest sie. Aber was passiert, wenn deine Schwester, die die Süßigkeit auch haben will, die Schublade schneller aufgemacht hat und die Süßigkeit genommen hat? Dann gibt es keine Süßigkeit mehr für dich, obwohl deine Mutter am Anfang “Ja” gesagt hat. Das Gleiche kann mit einer Anwendung passieren, wenn sie nicht darauf achtet, ob sich die Dinge zwischen der Überprüfung und dem eigentlichen Zugriff verändert haben.
In der Informatik gibt es verschiedene Methoden, wie man das TOCTTOU-Problem vermeiden kann. Eine mögliche Methode ist es, eine Sperre auf die Datei zu setzen, sobald überprüft wurde, ob sie vorhanden ist. Dadurch kann verhindert werden, dass die Datei verändert wird, während die Anwendung darauf zugreifen will.