Vulnerability Finding Using Symbolic Execution on Binary Programs

NIU Wei-na,DING Xue-feng,LIU Zhi,ZHANG Xiao-song
DOI: https://doi.org/10.3969/j.issn.1002-137X.2013.10.024
2013-01-01
Computer Science
Abstract:Software vulnerability is one main source of computer safety issues,and the key technology of vulnerabilities finding is fuzzing(fuzzy test)which is based on randomly changing the input,however,it cannot construct test cases effectively and eliminate the redundancy of test cases.In order to overcome the shortcomings of traditional fuzzing test,effectively generate test inputs and do not need to analyze the input format,we designed and implemented vulnerability found system(called SEVE)based on symbolic execution for binary program.SEVE makes the inputs symbolic and uses dynamic instrumentation tools to establish the propagation relationship of the symbolic variable,collect path constraints in branch statement,uses interpreter to solve these path constraints to obtain test cases.Experimental results which are based on mp3 and pdf software show that the system can improve the efficiency and the degree of automation of vulnerability discovery.
What problem does this paper attempt to address?