Portably solving file races with hardness amplification

Dan Tsafrir, Tomer Hertz, David Wagner, Dilma Da Silva

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


The file-system API of contemporary systems makes programs vulnerable to TOCTTOU (timeof-check-to-time-of-use) race conditions. Existing solutions either help users to detect these problems (by pinpointing their locations in the code), or prevent the problem altogether (by modifying the kernel or its API). But the latter alternative is not prevalent, and the former is just the first step: Programmers must still address TOCTTOU flaws within the limits of the existing API with which several important tasks cannot be accomplished in a portable straightforward manner. Recently, Dean and Hu [2004] addressed this problem and suggested a probabilistic hardness amplification approach that alleviated the matter. Alas, shortly after, Borisov et al. [2005] responded with an attack termed filesystem maze that defeated the new approach. We begin by noting that mazes constitute a generic way to deterministically win many TOCTTOU races (gone are the days when the probability was small). In the face of this threat, we: (1) develop a new user-level defense that can withstand mazes; and (2) show that our method is undefeated even by much stronger hypothetical attacks that provide the adversary program with ideal conditions to win the race (enjoying complete and instantaneous knowledge about the defending programs actions and being able to perfectly synchronize accordingly). The fact that our approach is immune to these unrealistic attacks suggests it can be used as a simple and portable solution to a large class of TOCTTOU vulnerabilities, without requiring modifications to the underlying operating system.

Original languageEnglish
Article number9
JournalACM Transactions on Storage
Issue number3
StatePublished - 1 Nov 2008
Externally publishedYes


  • Race conditions
  • Time-of-check-to-time-of-use

ASJC Scopus subject areas

  • Hardware and Architecture


Dive into the research topics of 'Portably solving file races with hardness amplification'. Together they form a unique fingerprint.

Cite this