论文标题

FuseBMC V4:通过BMC,模糊和静态分析改善智能种子的代码覆盖范围

FuSeBMC v4: Improving code coverage with smart seeds via BMC, fuzzing and static analysis

论文作者

Alshmrany, Kaled M., Aldughaim, Mohannad, Bhayat, Ahmed, Cordeiro, Lucas C.

论文摘要

有限的模型检查(BMC)和模糊技术是检测软件中错误和安全漏洞的最有效方法。但是,由于现有的方法无法涵盖目标代码中的大面积,仍存在检测这些错误的缺点。我们提出了FuseBMC V4,这是一种测试生成器,该测试生成器将种子与有用的特性合成,我们称为智能种子,以提高其混合模糊器的性能,从而实现高C程序的覆盖范围。 FuseBMC通过首先分析和逐步将目标标签注入给定的C程序来指导BMC和进化模糊引擎。之后,将发动机用于初始阶段来生产所谓的智能种子。最后,这些发动机再次运行,这些智能种子是启动种子,以实现最大的代码覆盖 /查找错误。在种子产生和正常运行期间,示踪剂子系统有助于发动机之间的协调。该子系统将进行其他覆盖范围分析,并更新共享内存,并提供有关迄今为止涵盖的目标的信息。此外,示踪剂会动态评估测试用例,以将病例转换为种子,以进行后续测试模糊。因此,BMC发动机可以提供允许模糊发动机绕过复杂数学警卫的种子(例如,输入验证)。结果,我们获得了参加第四次国际软件测试竞赛(Test-Comp 2022)的奖项,表现优于每个类别中的所有最新工具,包括覆盖范围类别。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源