2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) (2013)
Budapest, Hungary Hungary
June 24, 2013 to June 27, 2013
Suman Saha , LIP6-Regal, France
Jean-Pierre Lozi , LIP6-Regal, France
Gael Thomas , LIP6-Regal, France
Julia L. Lawall , Inria/LIP6-Regal, France
Gilles Muller , Inria/LIP6-Regal, France
Omitting resource-release operations in systems error handling code can lead to memory leaks, crashes, and deadlocks. Finding omission faults is challenging due to the difficulty of reproducing system errors, the diversity of system resources, and the lack of appropriate abstractions in the C language. To address these issues, numerous approaches have been proposed that globally scan a code base for common resource-release operations. Such macroscopic approaches are notorious for their many false positives, while also leaving many faults undetected. We propose a novel microscopic approach to finding resource-release omission faults in systems software. Rather than generalizing from the entire source code, our approach focuses on the error-handling code of each function. Using our tool, Hector, we have found over 370 faults in six systems software projects, including Linux, with a 23% false positive rate. Some of these faults allow an unprivileged malicious user to crash the entire system.
Linux, Computer crashes, Runtime, Kernel, System recovery, Protocols
S. Saha, J. Lozi, G. Thomas, J. L. Lawall and G. Muller, "Hector: Detecting Resource-Release Omission Faults in error-handling code for systems software," 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Budapest, Hungary Hungary, 2013, pp. 1-12.