Affiliation:
1. College of Electronic Engineering, National University of Defense Technology, Hefei 230037, China
2. Anhui Province Key Laboratory of Cyberspace Security Situation Awareness and Evaluation, Hefei 230037, China
Abstract
Fuzz testing technology is an important approach to detecting SQL injection vulnerabilities. Among them, coverage-guided gray-box fuzz testing technology is the current research focus, and has been proved to be an effective method. However, for SQL injection vulnerability, coverage-guided gray-box fuzz testing as a detection method has the problems of low efficiency and high false positives. In order to solve the above problems, we propose a potentially vulnerable code-guided gray-box fuzz testing technology. Firstly, taint analysis technology is used to locate all the taint propagation paths containing potential vulnerabilities as potentially vulnerable codes. Then, the source code of the application program is instrumented according to the location of the potentially vulnerable code. Finally, the feedback of seeds during the run is used to guide seed selection and seed mutation, and a large number of test cases are generated. Based on the above techniques, we implement the sqlFuzz prototype system, and use this system to analyze eight modern PHP applications. The experimental results show that sqlFuzz can not only detect more SQL injection vulnerabilities than the existing coverage-guided gray box fuzz testing technology, but also significantly improve the efficiency, in terms of time efficiency increased by 80 percent.
Reference32 articles.
1. Johnson, B., Song, Y., Murphy-Hill, E., and Bowdidge, R. (2013, January 18–26). Why don’t software developers use static analysis tools to find bugs?. Proceedings of the 2013 35th International Conference on Software Engineering (ICSE), San Francisco, CA, USA.
2. Alhuzali, A., Eshete, B., Gjomemo, R., and Venkatakrishnan, V. (2016, January 24–28). Chainsaw: Chained automated workflow-based exploit generation. Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria.
3. Finding bugs in web applications using dynamic test generation and explicit-state model checking;Artzi;IEEE Trans. Softw. Eng.,2010
4. Seal, S.M. (2016). Optimizing Web Application fuzzing with Genetic Algorithms and Language Theory, Wake Forest University.
5. Smart greybox fuzzing;Pham;IEEE Trans. Softw. Eng.,2019