Configuration Fuzzing for Software Vulnerability Detection

Huning Dai; Christian Murphy; Gail E. Kaiser

Configuration Fuzzing for Software Vulnerability Detection
Dai, Huning
Murphy, Christian
Kaiser, Gail E.
Technical reports
Computer Science
Persistent URL:
Columbia University Computer Science Technical Reports
Part Number:
Department of Computer Science, Columbia University
Publisher Location:
New York
Many software security vulnerabilities only reveal themselves under certain conditions, i.e., particular configurations of the software together with its particular runtime environment. One approach to detecting these vulnerabilities is fuzz testing, which feeds a range of randomly modified inputs to a software application while monitoring it for failures. However, fuzz testing makes no guarantees regarding the syntactic and semantic validity of the input, or of how much of the input space will be explored. To address these problems, in this paper we present a new testing methodology called configuration fuzzing. Configuration fuzzing is a technique whereby the configuration of the running application is randomly modified at certain execution points, in order to check for vulnerabilities that only arise in certain conditions. As the application runs in the deployment environment, this testing technique continuously fuzzes the configuration and checks "security invariants" that, if violated, indicate a vulnerability; however, the fuzzing is performed in a duplicated copy of the original process, so that it does not affect the state of the running application. In addition to discussing the approach and describing a prototype framework for implementation, we also present the results of a case study to demonstrate the approach's efficiency.
Computer science
Item views
text | xml
Suggested Citation:
Huning Dai, Christian Murphy, Gail E. Kaiser, , Configuration Fuzzing for Software Vulnerability Detection, Columbia University Academic Commons, .

Columbia University Libraries | Policies | FAQ