Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Fixing Races for Fun and Profit: How to Use access(2)

It is well known that it is insecure to use the access(2) system call in a setuid program to test for the ability of the program's executor to access a file before opening said file. Although the access(2) call appears to have been designed exactly for this use, such use is vulnerable to a race condition. This race condition is a classic example of a time-of-check-to-time-of-use (TOCTTOU) problem. We prove the ``folk theorem'' that no portable, deterministic solution exists without changes to the system call interface, we present a probabilistic solution, and we examine the effect of increasing CPU speeds on the exploitability of the attack.

Drew Dean, SRI International

Alan J. Hu, University of British Columbia

BibTeX
@inproceedings {269598,
author = {Drew Dean and Alan J. Hu},
title = {Fixing Races for Fun and Profit: How to Use access(2)},
booktitle = {13th USENIX Security Symposium (USENIX Security 04)},
year = {2004},
address = {San Diego, CA},
url = {https://www.usenix.org/conference/13th-usenix-security-symposium/fixing-races-fun-and-profit-how-use-access2},
publisher = {USENIX Association},
month = aug
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/sec04/tech/full_papers/dean/dean.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/sec04/tech/full_papers/dean/dean_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us