模糊测试
计算机科学
象征性执行
软件
软件错误
解析
测试用例
脆弱性(计算)
静态分析
安全漏洞
程序理解
软件工程
软件安全保证
人工智能
机器学习
程序设计语言
计算机安全
软件系统
信息安全
回归分析
保安服务
作者
Sanoop Mallissery,Yu‐Sung Wu
摘要
Massive software applications possess complex data structures or parse complex data structures; in such cases, vulnerabilities in the software become inevitable. The vulnerabilities are the source of cyber-security threats, and discovering this before the software deployment is challenging. Fuzzing is a vulnerability discovery solution that resonates with random-mutation, feedback-driven, coverage-guided, constraint-guided, seed-scheduling, and target-oriented strategies. Each technique is wrapped beneath the black-, white-, and grey-box fuzzers to uncover diverse vulnerabilities. It consists of methods such as identifying structural information about the test cases to detect security vulnerabilities, symbolic and concrete program states to explore the unexplored locations, and full semantics of code coverage to create new test cases. We methodically examine each kind of fuzzers and contemporary fuzzers with a profound observation that addresses various research questions and systematically reviews and analyze the gaps and their solutions. Our survey comprised the recent related works on fuzzing techniques to demystify the fuzzing methods concerning the application domains and the target that, in turn, achieves higher code coverage and sound vulnerability detection.
科研通智能强力驱动
Strongly Powered by AbleSci AI