Vulnerability detection method based on function and branch coverage in combination with neural network
A technology of vulnerability detection and neural network, which is applied in the direction of neural learning method, biological neural network model, neural architecture, etc., can solve problems such as dependence on the solving ability and efficiency of constraint solvers, and program state explosion, so as to alleviate the problem of path explosion and improve Execution efficiency and the effect of improving the problem of blind mutation
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0038] Such as figure 1 As shown, the vulnerability detection method based on function and branch coverage combined with neural network includes:
[0039] S1. Obtain a program to be tested for vulnerability detection.
[0040] S2. Fuzzing the program to be tested, and monitoring the coverage information of functions and branches during the fuzzing process. Generally, the coverage information of the functions and branches is recorded while monitoring the coverage information of the functions and branches.
[0041] In some embodiments, the fuzzing is machine learning based fuzzing. Specifically, the coverage-oriented LSTM RNN neural network training guides the mutation strategy of the fuzzing test; that is, through the neural network of machine learning, the random number generation of each fuzzer that needs to be tested is reduced, and the accuracy is improved. Rate. Compared with the traditional fuzz test, the fuzz test based on machine learning reduces the blindness of mu...
Embodiment 2
[0049] Such as image 3 As shown, the vulnerability detection method based on function and branch coverage combined with neural network includes:
[0050] S´1. Obtain the program under test to perform vulnerability detection.
[0051] S´2. Fuzz the program to be tested, and monitor the coverage information of functions and branches during the fuzzing process. Generally, the coverage information of the functions and branches is recorded while monitoring the coverage information of the functions and branches.
[0052] S´3. Determine whether there are uncovered functions and branches, if there are uncovered functions and branches, execute S´4, otherwise execute S´8.
[0053] S´4. Obtain the instrumentation source code through disassembly and instrumentation technology.
[0054] S´5. Use instrumented source code to guide mixed symbolic execution to explore uncovered functions and branches, and use instrumented source code to guide mixed symbolic execution to solve uncovered fun...
Embodiment 3
[0060] Such as Figure 4 As shown, the vulnerability detection method based on function and branch coverage combined with neural network includes:
[0061] S´´1. Obtain the program under test to perform vulnerability detection.
[0062] S´´2. Compile the source code of the program to be tested to generate a binary program.
[0063] S´´3. Fuzz the program under test, and monitor the coverage information of functions and branches during the fuzzing process. Generally, the coverage information of the functions and branches is recorded while monitoring the coverage information of the functions and branches.
[0064] S´´4. Determine whether there are uncovered functions and branches, if there are uncovered functions and branches, execute S´´5, otherwise execute S´´9.
[0065] S´´5. Update the source code of uncovered functions and branches by instrumentation.
[0066] S´´6. Use the updated source code to guide mixed symbolic execution to explore uncovered functions and branches...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 


