页眉
计算机科学
模糊测试
源代码
功能(生物学)
符号(正式)
编码(集合论)
数据挖掘
软件
集合(抽象数据类型)
操作系统
程序设计语言
计算机网络
进化生物学
生物
作者
Ceming Wan,Qi Zhong,Shuning Wei,Yong Tang
摘要
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.
科研通智能强力驱动
Strongly Powered by AbleSci AI