Automata-based symbolic string analysis for vulnerability detection

被引:0
|
作者
Fang Yu
Muath Alkhalaf
Tevfik Bultan
Oscar H. Ibarra
机构
[1] National Chengchi University,Department of Management Information Systems
[2] University of California Santa Barbara,Department of Computer Science
来源
关键词
String analysis; Automated verification; Web application security; Vulnerability analysis;
D O I
暂无
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:44 / 70
页数:26
相关论文
共 50 条
  • [1] Automata-based symbolic string analysis for vulnerability detection
    Yu, Fang
    Alkhalaf, Muath
    Bultan, Tevfik
    Ibarra, Oscar H.
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2014, 44 (01) : 44 - 70
  • [2] Symbolic string verification: An automata-based approach
    Yu, Fang
    Bultan, Tevfik
    Cova, Marco
    Ibarra, Oscar H.
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 306 - 324
  • [3] Generating Vulnerability Signatures for String Manipulating Programs Using Automata-based Forward and Backward Symbolic Analyses
    Yu, Fang
    Alkhalaf, Muath
    Bultan, Tevfik
    [J]. 2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 605 - 609
  • [4] STRANGER: An Automata-Based String Analysis Tool for PHP
    Yu, Fang
    Alkhalaf, Muath
    Bultan, Tevfik
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2010, 6015 : 154 - 157
  • [5] Exact runtime analysis using automata-based symbolic simulation
    Schüle, T
    Schneider, K
    [J]. FIRST ACM AND IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR CO-DESIGN, PROCEEDINGS, 2003, : 153 - 162
  • [6] TARSIS: An effective automata-based abstract domain for string analysis
    Negrini, Luca
    Arceri, Vincenzo
    Cortesi, Agostino
    Ferrara, Pietro
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (08)
  • [7] Automata-based symbolic scheduling for looping DFGs
    Haynal, S
    Brewer, F
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2001, 50 (03) : 250 - 267
  • [8] Automata-Based Model Counting for String Constraints
    Aydin, Abdulbaki
    Bang, Lucas
    Bultan, Tevfik
    [J]. COMPUTER AIDED VERIFICATION, PT I, 2015, 9206 : 255 - 272
  • [9] Efficient encoding for exact symbolic automata-based scheduling
    Haynal, S
    Brewer, F
    [J]. 1998 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN: DIGEST OF TECHNICAL PAPERS, 1998, : 477 - 481
  • [10] On the Use of Automata-based Techniques in Symbolic Model Checking
    Legay, Axel
    Wolper, Pierre
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 150 (01) : 3 - 8