A Taint Based Approach for Smart Fuzzing
- 1 April 2012
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE) in 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation
- p. 818-825
- https://doi.org/10.1109/icst.2012.182
Abstract
Fuzzing is one of the most popular test-based software vulnerability detection techniques. It consists in running the target application with dedicated inputs in order to exhibit potential failures that could be exploited by a malicious user. In this paper we propose a global approach for fuzzing, addressing the main challenges to be faced in an industrial context: large-size applications, without source code access, and with a partial knowledge of the input specifications. This approach integrates several successive steps, and we mostly focus here on an important one which relies on binary-level dynamic taint analysis. We summarize the main problems to be addressed in this step, and we detail the solution we implemented to solve them.Keywords
This publication has 15 references indexed in Scilit:
- Finding Software Vulnerabilities by Smart FuzzingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- TaintEraserACM SIGOPS Operating Systems Review, 2011
- All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask)Published by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability DetectionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- BitBlaze: A New Approach to Computer Security via Binary AnalysisLecture Notes in Computer Science, 2008
- Detecting Communication Protocol Security Flaws by Formal Fuzz Testing and Machine LearningLecture Notes in Computer Science, 2008
- DytanPublished by Association for Computing Machinery (ACM) ,2007
- An empirical study of the robustness of MacOS applications using random testingPublished by Association for Computing Machinery (ACM) ,2006
- Automated robustness testing of off-the-shelf software componentsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1998
- An empirical study of the reliability of UNIX utilitiesCommunications of the ACM, 1990