Directed Fuzzing Based on Dynamic Taint Analysis for Binary Software

Article Preview

Abstract:

Traditional Fuzzing is simple and easy to deploy but inefficient due to different inputs usually execute the redundant path. In this paper, we put forward a binary-oriented Fuzzing technique based on input format analysis and dynamic taint analysis, which can detect vulnerability more efficient than traditional Fuzzing method. We implemented a prototype system called Smart and Directed Fuzz (SDFuzz), which first searches the locations where interested functions are called, then uses dynamic taint analysis technique to classify input data into safety-related data and safety-unrelated data, finally mutates safety-related data to direct the test procedure. The evaluation shows that our method can be used to detect vulnerabilities in binary software efficiently.

You might also be interested in these eBooks

Info:

Periodical:

Pages:

539-545

Citation:

Online since:

June 2014

Export:

Price:

Permissions CCC:

Permissions PLS:

Сopyright:

© 2014 Trans Tech Publications Ltd. All Rights Reserved

Share:

Citation:

* - Corresponding Author

[1] Ozment A. Vulnerability discovery & software security[J]. University of Cambridge Computer Laboratory Computer Security Group &Magdalene College, (2007).

Google Scholar

[2] Liu B, Shi L, Cai Z, et al. Software vulnerability discovery techniques: A survey[C]/Multimedia Information Networking and Security (MINES), 2012 Fourth International Conference on. IEEE, 2012: 152-156.

DOI: 10.1109/mines.2012.202

Google Scholar

[3] Sutton M, Greene A, Amini P. Fuzzing: brute force vulnerability discovery[M]. Pearson Education, (2007).

Google Scholar

[4] Godefroid P, Levin M Y, Molnar D. Sage: Whitebox fuzzing for security testing[J]. Queue, 2012, 10(1): 20.

DOI: 10.1145/2090147.2094081

Google Scholar

[5] Bekrar S, Bekrar C, Groz R, et al. Finding software vulnerabilities by smart fuzzing[C]/Software Testing, Verification and Validation (ICST), 2011 IEEE Fourth International Conference on. IEEE, 2011: 427-430.

DOI: 10.1109/icst.2011.48

Google Scholar

[6] Kaner C, Bond W P. Software engineering metrics: What do they measure and how do we know [J]. Methodology, 2004, 8: 6.

Google Scholar

[7] Schwartz E J, Avgerinos T, Brumley D. All you ever wanted to know about dynamic taint analysis and forward symbolic execution [C]. Security and Privacy (SP), 2010 IEEE Symposium on. IEEE, 2010: 317-331.

DOI: 10.1109/sp.2010.26

Google Scholar

[8] Lin Z, Jiang X, Xu D, et al. Automatic Protocol Format Reverse Engineering through Context-Aware Monitored Execution[C]. NDSS. 2008, 8: 1-15.

Google Scholar

[9] Lin Z, Zhang X, Xu D. Reverse engineering input syntactic structure from program execution and its applications [J]. Software Engineering, IEEE Transactions on, 2010, 36(5): 688-703.

DOI: 10.1109/tse.2009.54

Google Scholar

[10] Caballero J, Yin H, Liang Z, et al. Polyglot: Automatic extraction of protocol message format using dynamic binary analysis[C]. Proceedings of the 14th ACM conference on Computer and communications security. ACM, 2007: 317-329.

DOI: 10.1145/1315245.1315286

Google Scholar

[11] Song D, Brumley D, Yin H, et al. BitBlaze: Binary Analysis for Computer Security[J]. (2013).

Google Scholar

[12] Antiparser: http: /antiparser. sourceforge. net.

Google Scholar

[13] Amini P. PaiMei-Reverse Engineering Framework[C]/Reverse Engineering Conference, (RECON). (2006).

Google Scholar