Segmental Symbolic Execution Based on Clustering
Rui Ma, Haoran Gao, Bowen Dou, Xiajing Wang, Changzhen Hu · 2019
As the impact of security vulnerabilities on information systems becomes more and more serious, program analysis and vulnerability discovery techniques play an increasingly important role in the field of information security. Among many binary program analysis techniques, dynamic symbolic execution technology has been deeply researched and widely applied as an important automated test and vulnerability discovering technology in the information security field. Aimed at the existing problems in dynamic symbolic execution, this paper proposes a binary program segmental symbolic execution approach based on a clustering algorithm. Different from the previous approach of dividing the program segment according to the function process or method in the program, the proposed approach divides the program into larger segments by an improved GN algorithm, and then performs dynamic symbolic execution on each segment. Finally, the results are merged to complete the analysis of the entire program. In this paper, the approach is compared with the regular symbol execution using angr, and the experimental results show the effectiveness of the proposed approach in its time consumption, calculation and storage resource occupation.