Binary Fuzz Testing Method Based on LSTM

Xiaoxiao Yuan*, Limin Pan, Senlin Luo

*Corresponding author for this work

Research output: Contribution to journalConference articlepeer-review

1 Citation (Scopus)

Abstract

Fuzzing is an effective software testing technique to find bugs. In the binary fuzzing, the attempt of generating test data mainly focuses on the improvement of the mutation algorithm, which lacks further screening of the test data. This paper proposes a binary fuzz testing method based on long short-term memory. This method record the executed path information by QEMU. Then we assign values to different code branches according to the frequency of executed path. The path weights can be calculated. The LSTM model will be trained by test data and the path weights. Finally, we can take the test data as input and filter the data by referring to the path weights. This method can improve the time efficiency of fuzz testing. Experiments on a variety of different types of binary programs show that compared to the state-of-the-art fuzzer American fuzzy lop, this method achieves higher code coverage and time efficiency in the same time.

Original languageEnglish
Article number032192
JournalIOP Conference Series: Materials Science and Engineering
Volume612
Issue number3
DOIs
Publication statusPublished - 21 Oct 2019
Event2019 6th International Conference on Advanced Composite Materials and Manufacturing Engineering, ACMME 2019 - Xishuangbanna, Yunnan, China
Duration: 22 Jun 201923 Jun 2019

Fingerprint

Dive into the research topics of 'Binary Fuzz Testing Method Based on LSTM'. Together they form a unique fingerprint.

Cite this