Font Size: a A A

Research On The Key Technology Of High Efficient Parallel Fuzzing

Posted on:2019-01-13Degree:MasterType:Thesis
Country:ChinaCandidate:Y LiFull Text:PDF
GTID:2428330611993667Subject:Information and Communication Engineering
Abstract/Summary:PDF Full Text Request
With the development of information technology,software security attracts more and more attention.In order to improve the security of software,it is necessary to find the potential vulnerabilities in software through the method of vulnerability detection,and then fix the vulnerabilities.Among many vulnerability detection methods,fuzzing is the most widely used method and It found the largest number of vulnerabilities.It is highly automated and does not require in-depth analysis of software.In order to improve the efficiency of fuzzing,the method of parallelization can be adopted.At present,the parallel fuzzing mainly has the following two problems.The first is that parallelization is mainly aimed at the single-machine with multi-core situation,and there is no test case generation method suitable for parallel multi-host distributed environment.The second is the lack of methods for parallel queue generation and the removal of duplicate crash data.The research objective of this subject is to study the key technology of parallelization of high efficient fuzzing.This paper studies the above two problems existing in the current parallel fuzzing.The main content and research achievements of this paper are as follows:(1)Firstly,this paper proposes a parallel-oriented test case generation method.First of all,the paper makes a preliminary analysis of a target program,and completes the preparation of piling,marking basic blocks and finding basic jumps.Dangerous jumps are then marked.In the process of test case generation,test cases are further screened by finding new basic jumps,and then by the number of times the jump occurs,and stricter standards are adopted for jumps that are marked as dangerous jumps.The biggest advantage of this method is that it is suitable for distributed processing environment.(2)Secondly,this paper proposes a method of synchronization between nodes in a distributed environment.It includes a polling mechanism to deal with the problem of multi-node coordination during test case generation,a queue merge method and crash management method.The polling mechanism is used to coordinate the generation of test cases among nodes.This kind of polling mechanism not only guarantees the random variation of each node under the condition of no interference,but also greatly reduces the repeated testing and improves the overall efficiency of parallel fuzzing.On queue processing,each node selects test cases through the probability priority strategy,forming a dynamic local queue and updating the test case set through the method of queue merging.In terms of crash management,a distributed crash management method is proposed,which is a parallel oriented and effective method.This method can remove the redundancy by identifying new jumps.(3)Finally,a parallel fuzzing system is designed and implemented in this paper.ParalFuzz,a tool for parallel fuzzing of software vulnerabilities in distributed environment,is designed and implemented by using the methods mentioned above.The validity of the tool for parallel fuzzing is verified by experiments...
Keywords/Search Tags:Fuzzing, Parallelization, Test Case Generation, Crash Management, Queue Generation
PDF Full Text Request
Related items