Guided Symbolic Execution in Real-World Binary Program

被引:0
|
作者
Park, Sung Hyun [1 ]
Noh, Bong Nam [1 ]
机构
[1] Chonnam Natl Univ, Interdisciplinary Program Informat Secur, Gwangju, South Korea
来源
关键词
Symbolic execution; Program analysis; Binary analysis; Backward analysis;
D O I
10.1007/978-981-15-1465-4_39
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Symbolic execution, one of the methods of program automatic analysis, has significantly improved technically over the past few years. However, it is still not practical to analyze the program using only the symbolic execution itself. The main reason is the lack of memory due to the path explosion problem which occurs during the Real-world Program analysis, for which we cannot get all solutions on all the paths of the program. Therefore, it is practical for the analyst to organize the symbolic execution search path with points having vulnerability rather than getting solutions on all the paths and then to carry out the analysis. In this paper, we propose static analysis method and dynamic analysis method based on Real-World Binary analysis. First, Static Backward Analysis enables the analyst to select potential vulnerable points within the binary and generate a backward Control Flow Graph (CFG) generated from the corresponding point to the user input (I/O) point. At the dynamic analysis stage, we propose Taint Analysis for generating Symbolic File and in Guided Symbolic Execution based on the selected priority path we propose, and Bug Check Model. In order to prove the efficiency of our research, we conducted a study of identifying vulnerable point in severalWindows and Linux Real-world binaries, and the experiment results showed that it was possible to identify vulnerability in various situations of binaries.
引用
收藏
页码:387 / 396
页数:10
相关论文
共 50 条
  • [1] Parallel Symbolic Execution for Automated Real-World Software Testing
    Bucur, Stefan
    Ureche, Vlad
    Zamfir, Cristian
    Candea, George
    [J]. EUROSYS 11: PROCEEDINGS OF THE EUROSYS 2011 CONFERENCE, 2011, : 183 - 197
  • [2] THE REAL-WORLD COMPUTING PROGRAM
    OKA, R
    [J]. ARTIFICIAL INTELLIGENCE REVIEW, 1994, 8 (2-3) : 105 - 111
  • [3] Symbolic Liveness Analysis of Real-World Software
    Schemmel, Daniel
    Buening, Julian
    Dustmann, Oscar Soria
    Noll, Thomas
    Wehrle, Klaus
    [J]. COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 447 - 466
  • [4] Dependence Guided Symbolic Execution
    Wang, Haijun
    Liu, Ting
    Guan, Xiaohong
    Shen, Chao
    Zheng, Qinghua
    Yang, Zijiang
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (03) : 252 - 271
  • [5] Real-world robotics: Learning to plan for robust execution
    Bennett, SW
    DeJong, GF
    [J]. MACHINE LEARNING, 1996, 23 (2-3) : 121 - 161
  • [6] SYMBOLIC EXECUTION AND PROGRAM TESTING
    KING, JC
    [J]. COMMUNICATIONS OF THE ACM, 1976, 19 (07) : 385 - 394
  • [7] Reinforcement Learning Guided Symbolic Execution
    Wu, Jie
    Zhang, Chengyu
    Pu, Geguang
    [J]. PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 662 - 663
  • [8] Use of symbolic program execution in program testing
    Markoski, Branko
    Ivankovic, Zdravko
    Radosav, Dragica
    Milosevic, Zoran
    Obradovic, Borislav
    [J]. TECHNICS TECHNOLOGIES EDUCATION MANAGEMENT-TTEM, 2011, 6 (03): : 836 - 840
  • [9] APPLICATIONS OF SYMBOLIC EXECUTION TO PROGRAM TESTING
    DARRINGER, JA
    KING, JC
    [J]. COMPUTER, 1978, 11 (04) : 51 - 59
  • [10] Towards Automatic Grammatical Evolution for Real-world Symbolic Regression
    Ali, Muhammad
    Kshirsagar, Meghana
    Naredo, Enrique
    Ryan, Conor
    [J]. PROCEEDINGS OF THE 13TH INTERNATIONAL JOINT CONFERENCE ON COMPUTATIONAL INTELLIGENCE (IJCCI), 2021, : 68 - 78