{"title":"Program Vulnerability Mining System based on Symbolic Execution","authors":"Bailin Xie, Qi Li, Jiabin Luo","doi":"10.1145/3524889.3524903","DOIUrl":null,"url":null,"abstract":"In recent years, vulnerability mining is a hot topic. Existing vulnerability mining methods of binary program are mainly based on fuzzy testing. These methods discover vulnerabilities by continuously inputting random data into the target program, in order to trigger the binary program's errors. However, the vulnerability output of these methods mainly depends on the input random data. The coverage rate of program execution path is low in these methods. In order to improve the coverage rate of program execution path and discover more unknown vulnerabilities, this paper presents an automatic vulnerability mining system based on symbolic execution. This system discovers vulnerabilities by performing constraint check on each execution path of the binary program. This system contains five modules, and each module is responsible for mining a type of vulnerabilities. This system has been developed based on the Python's Angr module. An experiment based on test programs is conducted to evaluate this system. The experimental results validate the effectiveness of this system. The experiment results also show that this system can discover most of the binary program's execution paths.","PeriodicalId":129277,"journal":{"name":"Proceedings of the 2022 7th International Conference on Intelligent Information Technology","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-02-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2022 7th International Conference on Intelligent Information Technology","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3524889.3524903","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
In recent years, vulnerability mining is a hot topic. Existing vulnerability mining methods of binary program are mainly based on fuzzy testing. These methods discover vulnerabilities by continuously inputting random data into the target program, in order to trigger the binary program's errors. However, the vulnerability output of these methods mainly depends on the input random data. The coverage rate of program execution path is low in these methods. In order to improve the coverage rate of program execution path and discover more unknown vulnerabilities, this paper presents an automatic vulnerability mining system based on symbolic execution. This system discovers vulnerabilities by performing constraint check on each execution path of the binary program. This system contains five modules, and each module is responsible for mining a type of vulnerabilities. This system has been developed based on the Python's Angr module. An experiment based on test programs is conducted to evaluate this system. The experimental results validate the effectiveness of this system. The experiment results also show that this system can discover most of the binary program's execution paths.