Bounded model checking (BMC) and fuzzing techniques are among the most effective methods for detecting errors and security vulnerabilities in software. However, there are still shortcomings in detecting these errors due to the inability of existent methods to cover large areas in target code. We propose FuSeBMC v4, a test generator that synthesizes seeds with useful properties, that we refer to as smart seeds, to improve the performance of its hybrid fuzzer thereby achieving high C program coverage. FuSeBMC works by first analyzing and incrementally injecting goal labels into the given C program to guide BMC and Evolutionary Fuzzing engines. After that, the engines are employed for an initial period to produce the so-called smart seeds. Finally, the engines are run again, with these smart seeds as starting seeds, in an attempt to achieve maximum code coverage / find bugs. During both seed generation and normal running, coordination between the engines is aided by the Tracer subsystem. This subsystem carries out additional coverage analysis and updates a shared memory with information on goals covered so far. Furthermore, the Tracer evaluates test cases dynamically to convert cases into seeds for subsequent test fuzzing. Thus, the BMC engine can provide the seed that allows the fuzzing engine to bypass complex mathematical guards (e.g., input validation). As a result, we received three awards for participation in the fourth international competition in software testing (Test-Comp 2022), outperforming all state-of-the-art tools in every category, including the coverage category.


翻译:有界模型检验(BMC)与模糊测试技术是软件错误及安全漏洞检测中最有效的方法之一。然而,由于现有方法无法覆盖目标代码中的大面积区域,这些错误的检测仍存在不足。我们提出FuSeBMC v4,一种通过合成具有有用属性的种子(我们将其称为"智能种子")来提升混合模糊测试器性能,从而实现对C程序高覆盖率的测试生成器。FuSeBMC的工作流程包括:首先分析并逐步向给定C程序中注入目标标签,以引导BMC与进化模糊测试引擎;随后,引擎在初始阶段运行以产生所谓的智能种子;最后,引擎重新以这些智能种子作为初始种子运行,旨在实现最大代码覆盖率或发现缺陷。在种子生成与常规运行过程中,引擎间的协调由追踪器子系统辅助完成。该子系统执行额外的覆盖率分析,并更新存储已覆盖目标信息的共享内存。此外,追踪器动态评估测试用例,将其转化为后续模糊测试的种子。由此,BMC引擎可提供使模糊测试引擎绕过复杂数学守卫(如输入验证)的种子。最终,我们在第四届国际软件测试竞赛(Test-Comp 2022)中获得三项参赛奖项,在包括覆盖率类别在内的所有类别中均优于所有现有先进工具。

0
下载
关闭预览

相关内容

《工程》是中国工程院(CAE)于2015年推出的国际开放存取期刊。其目的是提供一个高水平的平台,传播和分享工程研发的前沿进展、当前主要研究成果和关键成果;报告工程科学的进展,讨论工程发展的热点、兴趣领域、挑战和前景,在工程中考虑人与环境的福祉和伦理道德,鼓励具有深远经济和社会意义的工程突破和创新,使之达到国际先进水平,成为新的生产力,从而改变世界,造福人类,创造新的未来。 期刊链接:https://www.sciencedirect.com/journal/engineering
最新《Transformers模型》教程,64页ppt
专知会员服务
326+阅读 · 2020年11月26日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
82+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
RL解决'BipedalWalkerHardcore-v2' (SOTA)
CreateAMind
31+阅读 · 2019年7月17日
Github项目推荐 | PyTorch 中文手册 (pytorch handbook)
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Arxiv
11+阅读 · 2018年7月31日
VIP会员
最新内容
《多域战场上反制小型无人机系统》150页
专知会员服务
8+阅读 · 今天7:47
战场人工智能:增强陆地作战能力的发现与要求
专知会员服务
2+阅读 · 今天7:37
以人工智能为中心的指挥控制
专知会员服务
1+阅读 · 今天7:14
《基于深度强化学习的反无人机技术研究》178页
专知会员服务
10+阅读 · 6月10日
“史诗怒火”行动与“AI中心战”模式的浮现
专知会员服务
10+阅读 · 6月10日
【CVPR2026教程】扩散模型的解析理解
专知会员服务
5+阅读 · 6月10日
马赛克战:俄乌战场透析
专知会员服务
16+阅读 · 6月10日
相关资讯
相关基金
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员