Automata-based symbolic string analysis for vulnerability detection

59Citations
Citations of this article
36Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Verifying string manipulating programs is a crucial problem in computer security. String operations are used extensively within web applications to manipulate user input, and their erroneous use is the most common cause of security vulnerabilities in web applications. We present an automata-based approach for symbolic analysis of string manipulating programs. We use deterministic finite automata (DFAs) to represent possible values of string variables. Using forward reachability analysis we compute an over-approximation of all possible values that string variables can take at each program point. Intersecting these with a given attack pattern yields the potential attack strings if the program is vulnerable. Based on the presented techniques, we have implemented Stranger, an automata-based string analysis tool for detecting string-related security vulnerabilities in PHP applications. We evaluated Stranger on several open-source Web applications including one with 350,000+ lines of code. Stranger is able to detect known/unknown vulnerabilities, and, after inserting proper sanitization routines, prove the absence of vulnerabilities with respect to given attack patterns. © 2013 Springer Science+Business Media New York.

Cite

CITATION STYLE

APA

Yu, F., Alkhalaf, M., Bultan, T., & Ibarra, O. H. (2014). Automata-based symbolic string analysis for vulnerability detection. Formal Methods in System Design, 44(1), 44–70. https://doi.org/10.1007/s10703-013-0189-1

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free