z-logo
open-access-imgOpen Access
Binary Fuzz Testing Method Based on LSTM
Author(s) -
Xiyue Yuan,
Limin Pan,
Senlin Luo
Publication year - 2019
Publication title -
iop conference series. materials science and engineering
Language(s) - English
Resource type - Journals
eISSN - 1757-899X
pISSN - 1757-8981
DOI - 10.1088/1757-899x/612/3/032192
Subject(s) - fuzz testing , computer science , path (computing) , binary number , code coverage , code (set theory) , test data , filter (signal processing) , path expression , software , algorithm , data mining , programming language , mathematics , arithmetic , set (abstract data type) , query language , computer vision
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.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here