Program static analysis is of great value of source code software vulnerability detection, but it is often limited by scalability bottlenecks. Constraint solvers are inefficient due to complex program dependencies on millions of lines of program source code. A single solver is difficult to get the balance between the accuracy and the time cost. This paper discusses the program dependence and constraint solving of static value-flow analysis, and specifically implements a solver rating system based on static taint analysis, which selects the most efficient solver for program dependence of critical path to reduce the false-positives and time cost of static vulnerability detection. Through testing for Juliet test sets and several real-world projects, we found that the overall performance of the system was better than other single SMT solvers or default scheduling strategies.
Fuzz testing technology is widely used in vulnerability mining. However, there is less research on fuzz testing specifically for libraries. Both public libraries and private libraries that come with commercial software may have security risks. In the past, testing a library required manual writing of drivers, which required testers to be familiar with the library and take a lot of time. Existing techniques mostly rely on static analysis of source code or focus on binary libraries which rely on header files, but no research in the case without header files and symbol information. In that case, there is faced with three major problems: 1) We do not have accurate information (such as the number and types of function parameters) about library functions. 2) The control and data dependencies among API functions are complex. 3) Effectively integrate the information to automatically generate a driver that can correctly perform fuzz testing. We propose AutoGenD to address the problem for libraries without source code, header files, and symbol information. First of all, we obtain the library function information based on the static analysis technology. Then, we obtain the data of the library function parameters through dynamic analysis technology. Finally, we take the template method to synthesize the driver. Through experiments, the driver generated by AutoGenD can effectively trigger existing vulnerabilities (11 bugs). The results indicate that it has the ability to automatically generate a fuzz driver.
Access to the requested content is limited to institutions that have purchased or subscribe to SPIE eBooks.
You are receiving this notice because your organization may not have SPIE eBooks access.*
*Shibboleth/Open Athens users─please
sign in
to access your institution's subscriptions.
To obtain this item, you may purchase the complete book in print or electronic format on
SPIE.org.
INSTITUTIONAL Select your institution to access the SPIE Digital Library.
PERSONAL Sign in with your SPIE account to access your personal subscriptions or to use specific features such as save to my library, sign up for alerts, save searches, etc.