2001 · 48 citations · 9 references
ComputingComputer ScienceComputer SystemsApplication SecurityComputer SecurityOperating SystemsKernel DesignKernel ProgrammingOperating System SecurityOperating System VulnerabilitiesRace Condition VulnerabilitiesDynamic Race DetectionFile System VulnerabilitiesKernel ExploitationKernel SecuritySecurity EnforcementStatic Race Detection
Temporary file race vulnerabilities occur when privileged programs attempt to create temporary files in an unsafe manner. "Unsafe" means "non-atomic with respect to an attacker's activities." There is no portable standard for safely (atomically) creating temporary files, and many operating systems have no safe temporary file creation at all. As a result, many programs continue to use unsafe means to create temporary files, resulting in widespread vulnerabilities. This paper presents RaceGuard: a kernel enhancement that detects attempts to exploit temporary file race vulnerabilities, and does so with sufficient speed and precision that the attack can be halted before it takes effect. RaceGuard has been implemented, tested, and measured. We show that RaceGuard is effective at stopping temporary file race attacks, preserves compatibility (no legitimate software is broken), and preserves performance (overhead is minimal).
9
The protection of information in computer systems
Jerome H. Saltzer, Michael Schroeder · Proceedings of the IEEE · 1975 · 1.9K citations
Reinhold Weicker · Communications of the ACM · 1984 · 618 citations · Full text
Buffer overflows: attacks and defenses for the vulnerability of the decade
Crispin Cowan, F. Wagle, Calton Pu et al. · 2002 · 372 citations
Checking for Race Conditions in File Accesses
Matt Bishop, Michael Dilger · 1996 · 238 citations