Symbolic string verification: An automata-based approach

被引:0
|
作者
Yu, Fang [1 ]
Bultan, Tevfik [1 ]
Cova, Marco [1 ]
Ibarra, Oscar H. [1 ]
机构
[1] Univ Calif Santa Barbara, Dept Comp Sci, Santa Barbara, CA 93106 USA
来源
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present an automata-based approach for the verification of string operations in PHP programs based on symbolic string analysis. String analysis is a static analysis technique that determines the values that a string expression can take during program execution at a given program point. This information can be used to verify that string values are sanitized properly and to detect programming errors and security vulnerabilities. In our string analysis approach, we encode the set of string values that string variables can take as automata. We implement all string functions using a symbolic automata representation (MBDD representation from the MONA automata package) and leverage efficient manipulations on MBDDs, e.g., determinization and minimization. Particularly, we propose a novel algorithm for language-based replacement. Our replacement function takes three DFAs as arguments and outputs a DFA. Finally, we apply a widening operator defined on automata to approximate fixpoint computations. If this conservative approximation does not include any bad patterns (specified as regular expressions), we conclude that the program does not contain any errors or vulnerabilities. Our experimental results demonstrate that our approach works quite well in checking the correctness of sanitization operations in real-world PHP applications.
引用
收藏
页码:306 / 324
页数:19
相关论文
共 50 条
  • [21] 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)
  • [22] Automata based symbolic reasoning in hardware verification
    Basin, D
    Klarlund, N
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 1998, 13 (03) : 255 - 288
  • [23] AUTOMATA-BASED APPROACH FOR KERNEL TRACE ANALYSIS
    Matni, Gabriel
    Dagenais, Michel
    [J]. 2009 IEEE 22ND CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING, VOLS 1 AND 2, 2009, : 219 - 222
  • [24] An Automata-based Approach for CTL star With Constraints
    Gascon, Regis
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 239 : 193 - 211
  • [25] Tree Automata-Based Refinement with Application to Horn Clause Verification
    Kafle, Bishoksan
    Gallagher, John P.
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION (VMCAI 2015), 2015, 8931 : 209 - 226
  • [26] An Automata-Based Framework for Verification and Bug Hunting in Qantum Circuits
    Chen, Yu-Fang
    Chung, Kai-Min
    Lengal, Ondrej
    Lin, Jyun-Ao
    Tsai, Wei-Lun
    Yen, Di-De
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):
  • [27] Logic programming approach to automata-based decision procedures
    Unel, Gulay
    Toman, David
    [J]. LOGIC PROGRAMMING, PROCEEDINGS, 2007, 4670 : 165 - +
  • [28] An automata-based approach to property testing in event traces
    Hallal, H
    Boroday, S
    Ulrich, A
    Petrenko, A
    [J]. TESTING OF COMMUNICATING SYSTEMS, PROCEEDINGS, 2003, 2644 : 180 - 196
  • [29] An Automata-Based Approach to Trace Partitioned Abstract Interpretation
    Olesen, Mads Christian
    Hansen, Rene Rydhof
    Larsen, Kim Guldstrand
    [J]. SEMANTICS, LOGICS, AND CALCULI: ESSAYS DEDICATED TO HANNE RIIS NIELSON AND FLEMMING NIELSON ON THE OCCASION OF THEIR 60TH BIRTHDAYS, 2016, 9560 : 88 - 110
  • [30] Automata-Based Approach to Design and Analyze Security Policies
    Krombi, Wadie
    Erradi, Mohammed
    Khoumsi, Ahmed
    [J]. 2014 TWELFTH ANNUAL INTERNATIONAL CONFERENCE ON PRIVACY, SECURITY AND TRUST (PST), 2014, : 306 - 313